Home
last modified time | relevance | path

Searched refs:induction (Results 1 – 25 of 242) sorted by relevance

12345678910

/external/llvm-project/llvm/test/Transforms/LoopVectorize/
Dvect-phiscev-sext-trunc.ll6 ; 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 …]
Ddead_instructions.ll9 ; 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.
Dpr38800.ll3 ; 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
Dinfiniteloop.ll8 ; We used to assert on this loop because we could not find an induction
11 ; induction variable. This is not a valid assumption:
Di8-induction.ll10 ; 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/
Dloop_descriptor.cpp40 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 …]
Dloop_unroller.cpp92 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/
Dloop_descriptor.cpp40 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 …]
Dloop_unroller.cpp92 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/
Dloop_descriptor.cpp40 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 …]
Dloop_unroller.cpp92 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/
Dunroll_simple.cpp797 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/
Dunroll_simple.cpp797 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/
Dunroll_simple.cpp797 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/
Dnested-loop.ll4 ; 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/
Dtail-pred-widen.ll28 …%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
Dtail-pred-pattern-fail.ll31 %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 …]
Dvector-unroll.ll35 …%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
Dvector-arith-codegen.ll54 %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 …]
Dextending-loads.ll40 …%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/
Dinfiniteloop.ll8 ; 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/
Darm64-scaled_iv.ll16 ; 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/
Darm64-scaled_iv.ll16 ; 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/
D2011-08-09-IVSimplify.ll3 ; Test induction variable simplify after loop unrolling. It should
11 ; PR10534: LoopUnroll not keeping canonical induction variable...
/external/llvm-project/llvm/test/Transforms/LoopUnroll/
D2011-08-09-IVSimplify.ll3 ; Test induction variable simplify after loop unrolling. It should
11 ; PR10534: LoopUnroll not keeping canonical induction variable...

12345678910