mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-03 01:12:59 +00:00
[LVIPrinterPass] Print LVI info for function arguments
Using AssemblyAnnotationWriter for LVI printer prints for instructions and basic blocks. So, we explicitly need to print LVI info for the arguments of the function (these are values and not instructions). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298640 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
08d0e94685
commit
3ae0a79c0d
@ -486,6 +486,18 @@ namespace {
|
||||
OS << "; OverDefined values for block are: \n";
|
||||
for (auto *V : ODI->second)
|
||||
OS << ";" << *V << "\n";
|
||||
|
||||
// Find if there are latticevalues defined for arguments of the function.
|
||||
auto *F = const_cast<Function *>(BB->getParent());
|
||||
for (auto &Arg : F->args()) {
|
||||
auto VI = LVICache->ValueCache.find_as(&Arg);
|
||||
if (VI == LVICache->ValueCache.end())
|
||||
continue;
|
||||
auto BBI = VI->second->BlockVals.find(const_cast<BasicBlock *>(BB));
|
||||
if (BBI != VI->second->BlockVals.end())
|
||||
OS << "; CachedLatticeValue for: '" << *VI->first << "' is: '"
|
||||
<< BBI->second << "'\n";
|
||||
}
|
||||
}
|
||||
|
||||
virtual void emitInstructionAnnot(const Instruction *I,
|
||||
|
Loading…
Reference in New Issue
Block a user