aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorhev <wangrui@loongson.cn>2024-06-06 14:05:56 +0800
committerGitHub <noreply@github.com>2024-06-06 14:05:56 +0800
commit46edc02eaac81bfdace3e1f906751cad114790da (patch)
treef55239fb13999b5d79e63de181feff7c9f2117db /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parentf6c1e65ddfa9e1a07919104be543a1f9eccbb519 (diff)
downloadllvm-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