Home
last modified time | relevance | path

Searched refs:LVI (Results 1 – 25 of 42) sorted by relevance

12

/external/llvm-project/llvm/lib/Transforms/Scalar/
DCorrelatedValuePropagation.cpp128 static bool processSelect(SelectInst *S, LazyValueInfo *LVI) { in processSelect() argument
132 Constant *C = LVI->getConstant(S->getCondition(), S); in processSelect()
158 static bool simplifyCommonValuePhi(PHINode *P, LazyValueInfo *LVI, in simplifyCommonValuePhi() argument
191 if (C != LVI->getConstantOnEdge(CommonValue, IncomingBB, ToBB, P)) in simplifyCommonValuePhi()
210 static bool processPHI(PHINode *P, LazyValueInfo *LVI, DominatorTree *DT, in processPHI() argument
219 Value *V = LVI->getConstantOnEdge(Incoming, P->getIncomingBlock(i), BB, P); in processPHI()
231 if (Constant *C = LVI->getConstantOnEdge( in processPHI()
251 if (LVI->getPredicateOnEdge(ICmpInst::ICMP_EQ, SI, C, in processPHI()
272 Changed = simplifyCommonValuePhi(P, LVI, DT); in processPHI()
280 static bool processMemAccess(Instruction *I, LazyValueInfo *LVI) { in processMemAccess() argument
[all …]
DJumpThreading.cpp316 auto LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); in runOnFunction() local
327 bool Changed = Impl.runImpl(F, TLI, LVI, AA, &DTU, F.hasProfileData(), in runOnFunction()
331 LVI->printLVI(F, DTU.getDomTree(), dbgs()); in runOnFunction()
340 auto &LVI = AM.getResult<LazyValueAnalysis>(F); in run() local
352 bool Changed = runImpl(F, &TLI, &LVI, &AA, &DTU, F.hasProfileData(), in run()
357 LVI.printLVI(F, DTU.getDomTree(), dbgs()); in run()
376 LVI = LVI_; in runImpl()
442 LVI->eraseBlock(&BB); in runImpl()
463 LVI->eraseBlock(&BB); in runImpl()
671 Constant *PredCst = LVI->getConstantOnEdge(V, P, BB, CxtI); in computeValueKnownInPredecessorsImpl()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DCorrelatedValuePropagation.cpp126 static bool processSelect(SelectInst *S, LazyValueInfo *LVI) { in processSelect() argument
130 Constant *C = LVI->getConstant(S->getCondition(), S->getParent(), S); in processSelect()
160 static bool simplifyCommonValuePhi(PHINode *P, LazyValueInfo *LVI, in simplifyCommonValuePhi() argument
193 if (C != LVI->getConstantOnEdge(CommonValue, IncomingBB, ToBB, P)) in simplifyCommonValuePhi()
212 static bool processPHI(PHINode *P, LazyValueInfo *LVI, DominatorTree *DT, in processPHI() argument
221 Value *V = LVI->getConstantOnEdge(Incoming, P->getIncomingBlock(i), BB, P); in processPHI()
233 if (Constant *C = LVI->getConstantOnEdge( in processPHI()
253 if (LVI->getPredicateOnEdge(ICmpInst::ICMP_EQ, SI, C, in processPHI()
274 Changed = simplifyCommonValuePhi(P, LVI, DT); in processPHI()
282 static bool processMemAccess(Instruction *I, LazyValueInfo *LVI) { in processMemAccess() argument
[all …]
DJumpThreading.cpp304 auto LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); in runOnFunction() local
315 bool Changed = Impl.runImpl(F, TLI, LVI, AA, &DTU, F.hasProfileData(), in runOnFunction()
319 LVI->printLVI(F, *DT, dbgs()); in runOnFunction()
330 auto &LVI = AM.getResult<LazyValueAnalysis>(F); in run() local
342 bool Changed = runImpl(F, &TLI, &LVI, &AA, &DTU, F.hasProfileData(), in run()
361 LVI = LVI_; in runImpl()
412 LVI->eraseBlock(&BB); in runImpl()
430 LVI->eraseBlock(&BB); in runImpl()
440 LVI->enableDT(); in runImpl()
632 LVI->disableDT(); in ComputeValueKnownInPredecessorsImpl()
[all …]
/external/llvm/lib/Transforms/Scalar/
DCorrelatedValuePropagation.cpp71 static bool processSelect(SelectInst *S, LazyValueInfo *LVI) { in processSelect() argument
75 Constant *C = LVI->getConstant(S->getOperand(0), S->getParent(), S); in processSelect()
94 static bool processPHI(PHINode *P, LazyValueInfo *LVI) { in processPHI() argument
102 Value *V = LVI->getConstantOnEdge(Incoming, P->getIncomingBlock(i), BB, P); in processPHI()
114 if (Constant *C = LVI->getConstantOnEdge( in processPHI()
134 if (LVI->getPredicateOnEdge(ICmpInst::ICMP_EQ, SI, C, in processPHI()
162 static bool processMemAccess(Instruction *I, LazyValueInfo *LVI) { in processMemAccess() argument
171 Constant *C = LVI->getConstant(Pointer, I->getParent(), I); in processMemAccess()
183 static bool processCmp(CmpInst *C, LazyValueInfo *LVI) { in processCmp() argument
198 LVI->getPredicateAt(C->getPredicate(), Op0, Op1, C); in processCmp()
[all …]
DJumpThreading.cpp123 auto LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); in runOnFunction() local
132 return Impl.runImpl(F, TLI, LVI, HasProfileData, std::move(BFI), in runOnFunction()
140 auto &LVI = AM.getResult<LazyValueAnalysis>(F); in run() local
150 runImpl(F, &TLI, &LVI, HasProfileData, std::move(BFI), std::move(BPI)); in run()
170 LVI = LVI_; in runImpl()
189 EverChanged |= removeUnreachableBlocks(F, LVI); in runImpl()
211 LVI->eraseBlock(BB); in runImpl()
239 LVI->eraseBlock(BB); in runImpl()
418 Constant *PredCst = LVI->getConstantOnEdge(V, P, BB, CxtI); in ComputeValueKnownInPredecessors()
433 Constant *CI = LVI->getConstantOnEdge(InVal, in ComputeValueKnownInPredecessors()
[all …]
/external/llvm/lib/CodeGen/
DSplitKit.cpp192 LiveInterval::const_iterator LVI = CurLI->begin(); in calcLiveBlockInfo() local
201 LIS.getMBBFromIndex(LVI->start)->getIterator(); in calcLiveBlockInfo()
216 if (LVI->end < Stop) in calcLiveBlockInfo()
228 BI.LiveIn = LVI->start <= Start; in calcLiveBlockInfo()
232 assert(LVI->start == LVI->valno->def && "Dangling Segment start"); in calcLiveBlockInfo()
233 assert(LVI->start == BI.FirstInstr && "First instr should be a def"); in calcLiveBlockInfo()
239 while (LVI->end < Stop) { in calcLiveBlockInfo()
240 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo()
241 if (++LVI == LVE || LVI->start >= Stop) { in calcLiveBlockInfo()
247 if (LastStop < LVI->start) { in calcLiveBlockInfo()
[all …]
/external/llvm-project/llvm/lib/Transforms/Utils/
DLowerSwitch.cpp347 AssumptionCache *AC, LazyValueInfo *LVI) { in ProcessSwitchInst() argument
403 const ConstantRange LVIRange = LVI->getConstantRange(Val, SI); in ProcessSwitchInst()
525 bool LowerSwitch(Function &F, LazyValueInfo *LVI, AssumptionCache *AC) { in LowerSwitch() argument
540 ProcessSwitchInst(SI, DeleteList, AC, LVI); in LowerSwitch()
545 LVI->eraseBlock(BB); in LowerSwitch()
589 LazyValueInfo *LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); in runOnFunction() local
592 return LowerSwitch(F, LVI, AC); in runOnFunction()
597 LazyValueInfo *LVI = &AM.getResult<LazyValueAnalysis>(F); in run() local
599 return LowerSwitch(F, LVI, AC) ? PreservedAnalyses::none() in run()
/external/llvm-project/llvm/lib/CodeGen/
DSplitKit.cpp212 LiveInterval::const_iterator LVI = CurLI->begin(); in calcLiveBlockInfo() local
221 LIS.getMBBFromIndex(LVI->start)->getIterator(); in calcLiveBlockInfo()
236 if (LVI->end < Stop) in calcLiveBlockInfo()
248 BI.LiveIn = LVI->start <= Start; in calcLiveBlockInfo()
252 assert(LVI->start == LVI->valno->def && "Dangling Segment start"); in calcLiveBlockInfo()
253 assert(LVI->start == BI.FirstInstr && "First instr should be a def"); in calcLiveBlockInfo()
259 while (LVI->end < Stop) { in calcLiveBlockInfo()
260 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo()
261 if (++LVI == LVE || LVI->start >= Stop) { in calcLiveBlockInfo()
267 if (LastStop < LVI->start) { in calcLiveBlockInfo()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DSplitKit.cpp217 LiveInterval::const_iterator LVI = CurLI->begin(); in calcLiveBlockInfo() local
226 LIS.getMBBFromIndex(LVI->start)->getIterator(); in calcLiveBlockInfo()
241 if (LVI->end < Stop) in calcLiveBlockInfo()
253 BI.LiveIn = LVI->start <= Start; in calcLiveBlockInfo()
257 assert(LVI->start == LVI->valno->def && "Dangling Segment start"); in calcLiveBlockInfo()
258 assert(LVI->start == BI.FirstInstr && "First instr should be a def"); in calcLiveBlockInfo()
264 while (LVI->end < Stop) { in calcLiveBlockInfo()
265 SlotIndex LastStop = LVI->end; in calcLiveBlockInfo()
266 if (++LVI == LVE || LVI->start >= Stop) { in calcLiveBlockInfo()
272 if (LastStop < LVI->start) { in calcLiveBlockInfo()
[all …]
/external/llvm/include/llvm/Transforms/Scalar/
DJumpThreading.h61 LazyValueInfo *LVI; variable
90 : TLI(Other.TLI), LVI(Other.LVI), BFI(std::move(Other.BFI)), in JumpThreadingPass()
/external/llvm-project/llvm/test/Analysis/LazyValueAnalysis/
Dlvi-after-jumpthreading.ll4 ; Testing LVI cache after jump-threading
12 ; CHECK-LABEL: LVI for function 'test1':
48 ; CHECK-LABEL: LVI for function 'test2':
106 ; LVI info as LVI info for the beginning of do block. LVI info for %i is Range[0,1)
109 ; CHECK-LABEL: LVI for function 'test3':
153 ; When we do so, LVI for cont cannot be the one for the merged do block.
155 ; CHECK-LABEL: LVI for function 'test4':
Dinvalidation.ll2 ; away. Sadly, you can neither print nor verify LVI so we just have to require
/external/llvm-project/llvm/test/CodeGen/X86/
Dlvi-hardening-inline-asm.ll88 ; WARN: warning: Instruction may be vulnerable to LVI
95 ; WARN: warning: Instruction may be vulnerable to LVI
102 ; WARN: warning: Instruction may be vulnerable to LVI
120 ; WARN: warning: Instruction may be vulnerable to LVI
127 ; WARN: warning: Instruction may be vulnerable to LVI
134 ; WARN: warning: Instruction may be vulnerable to LVI
DO0-pipeline.ll71 ; CHECK-NEXT: X86 Load Value Injection (LVI) Ret-Hardening
Dopt-pipeline.ll152 ; CHECK-NEXT: X86 Load Value Injection (LVI) Load Hardening
199 ; CHECK-NEXT: X86 Load Value Injection (LVI) Ret-Hardening
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DLowerSwitch.cpp104 AssumptionCache *AC, LazyValueInfo *LVI);
148 LazyValueInfo *LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI(); in runOnFunction() local
157 LVI->disableDT(); in runOnFunction()
172 processSwitchInst(SI, DeleteList, AC, LVI); in runOnFunction()
177 LVI->eraseBlock(BB); in runOnFunction()
443 AssumptionCache *AC, LazyValueInfo *LVI) { in processSwitchInst() argument
499 const ConstantRange LVIRange = LVI->getConstantRange(Val, OrigBlock, SI); in processSwitchInst()
/external/llvm-project/llvm/test/Transforms/CorrelatedValuePropagation/
Dalloca.ll8 ; CHECK-NOT: LVI Getting edge value %a.i = alloca i64, align 8 at 'for.body'
9 ; CHECK-NOT: LVI Getting edge value %tmp = bitcast i64* %a.i to i8* from 'for.cond' to 'for.body'
/external/llvm-project/llvm/test/Transforms/JumpThreading/
Dthread-cmp.ll2 ; When simplify a branch based on LVI predicates, we should replace the
28 ; but that's a CSE problem, not a LVI/jump threading problem)
/external/llvm/test/Transforms/JumpThreading/
Dthread-cmp.ll2 ; When simplify a branch based on LVI predicates, we should replace the
28 ; but that's a CSE problem, not a LVI/jump threading problem)
/external/llvm-project/llvm/include/llvm/Transforms/Scalar/
DJumpThreading.h81 LazyValueInfo *LVI; variable
102 bool runImpl(Function &F, TargetLibraryInfo *TLI, LazyValueInfo *LVI,
/external/llvm-project/llvm/test/Transforms/GlobalDCE/
Dcrash-assertingvh.ll2 ; like LVI with asserting handles into the body of a function, those don't begin
/external/llvm-project/llvm/test/Transforms/Inline/
Dclear-analyses.ll2 ; as LVI with references back into the IR of a function that the inliner will
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Scalar/
DJumpThreading.h79 LazyValueInfo *LVI; variable
/external/llvm/include/llvm/Transforms/Utils/
DLocal.h312 bool removeUnreachableBlocks(Function &F, LazyValueInfo *LVI = nullptr);

12