[all-commits] [llvm/llvm-project] 3bd33c: [NFC?][SCEV][LoopVectorize] Add datalayout to the ...
Roman Lebedev via All-commits
all-commits at lists.llvm.org
Wed Feb 12 01:28:16 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3bd33ccfdf2f5183062e775e99725930bb4e5403
https://github.com/llvm/llvm-project/commit/3bd33ccfdf2f5183062e775e99725930bb4e5403
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2020-02-12 (Wed, 12 Feb 2020)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
Log Message:
-----------
[NFC?][SCEV][LoopVectorize] Add datalayout to the X86/float-induction-x86.ll test
Summary:
Currently, `SCEVExpander::isHighCostExpansionHelper()` has the following logic:
```
if (auto *UDivExpr = dyn_cast<SCEVUDivExpr>(S)) {
// If the divisor is a power of two and the SCEV type fits in a native
// integer (and the LHS not expensive), consider the division cheap
// irrespective of whether it occurs in the user code since it can be
// lowered into a right shift.
if (auto *SC = dyn_cast<SCEVConstant>(UDivExpr->getRHS()))
if (SC->getAPInt().isPowerOf2()) {
if (isHighCostExpansionHelper(UDivExpr->getLHS(), L, At,
BudgetRemaining, TTI, Processed))
return true;
const DataLayout &DL =
L->getHeader()->getParent()->getParent()->getDataLayout();
unsigned Width = cast<IntegerType>(UDivExpr->getType())->getBitWidth();
return DL.isIllegalInteger(Width);
}
```
Since this test does not have a datalayout specified,
`SCEVExpander::isHighCostExpansionHelper()` says that
`[[TMP2:%.*]] = lshr exact i64 [[TMP1]], 5` is high-cost, and didn't perform it.
But future patches will change that logic to solely rely on cost-model,
without any such datalayout checks, so i think it is best to show
that that change is ephemeral, and can already happen without costmodel changes.
Reviewers: reames, fhahn, sanjoy, craig.topper, RKSimon
Reviewed By: RKSimon
Subscribers: javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73717
More information about the All-commits
mailing list