[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