mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
[LV] Ignore more debug info.
We can avoid doing some unnecessary work by skipping debug instructions in a few loops. It also helps to ensure debug instructions do not prevent vectorization, although I do not have any concrete test cases for that. Reviewers: rengolin, hsaito, dcaballe, aprantl, vsk Reviewed By: rengolin, dcaballe Differential Revision: https://reviews.llvm.org/D53091 llvm-svn: 344232
This commit is contained in:
parent
33073994e4
commit
8d61d25682
@ -4655,7 +4655,7 @@ LoopVectorizationCostModel::getSmallestAndWidestTypes() {
|
||||
// For each block.
|
||||
for (BasicBlock *BB : TheLoop->blocks()) {
|
||||
// For each instruction in the loop.
|
||||
for (Instruction &I : *BB) {
|
||||
for (Instruction &I : BB->instructionsWithoutDebug()) {
|
||||
Type *T = I.getType();
|
||||
|
||||
// Skip ignored values.
|
||||
@ -4893,7 +4893,7 @@ LoopVectorizationCostModel::calculateRegisterUsage(ArrayRef<unsigned> VFs) {
|
||||
|
||||
unsigned Index = 0;
|
||||
for (BasicBlock *BB : make_range(DFS.beginRPO(), DFS.endRPO())) {
|
||||
for (Instruction &I : *BB) {
|
||||
for (Instruction &I : BB->instructionsWithoutDebug()) {
|
||||
IdxToInstr[Index++] = &I;
|
||||
|
||||
// Save the end location of each USE.
|
||||
|
Loading…
Reference in New Issue
Block a user