diff options
author | Graham Hunter <graham.hunter@arm.com> | 2023-11-07 10:29:42 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-07 10:29:42 +0000 |
commit | a850dbcc5cf146b071a82812ea8cb29d4feb8709 (patch) | |
tree | 5cf680ce56a15493d374ca83d9345c397c207742 /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | fd4804423be5b1066087556d353581acf05fbc9f (diff) | |
download | llvm-a850dbcc5cf146b071a82812ea8cb29d4feb8709.zip llvm-a850dbcc5cf146b071a82812ea8cb29d4feb8709.tar.gz llvm-a850dbcc5cf146b071a82812ea8cb29d4feb8709.tar.bz2 |
[AArch64] Sink vscale calls into loops for better isel (#70304)
For more recent sve capable CPUs it is beneficial to use the inc*
instruction
to increment a value by vscale (potentially shifted or multiplied) even
in
short loops.
This patch tells codegenprepare to sink appropriate vscale calls into
blocks where they are used so that isel can match them.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index 1878207..fa0c753 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -8230,7 +8230,6 @@ bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) { if (tryUnmergingGEPsAcrossIndirectBr(GEPI, TTI)) { return true; } - return false; } if (FreezeInst *FI = dyn_cast<FreezeInst>(I)) { |