mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
bc76cbe5461dfa55184d313a1b6d0363388c407f
Before this commit, we assumed that the size of model types could be either smaller, equal or larger than IR types. Hence, the code was designed to take care of all those situations with various workarounds and assertions. Thanks to recent developments, the size of Model types can only be equal to the size of IR types. There are only 2 exceptions to this rule: - the size of SPTARs, that can be larger on the Model than on IR, since on the IR they are returned as pointers, while on the Model they are aggregates; these were already handled properly before this commit. - the size of IR-pointers, since their size in LLVM is target-dependent; before this commit they were handled poorly, using LLVM's DataLayout but not taking into account that the DataLayout is not necessarily the one of the proper target; this commit fixes this, just taking the pointer sizes from the Model, which effectively represents the proper pointer size for what we're handling.
Description
Languages
C++
77.1%
Python
12.6%
MLIR
4.4%
CMake
1.9%
LLVM
1.4%
Other
2.5%