[PATCH] D58461: [AArch64] Small fix for getIntImmCost
Adhemerval Zanella via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 20 10:07:32 PST 2019
zatrazz created this revision.
zatrazz added reviewers: javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro, rengolin, efriedma.
zatrazz added a project: LLVM.
Herald added a subscriber: kristof.beyls.
This patch takes in consideration immediate that can be materialize
as movz or movn.
Repository:
rL LLVM
https://reviews.llvm.org/D58461
Files:
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Index: lib/Target/AArch64/AArch64TargetTransformInfo.cpp
===================================================================
--- lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+++ lib/Target/AArch64/AArch64TargetTransformInfo.cpp
@@ -45,6 +45,9 @@
if (Val == 0 || AArch64_AM::isLogicalImmediate(Val, 64))
return 0;
+ if (AArch64_AM::isAnyMOVWMovAlias(Val, 64))
+ return 1;
+
if (Val < 0)
Val = ~Val;
@@ -74,8 +77,7 @@
int64_t Val = Tmp.getSExtValue();
Cost += getIntImmCost(Val);
}
- // We need at least one instruction to materialze the constant.
- return std::max(1, Cost);
+ return Cost;
}
int AArch64TTIImpl::getIntImmCost(unsigned Opcode, unsigned Idx,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58461.187608.patch
Type: text/x-patch
Size: 705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190220/660e0b6e/attachment.bin>
More information about the llvm-commits
mailing list