/external/llvm-project/llvm/test/Transforms/LoopVectorize/ |
D | vect-phiscev-sext-trunc.ll | 6 ; Given a loop with an induction variable which is being 17 ; Case1: Check the following induction pattern: 39 ; we vectorize or scalarize the induction. 40 ; In the case of widened induction, this means that the induction phi 85 ; Case2: Another variant of the above pattern is where the induction variable 87 ; the induction is not vectorized but rather only the step is widened. 89 ; This is the case in the following code, where the induction variable 'w_ix' 107 ; we widen or scalarize the induction. 108 ; In the case of widened induction, this means that the induction phi 152 ; Case3: Lastly, check also the following induction pattern: [all …]
|
D | dead_instructions.ll | 9 ; corresponding to the original induction variable update or branch condition, 47 ; This test ensures that the primary induction is not considered dead when 48 ; acting as the 'add' of another induction, and otherwise feeding only its own 50 ; masking. Such masking uses the primary induction.
|
D | pr38800.ll | 3 ; CHECK: remark: <unknown>:0:0: loop not vectorized: integer loop induction variable could not be i… 8 ; No integral induction variable in the source-code caused a compiler-crash
|
D | infiniteloop.ll | 8 ; We used to assert on this loop because we could not find an induction 11 ; induction variable. This is not a valid assumption:
|
D | i8-induction.ll | 10 ; Check that the induction phis and adds have debug location. 22 %mul16 = phi i8 [ 0, %scalar.ph ], [ %mul, %for.body ] ; <------- i8 induction var.
|
/external/deqp-deps/SPIRV-Tools/source/opt/ |
D | loop_descriptor.cpp | 40 const Instruction* induction) const { in GetInductionStepOperation() 42 assert(induction->opcode() == SpvOpPhi); in GetInductionStepOperation() 49 for (uint32_t operand_id = 1; operand_id < induction->NumInOperands(); in GetInductionStepOperation() 53 context_->cfg()->block(induction->GetSingleWordInOperand(operand_id)); in GetInductionStepOperation() 59 induction->GetSingleWordInOperand(operand_id - 1)); in GetInductionStepOperation() 74 if (lhs != induction->result_id() && rhs != induction->result_id()) { in GetInductionStepOperation() 170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue() argument 175 for (uint32_t operand_id = 0; operand_id < induction->NumInOperands(); in GetInductionInitValue() 178 induction->GetSingleWordInOperand(operand_id + 1)); in GetInductionInitValue() 182 induction->GetSingleWordInOperand(operand_id)); in GetInductionInitValue() [all …]
|
D | loop_unroller.cpp | 92 LoopUnrollState(Instruction* induction, BasicBlock* latch_block, in LoopUnrollState() 94 : previous_phi_(induction), in LoopUnrollState() 790 for (Instruction* induction : inductions) { in CloseUnrolledLoop() 792 GetPhiDefID(induction, loop->GetPreHeaderBlock()->id()); in CloseUnrolledLoop() 794 state_.new_inst[induction->result_id()] = initalizer_id; in CloseUnrolledLoop() 985 const Instruction* induction = loop_->FindConditionVariable(condition); in CanPerformUnroll() local 986 if (!induction || induction->opcode() != SpvOpPhi) return false; in CanPerformUnroll() 989 if (!loop_->FindNumberOfIterations(induction, &*condition->ctail(), nullptr)) in CanPerformUnroll()
|
/external/swiftshader/third_party/SPIRV-Tools/source/opt/ |
D | loop_descriptor.cpp | 40 const Instruction* induction) const { in GetInductionStepOperation() 42 assert(induction->opcode() == SpvOpPhi); in GetInductionStepOperation() 49 for (uint32_t operand_id = 1; operand_id < induction->NumInOperands(); in GetInductionStepOperation() 53 context_->cfg()->block(induction->GetSingleWordInOperand(operand_id)); in GetInductionStepOperation() 59 induction->GetSingleWordInOperand(operand_id - 1)); in GetInductionStepOperation() 74 if (lhs != induction->result_id() && rhs != induction->result_id()) { in GetInductionStepOperation() 170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue() argument 175 for (uint32_t operand_id = 0; operand_id < induction->NumInOperands(); in GetInductionInitValue() 178 induction->GetSingleWordInOperand(operand_id + 1)); in GetInductionInitValue() 182 induction->GetSingleWordInOperand(operand_id)); in GetInductionInitValue() [all …]
|
D | loop_unroller.cpp | 92 LoopUnrollState(Instruction* induction, BasicBlock* latch_block, in LoopUnrollState() 94 : previous_phi_(induction), in LoopUnrollState() 790 for (Instruction* induction : inductions) { in CloseUnrolledLoop() 792 GetPhiDefID(induction, loop->GetPreHeaderBlock()->id()); in CloseUnrolledLoop() 794 state_.new_inst[induction->result_id()] = initalizer_id; in CloseUnrolledLoop() 985 const Instruction* induction = loop_->FindConditionVariable(condition); in CanPerformUnroll() local 986 if (!induction || induction->opcode() != SpvOpPhi) return false; in CanPerformUnroll() 989 if (!loop_->FindNumberOfIterations(induction, &*condition->ctail(), nullptr)) in CanPerformUnroll()
|
/external/angle/third_party/vulkan-deps/spirv-tools/src/source/opt/ |
D | loop_descriptor.cpp | 40 const Instruction* induction) const { in GetInductionStepOperation() 42 assert(induction->opcode() == SpvOpPhi); in GetInductionStepOperation() 49 for (uint32_t operand_id = 1; operand_id < induction->NumInOperands(); in GetInductionStepOperation() 53 context_->cfg()->block(induction->GetSingleWordInOperand(operand_id)); in GetInductionStepOperation() 59 induction->GetSingleWordInOperand(operand_id - 1)); in GetInductionStepOperation() 74 if (lhs != induction->result_id() && rhs != induction->result_id()) { in GetInductionStepOperation() 170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue() argument 175 for (uint32_t operand_id = 0; operand_id < induction->NumInOperands(); in GetInductionInitValue() 178 induction->GetSingleWordInOperand(operand_id + 1)); in GetInductionInitValue() 182 induction->GetSingleWordInOperand(operand_id)); in GetInductionInitValue() [all …]
|
D | loop_unroller.cpp | 92 LoopUnrollState(Instruction* induction, BasicBlock* latch_block, in LoopUnrollState() 94 : previous_phi_(induction), in LoopUnrollState() 790 for (Instruction* induction : inductions) { in CloseUnrolledLoop() 792 GetPhiDefID(induction, loop->GetPreHeaderBlock()->id()); in CloseUnrolledLoop() 794 state_.new_inst[induction->result_id()] = initalizer_id; in CloseUnrolledLoop() 988 const Instruction* induction = loop_->FindConditionVariable(condition); in CanPerformUnroll() local 989 if (!induction || induction->opcode() != SpvOpPhi) return false; in CanPerformUnroll() 992 if (!loop_->FindNumberOfIterations(induction, &*condition->ctail(), nullptr)) in CanPerformUnroll()
|
/external/swiftshader/third_party/SPIRV-Tools/test/opt/loop_optimizations/ |
D | unroll_simple.cpp | 797 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 798 EXPECT_EQ(induction->result_id(), 34u); in TEST_F() 804 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 892 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 893 EXPECT_EQ(induction->result_id(), 35u); in TEST_F() 899 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1289 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 1290 EXPECT_EQ(induction->result_id(), 32u); in TEST_F() 1296 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1460 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local [all …]
|
/external/deqp-deps/SPIRV-Tools/test/opt/loop_optimizations/ |
D | unroll_simple.cpp | 797 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 798 EXPECT_EQ(induction->result_id(), 34u); in TEST_F() 804 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 892 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 893 EXPECT_EQ(induction->result_id(), 35u); in TEST_F() 899 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1289 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 1290 EXPECT_EQ(induction->result_id(), 32u); in TEST_F() 1296 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1460 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local [all …]
|
/external/angle/third_party/vulkan-deps/spirv-tools/src/test/opt/loop_optimizations/ |
D | unroll_simple.cpp | 797 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 798 EXPECT_EQ(induction->result_id(), 34u); in TEST_F() 804 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 892 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 893 EXPECT_EQ(induction->result_id(), 35u); in TEST_F() 899 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1289 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local 1290 EXPECT_EQ(induction->result_id(), 32u); in TEST_F() 1296 EXPECT_TRUE(loop.FindNumberOfIterations(induction, &*condition->ctail(), in TEST_F() 1460 Instruction* induction = loop.FindConditionVariable(condition); in TEST_F() local [all …]
|
/external/llvm-project/llvm/test/Transforms/LoopStrengthReduce/X86/ |
D | nested-loop.ll | 4 ; Check when we use an outerloop induction variable inside of an innerloop 5 ; induction value expr, LSR can still choose to use single induction variable 6 ; for the innerloop and share it in multiple induction value exprs. 64 ; Check LSR only generates two induction variables for for.body2 one for compare and
|
/external/llvm-project/llvm/test/CodeGen/Thumb2/LowOverheadLoops/ |
D | tail-pred-widen.ll | 28 …%induction = add <8 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32… 31 ; %tmp1 = icmp ule <8 x i32> %induction, %broadcast.splat11 59 ; CHECK: %store.pred = icmp ule <4 x i32> %induction.store 88 …%induction = add <8 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32… 91 ; %tmp1 = icmp ule <8 x i32> %induction, %broadcast.splat11 107 %induction.store = add <4 x i32> %broadcast.splat.store, <i32 0, i32 1, i32 2, i32 3> 108 %store.pred = icmp ule <4 x i32> %induction.store, %broadcast.splat11.store 150 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 153 ; %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11
|
D | tail-pred-pattern-fail.ll | 31 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 33 %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11 76 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 78 %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11 121 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 123 %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11 166 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 168 %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11 211 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 213 %tmp1 = icmp ule <4 x i32> %induction, %broadcast.splat11 [all …]
|
D | vector-unroll.ll | 35 …%induction = add <16 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i3… 37 %tmp1 = icmp ule <16 x i32> %induction, %broadcast.splat11 51 …%induction.1 = add <16 x i32> %broadcast.splat.1, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6… 53 %tmp1.1 = icmp ule <16 x i32> %induction.1, %broadcast.splat11 87 …%induction.epil = add <16 x i32> %broadcast.splat.epil, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5,… 89 %tmp1.epil = icmp ule <16 x i32> %induction.epil, %broadcast.splat11
|
D | vector-arith-codegen.ll | 54 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 57 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat12 129 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 132 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat10 200 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 203 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat10 260 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 263 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat9 317 %induction = add <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 320 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat9 [all …]
|
D | extending-loads.ll | 40 …%induction = or <8 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 … 43 ; %1 = icmp ule <8 x i32> %induction, %broadcast.splat11 100 …%induction = or <8 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 … 103 ; %1 = icmp ule <8 x i32> %induction, %broadcast.splat11 160 %induction = or <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 163 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat9 220 %induction = or <4 x i32> %broadcast.splat, <i32 0, i32 1, i32 2, i32 3> 223 ; %1 = icmp ule <4 x i32> %induction, %broadcast.splat9
|
/external/llvm/test/Transforms/LoopVectorize/ |
D | infiniteloop.ll | 8 ; We used to assert on this loop because we could not find an induction 11 ; induction variable. This is not a valid assumption:
|
/external/llvm-project/llvm/test/CodeGen/AArch64/ |
D | arm64-scaled_iv.ll | 16 ; Only one induction variable should have been generated. 22 ; The induction variable should carry the scaling factor: 1 * 8 = 8.
|
/external/llvm/test/CodeGen/AArch64/ |
D | arm64-scaled_iv.ll | 16 ; Only one induction variable should have been generated. 22 ; The induction variable should carry the scaling factor: 1 * 8 = 8.
|
/external/llvm/test/Transforms/LoopUnroll/ |
D | 2011-08-09-IVSimplify.ll | 3 ; Test induction variable simplify after loop unrolling. It should 11 ; PR10534: LoopUnroll not keeping canonical induction variable...
|
/external/llvm-project/llvm/test/Transforms/LoopUnroll/ |
D | 2011-08-09-IVSimplify.ll | 3 ; Test induction variable simplify after loop unrolling. It should 11 ; PR10534: LoopUnroll not keeping canonical induction variable...
|