diff options
author | hev <wangrui@loongson.cn> | 2024-06-06 14:05:56 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-06 14:05:56 +0800 |
commit | 46edc02eaac81bfdace3e1f906751cad114790da (patch) | |
tree | f55239fb13999b5d79e63de181feff7c9f2117db /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp | |
parent | f6c1e65ddfa9e1a07919104be543a1f9eccbb519 (diff) | |
download | llvm-46edc02eaac81bfdace3e1f906751cad114790da.zip llvm-46edc02eaac81bfdace3e1f906751cad114790da.tar.gz llvm-46edc02eaac81bfdace3e1f906751cad114790da.tar.bz2 |
[LoongArch] Adjust LA64 data layout by using n32:64 in layout string (#93814)
Although i32 type is illegal in the backend, LA64 has pretty good
support for i32 types by using W instructions.
By adding n32 to the DataLayout string, middle end optimizations will
consider i32 to be a native type. One known effect of this is enabling
LoopStrengthReduce on loops with i32 induction variables. This can be
beneficial because C/C++ code often has loops with i32 induction
variables due to the use of `int` or `unsigned int`.
If this patch exposes performance issues, those are better addressed by
tuning LSR or other passes.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions