Home
last modified time | relevance | path

Searched refs:LiveVariables (Results 1 – 25 of 43) sorted by relevance

12

/llvm-project/clang/lib/Analysis/
H A DLiveVariables.cpp1 //=- 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 DCMakeLists.txt23 LiveVariables.cpp
/llvm-project/llvm/lib/CodeGen/
H A DLiveVariables.cpp1 //===-- 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 DPHIElimination.cpp23 #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 DTwoAddressInstructionPass.cpp38 #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 DLiveVariables.h28 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 DSIOptimizeVGPRLiveRange.cpp79 #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 DSourcePrinter.cpp69 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 DSourcePrinter.h58 std::vector<LiveVariable> LiveVariables; variable
/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DDeadStoresChecker.cpp18 #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 DDebugCheckers.cpp114 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 DLiveVariables.h1 //===-- 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 DLiveIntervalTest.cpp3 #include "llvm/CodeGen/LiveVariables.h"
/llvm-project/clang/test/Analysis/
H A Ddead-stores.m28 // LiveVariables <-> deadcode.DeadStores interplay. We should not flag a warning
47 // twice by the LiveVariables analysis.
H A Drdar-6540084.m3 // This test exercises the live variables analysis (LiveVariables.cpp).
/llvm-project/llvm/utils/gn/secondary/clang/lib/Analysis/
H A DBUILD.gn29 "LiveVariables.cpp",
/llvm-project/llvm/test/CodeGen/AArch64/
H A DPHIElimination-crash.mir10 # *** Bad machine code: LiveVariables: Block should not be in AliveBlocks ***
/llvm-project/llvm/test/CodeGen/X86/
H A Ddomain-reassignment-implicit-def.ll4 ; which would later cause crashes (e.g. in LiveVariables) - see PR37430
/llvm-project/llvm/test/CodeGen/AMDGPU/
H A Dstale-livevar-in-twoaddr-pass.mir3 # This used to fail under ASAN enabled build because we didn't update LiveVariables in SIInstrInfo::convertToThreeAddress()
H A Dlower-control-flow-live-variables-update.xfail.mir3 # CHECK: *** Bad machine code: LiveVariables: Block missing from AliveBlocks ***
H A Dblock-should-not-be-in-alive-blocks.mir5 # 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 DX86InstrInfo.h314 LiveVariables *LV, LiveIntervals *LIS) const;
326 MachineInstr *convertToThreeAddress(MachineInstr &MI, LiveVariables *LV,
662 LiveVariables *LV,
/llvm-project/llvm/test/CodeGen/Mips/
H A D2011-05-26-BranchKillsVreg.ll6 ; kills a virtual register, and LiveVariables must be updated with the new kill
/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp1504 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 DMachinePassRegistry.def95 // LiveVariables currently requires pure SSA form.
97 // LiveVariables can be removed completely, and LiveIntervals can be directly

12