projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ptr-traits] Sink a constructor definition to the .cpp file and add
[oota-llvm.git]
/
lib
/
CodeGen
/
GCRootLowering.cpp
diff --git
a/lib/CodeGen/GCRootLowering.cpp
b/lib/CodeGen/GCRootLowering.cpp
index d8edd7e4063fc9758f33374dbe00e89f7797c357..484d31737b2e4150ac198f8c3576ee84f505e91e 100644
(file)
--- a/
lib/CodeGen/GCRootLowering.cpp
+++ b/
lib/CodeGen/GCRootLowering.cpp
@@
-158,7
+158,7
@@
static bool InsertRootInitializers(Function &F, AllocaInst **Roots,
// Search for initializers in the initial BB.
SmallPtrSet<AllocaInst *, 16> InitedRoots;
// Search for initializers in the initial BB.
SmallPtrSet<AllocaInst *, 16> InitedRoots;
- for (; !CouldBecomeSafePoint(IP); ++IP)
+ for (; !CouldBecomeSafePoint(
&*
IP); ++IP)
if (StoreInst *SI = dyn_cast<StoreInst>(IP))
if (AllocaInst *AI =
dyn_cast<AllocaInst>(SI->getOperand(1)->stripPointerCasts()))
if (StoreInst *SI = dyn_cast<StoreInst>(IP))
if (AllocaInst *AI =
dyn_cast<AllocaInst>(SI->getOperand(1)->stripPointerCasts()))
@@
-320,7
+320,9
@@
void GCMachineCodeAnalysis::FindStackOffsets(MachineFunction &MF) {
if (MF.getFrameInfo()->isDeadObjectIndex(RI->Num)) {
RI = FI->removeStackRoot(RI);
} else {
if (MF.getFrameInfo()->isDeadObjectIndex(RI->Num)) {
RI = FI->removeStackRoot(RI);
} else {
- RI->StackOffset = TFI->getFrameIndexOffset(MF, RI->Num);
+ unsigned FrameReg; // FIXME: surely GCRoot ought to store the
+ // register that the offset is from?
+ RI->StackOffset = TFI->getFrameIndexReference(MF, RI->Num, FrameReg);
++RI;
}
}
++RI;
}
}