mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 21:31:03 +00:00
Handle vaarg instructions correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38504 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
743d3a7548
commit
06b6e82f79
@ -67,6 +67,9 @@ Instruction* MemoryDependenceAnalysis::getCallSiteDependency(CallSite C, bool lo
|
||||
pointerSize = C->getZExtValue();
|
||||
else
|
||||
pointerSize = ~0UL;
|
||||
} else if (VAArgInst* V = dyn_cast<VAArgInst>(QI)) {
|
||||
pointer = V->getOperand(0);
|
||||
pointerSize = TD.getTypeSize(V->getType());
|
||||
} else if (FreeInst* F = dyn_cast<FreeInst>(QI)) {
|
||||
pointer = F->getPointerOperand();
|
||||
|
||||
@ -130,6 +133,9 @@ Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query,
|
||||
dependee = L->getPointerOperand();
|
||||
dependeeSize = TD.getTypeSize(L->getType());
|
||||
queryIsVolatile = L->isVolatile();
|
||||
} else if (VAArgInst* V = dyn_cast<VAArgInst>(QI)) {
|
||||
dependee = V->getOperand(0);
|
||||
dependeeSize = TD.getTypeSize(V->getType());
|
||||
} else if (FreeInst* F = dyn_cast<FreeInst>(QI)) {
|
||||
dependee = F->getPointerOperand();
|
||||
|
||||
@ -176,6 +182,9 @@ Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query,
|
||||
pointerSize = C->getZExtValue();
|
||||
else
|
||||
pointerSize = ~0UL;
|
||||
} else if (VAArgInst* V = dyn_cast<VAArgInst>(QI)) {
|
||||
pointer = V->getOperand(0);
|
||||
pointerSize = TD.getTypeSize(V->getType());
|
||||
} else if (FreeInst* F = dyn_cast<FreeInst>(QI)) {
|
||||
pointer = F->getPointerOperand();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user