[llvm-commits] CVS: llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Mar 1 23:05:08 PST 2005
Changes in directory llvm-poolalloc/lib/PoolAllocate:
PointerCompress.cpp updated: 1.35 -> 1.36
---
Log message:
Factor out some code.
---
Diffs of the changes: (+13 -10)
PointerCompress.cpp | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
Index: llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp
diff -u llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.35 llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.36
--- llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp:1.35 Tue Mar 1 17:39:51 2005
+++ llvm-poolalloc/lib/PoolAllocate/PointerCompress.cpp Wed Mar 2 01:04:52 2005
@@ -172,6 +172,16 @@
///
Value *getPoolDesc() const { return PoolDesc; }
+ /// EmitPoolBaseLoad - Emit code to load the pool base value for this pool
+ /// before the specified instruction.
+ Value *EmitPoolBaseLoad(Instruction &I) const {
+ // Get the pool base pointer.
+ Constant *Zero = Constant::getNullValue(Type::UIntTy);
+ Value *BasePtrPtr = new GetElementPtrInst(getPoolDesc(), Zero, Zero,
+ "poolbaseptrptr", &I);
+ return new LoadInst(BasePtrPtr, "poolbaseptr", &I);
+ }
+
// dump - Emit a debugging dump of this pool info.
void dump() const;
@@ -668,12 +678,8 @@
// 1. Loading a normal value from a ptr compressed data structure.
// 2. Loading a compressed ptr from a ptr compressed data structure.
bool LoadingCompressedPtr = getNodeIfCompressed(&LI) != 0;
-
- // Get the pool base pointer.
- Constant *Zero = Constant::getNullValue(Type::UIntTy);
- Value *BasePtrPtr = new GetElementPtrInst(SrcPI->getPoolDesc(), Zero, Zero,
- "poolbaseptrptr", &LI);
- Value *BasePtr = new LoadInst(BasePtrPtr, "poolbaseptr", &LI);
+
+ Value *BasePtr = SrcPI->EmitPoolBaseLoad(LI);
// Get the pointer to load from.
std::vector<Value*> Ops;
@@ -739,10 +745,7 @@
}
// Get the pool base pointer.
- Constant *Zero = Constant::getNullValue(Type::UIntTy);
- Value *BasePtrPtr = new GetElementPtrInst(DestPI->getPoolDesc(), Zero, Zero,
- "poolbaseptrptr", &SI);
- Value *BasePtr = new LoadInst(BasePtrPtr, "poolbaseptr", &SI);
+ Value *BasePtr = DestPI->EmitPoolBaseLoad(SI);
// Get the pointer to store to.
std::vector<Value*> Ops;
More information about the llvm-commits
mailing list