/llvm-project/clang/lib/Analysis/ |
H A D | LiveVariables.cpp | 1 //=- LiveVariables.cpp - Live Variable Analysis for Source CFGs ----------*-==// 13 #include "clang/Analysis/Analyses/LiveVariables.h" 34 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksEndToLiveness; 35 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksBeginToLiveness; 36 llvm::DenseMap<const Stmt *, LiveVariables::LivenessValues> stmtsToLiveness; 40 LiveVariables::LivenessValues 41 merge(LiveVariables::LivenessValues valsA, 42 LiveVariables::LivenessValues valsB); 44 LiveVariables::LivenessValues 45 runOnBlock(const CFGBlock *block, LiveVariables 516 LiveVariables::LiveVariables(void *im) : impl(im) {} LiveVariables() function in LiveVariables [all...] |
H A D | CMakeLists.txt | 23 LiveVariables.cpp
|
/llvm-project/llvm/lib/CodeGen/ |
H A D | LiveVariables.cpp | 1 //===-- LiveVariables.cpp - Live Variable Analysis for Machine Code -------===// 28 #include "llvm/CodeGen/LiveVariables.h" 74 LiveVariables::LiveVariables(MachineFunction &MF) in dump() 79 void LiveVariables::print(raw_ostream &OS) const { in dump() 88 LiveVariables::VarInfo::findKill(const MachineBasicBlock *MBB) const { in getVarInfo() 95 void LiveVariables::VarInfo::print(raw_ostream &OS) const { in MarkVirtRegAliveInBlock() 110 LLVM_DUMP_METHOD void LiveVariables::VarInfo::dump() const { print(dbgs()); } in MarkVirtRegAliveInBlock() 114 LiveVariables::VarInfo &LiveVariables in MarkVirtRegAliveInBlock() [all...] |
H A D | PHIElimination.cpp | 23 #include "llvm/CodeGen/LiveVariables.h" 71 LiveVariables *LV = nullptr; 97 // These functions are temporary abstractions around LiveVariables and 98 // LiveIntervals, so they can go away when LiveVariables does. 234 LiveVariables::VarInfo &VI = LV->getVarInfo(VirtReg); 242 // defined. See comment for VarInfo in LiveVariables.h. in EliminatePHINodes() 416 LiveVariables::VarInfo &VI = LV->getVarInfo(IncomingReg); in LowerPHINode() 448 // Add information to LiveVariables to know that the first used incoming in LowerPHINode() 574 // Update LiveVariables. in LowerPHINode() 576 LiveVariables in LowerPHINode() 134 INITIALIZE_PASS_DEPENDENCY(LiveVariables) INITIALIZE_PASS_DEPENDENCY() argument [all...] |
H A D | TwoAddressInstructionPass.cpp | 38 #include "llvm/CodeGen/LiveVariables.h" 98 LiveVariables *LV = nullptr; 1816 LiveVariables::VarInfo &SrcInfo = LV->getVarInfo(RegB); in runOnMachineFunction() 1817 LiveVariables::VarInfo &DstInfo = LV->getVarInfo(RegA); in runOnMachineFunction() 2040 // Update LiveVariables' kill info.
|
/llvm-project/clang/include/clang/Analysis/Analyses/ |
H A D | LiveVariables.h | 28 class LiveVariables : public ManagedAnalysis { 51 friend class LiveVariables; variable 70 ~LiveVariables() override; 73 static std::unique_ptr<LiveVariables> 100 static std::unique_ptr<LiveVariables> 108 LiveVariables(void *impl); 112 class RelaxedLiveVariables : public LiveVariables { 114 static std::unique_ptr<LiveVariables>
|
/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIOptimizeVGPRLiveRange.cpp | 79 #include "llvm/CodeGen/LiveVariables.h" 94 LiveVariables *LV = nullptr; 100 SIOptimizeVGPRLiveRange(LiveVariables *LV, MachineDominatorTree *MDT, 253 LiveVariables::VarInfo &VI = LV->getVarInfo(MOReg); in collectCandidateRegisters() 262 LiveVariables::VarInfo &VI = LV->getVarInfo(MOReg); in collectCandidateRegisters() 292 LiveVariables::VarInfo &VI = LV->getVarInfo(Reg); in collectCandidateRegisters() 385 LiveVariables::VarInfo &OldVarInfo = LV->getVarInfo(MOReg); in collectWaterfallCandidateRegisters() 424 LiveVariables::VarInfo &OldVarInfo = LV->getVarInfo(Reg); in updateLiveRangeInThenRegion() 480 LiveVariables::VarInfo &NewVarInfo = LV->getVarInfo(NewReg); in updateLiveRangeInElseRegion() 481 LiveVariables in updateLiveRangeInElseRegion() [all...] |
/llvm-project/llvm/tools/llvm-objdump/ |
H A D | SourcePrinter.cpp | 69 LiveVariables.emplace_back(LocExpr, VarName, U, FuncDie); in addVariable() 77 LiveVariables.emplace_back(WholeFuncExpr, VarName, U, FuncDie); in addVariable() 130 for (const LiveVariable &LV : LiveVariables) { in findFreeColumn() 160 LiveVariable &LV = LiveVariables[ActiveCols[ColIdx].VarIdx]; in update() 175 for (unsigned VarIdx = 0, End = LiveVariables.size(); VarIdx < End; in update() 179 LiveVariable &LV = LiveVariables[VarIdx]; in update() 285 << LiveVariables[ActiveCols[ColIdx].VarIdx].VarName; in printBetweenInsts() 289 LiveVariables[ActiveCols[ColIdx].VarIdx].print(OS, MRI); in printBetweenInsts()
|
H A D | SourcePrinter.h | 58 std::vector<LiveVariable> LiveVariables; variable
|
/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | DeadStoresChecker.cpp | 18 #include "clang/Analysis/Analyses/LiveVariables.h" 130 class DeadStoreObs : public LiveVariables::Observer { 155 bool isLive(const LiveVariables::LivenessValues &Live, const VarDecl *D) { in isLive() 267 const LiveVariables::LivenessValues &Live) { in CheckVarDecl() 287 const LiveVariables::LivenessValues& Live) { in CheckDeclRef() 316 const LiveVariables::LivenessValues &Live) override { in observeStmt() 543 if (LiveVariables *L = mgr.getAnalysis<LiveVariables>(D)) { in checkASTCodeBody()
|
H A D | DebugCheckers.cpp | 114 if (LiveVariables* L = mgr.getAnalysis<LiveVariables>(D)) { in checkASTCodeBody() 138 if (LiveVariables *L = Mgr.getAnalysis<RelaxedLiveVariables>(D)) in checkASTCodeBody()
|
/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | LiveVariables.h | 1 //===-- llvm/CodeGen/LiveVariables.h - Live Variable Analysis ---*- C++ -*-===// 9 // This file implements the LiveVariables analysis pass. For each machine 48 class LiveVariables { 145 LiveVariables() = default; 184 LiveVariables(MachineFunction &MF); 309 using Result = LiveVariables; 325 LiveVariables LV; 343 LiveVariables &getLV() { return LV; } 50 LiveVariables() : MachineFunctionPass(ID) { LiveVariables() function
|
/llvm-project/llvm/unittests/MI/ |
H A D | LiveIntervalTest.cpp | 3 #include "llvm/CodeGen/LiveVariables.h"
|
/llvm-project/clang/test/Analysis/ |
H A D | dead-stores.m | 28 // LiveVariables <-> deadcode.DeadStores interplay. We should not flag a warning 47 // twice by the LiveVariables analysis.
|
H A D | rdar-6540084.m | 3 // This test exercises the live variables analysis (LiveVariables.cpp).
|
/llvm-project/llvm/utils/gn/secondary/clang/lib/Analysis/ |
H A D | BUILD.gn | 29 "LiveVariables.cpp",
|
/llvm-project/llvm/test/CodeGen/AArch64/ |
H A D | PHIElimination-crash.mir | 10 # *** Bad machine code: LiveVariables: Block should not be in AliveBlocks ***
|
/llvm-project/llvm/test/CodeGen/X86/ |
H A D | domain-reassignment-implicit-def.ll | 4 ; which would later cause crashes (e.g. in LiveVariables) - see PR37430
|
/llvm-project/llvm/test/CodeGen/AMDGPU/ |
H A D | stale-livevar-in-twoaddr-pass.mir | 3 # This used to fail under ASAN enabled build because we didn't update LiveVariables in SIInstrInfo::convertToThreeAddress()
|
H A D | lower-control-flow-live-variables-update.xfail.mir | 3 # CHECK: *** Bad machine code: LiveVariables: Block missing from AliveBlocks ***
|
H A D | block-should-not-be-in-alive-blocks.mir | 5 # LiveVariables live after for the verifier. Also -start-before 8 # LiveVariables needs to remove %bb.3 from the live blocks for %1
|
/llvm-project/llvm/lib/Target/X86/ |
H A D | X86InstrInfo.h | 314 LiveVariables *LV, LiveIntervals *LIS) const; 326 MachineInstr *convertToThreeAddress(MachineInstr &MI, LiveVariables *LV, 662 LiveVariables *LV,
|
/llvm-project/llvm/test/CodeGen/Mips/ |
H A D | 2011-05-26-BranchKillsVreg.ll | 6 ; kills a virtual register, and LiveVariables must be updated with the new kill
|
/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | RewriteStatepointsForGC.cpp | 1504 static void CreateGCRelocates(ArrayRef<Value *> LiveVariables, in CreateGCRelocates() 1508 if (LiveVariables.empty()) in CreateGCRelocates() 1543 for (unsigned i = 0; i < LiveVariables.size(); i++) { in CreateGCRelocates() 1545 Value *BaseIdx = Builder.getInt32(FindIndex(LiveVariables, BasePtrs[i])); in CreateGCRelocates() 1548 Type *Ty = LiveVariables[i]->getType(); in CreateGCRelocates() 1556 suffixed_name_or(LiveVariables[i], ".relocated", "")); 1650 const SmallVectorImpl<Value *> &LiveVariables, in makeStatepointExplicitImpl() 1655 assert(BasePtrs.size() == LiveVariables.size()); in makeStatepointExplicitImpl() 1663 ArrayRef<Value *> GCLive(LiveVariables); in makeStatepointExplicitImpl() 1886 CreateGCRelocates(LiveVariables, BasePtr in makeStatepointExplicitImpl() 1498 CreateGCRelocates(ArrayRef<Value * > LiveVariables,ArrayRef<Value * > BasePtrs,Instruction * StatepointToken,IRBuilder<> & Builder,GCStrategy * GC) CreateGCRelocates() argument 1644 makeStatepointExplicitImpl(CallBase * Call,const SmallVectorImpl<Value * > & BasePtrs,const SmallVectorImpl<Value * > & LiveVariables,PartiallyConstructedSafepointRecord & Result,std::vector<DeferredReplacement> & Replacements,const PointerToBaseTy & PointerToBase,GCStrategy * GC) makeStatepointExplicitImpl() argument [all...] |
/llvm-project/llvm/include/llvm/Passes/ |
H A D | MachinePassRegistry.def | 95 // LiveVariables currently requires pure SSA form. 97 // LiveVariables can be removed completely, and LiveIntervals can be directly
|