mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-27 15:29:51 +00:00
R600/SI: Allow partial unrolling and increase thresholds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213985 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3aa56ba98e
commit
ee17bf3fd4
@ -101,6 +101,12 @@ bool AMDGPUTTI::hasBranchDivergence() const { return true; }
|
|||||||
|
|
||||||
void AMDGPUTTI::getUnrollingPreferences(Loop *L,
|
void AMDGPUTTI::getUnrollingPreferences(Loop *L,
|
||||||
UnrollingPreferences &UP) const {
|
UnrollingPreferences &UP) const {
|
||||||
|
UP.Threshold = 300; // Twice the default.
|
||||||
|
UP.Count = UINT_MAX;
|
||||||
|
UP.Partial = true;
|
||||||
|
|
||||||
|
// TODO: Do we want runtime unrolling?
|
||||||
|
|
||||||
for (const BasicBlock *BB : L->getBlocks()) {
|
for (const BasicBlock *BB : L->getBlocks()) {
|
||||||
for (const Instruction &I : *BB) {
|
for (const Instruction &I : *BB) {
|
||||||
const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I);
|
const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I);
|
||||||
@ -120,7 +126,7 @@ void AMDGPUTTI::getUnrollingPreferences(Loop *L,
|
|||||||
//
|
//
|
||||||
// Don't use the maximum allowed value here as it will make some
|
// Don't use the maximum allowed value here as it will make some
|
||||||
// programs way too big.
|
// programs way too big.
|
||||||
UP.Threshold = 500;
|
UP.Threshold = 800;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user