[llvm-commits] CVS: llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp TraceValues.cpp

Reid Spencer reid at x10sys.com
Sun Nov 26 17:06:26 PST 2006



Changes in directory llvm/lib/Transforms/Instrumentation:

ProfilingUtils.cpp updated: 1.8 -> 1.9
TraceValues.cpp updated: 1.76 -> 1.77
---
Log message:

For PR950: http://llvm.org/PR950 :
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.


---
Diffs of the changes:  (+10 -10)

 ProfilingUtils.cpp |   11 ++++++-----
 TraceValues.cpp    |    9 ++++-----
 2 files changed, 10 insertions(+), 10 deletions(-)


Index: llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp
diff -u llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp:1.8 llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp:1.9
--- llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp:1.8	Fri Oct 20 02:07:24 2006
+++ llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp	Sun Nov 26 19:05:10 2006
@@ -62,7 +62,8 @@
   case 2:
     AI = MainFn->arg_begin(); ++AI;
     if (AI->getType() != ArgVTy) {
-      InitCall->setOperand(2, new CastInst(AI, ArgVTy, "argv.cast", InitCall));
+      InitCall->setOperand(2, 
+          CastInst::createInferredCast(AI, ArgVTy, "argv.cast", InitCall));
     } else {
       InitCall->setOperand(2, AI);
     }
@@ -73,10 +74,10 @@
     // init call instead.
     if (AI->getType() != Type::IntTy) {
       if (!AI->use_empty())
-        AI->replaceAllUsesWith(new CastInst(InitCall, AI->getType(), "",
-                                            InsertPos));
-      InitCall->setOperand(1, new CastInst(AI, Type::IntTy, "argc.cast",
-                                           InitCall));
+        AI->replaceAllUsesWith(
+          CastInst::createInferredCast(InitCall, AI->getType(), "", InsertPos));
+      InitCall->setOperand(1, 
+          CastInst::createInferredCast(AI, Type::IntTy, "argc.cast", InitCall));
     } else {
       AI->replaceAllUsesWith(InitCall);
       InitCall->setOperand(1, AI);


Index: llvm/lib/Transforms/Instrumentation/TraceValues.cpp
diff -u llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.76 llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.77
--- llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.76	Sun Aug 27 17:42:52 2006
+++ llvm/lib/Transforms/Instrumentation/TraceValues.cpp	Sun Nov 26 19:05:10 2006
@@ -190,8 +190,7 @@
   //
   return (opCode  < Instruction::OtherOpsBegin &&
           opCode != Instruction::Alloca &&
-          opCode != Instruction::PHI &&
-          opCode != Instruction::Cast);
+          opCode != Instruction::PHI && ! Instruction::isCast(opCode));
 }
 
 
@@ -251,7 +250,7 @@
   if (V && isa<PointerType>(V->getType()) && !DisablePtrHashing) {
     const Type *SBP = PointerType::get(Type::SByteTy);
     if (V->getType() != SBP)     // Cast pointer to be sbyte*
-      V = new CastInst(V, SBP, "Hash_cast", InsertBefore);
+      V = new BitCastInst(V, SBP, "Hash_cast", InsertBefore);
 
     std::vector<Value*> HashArgs(1, V);
     V = new CallInst(HashPtrToSeqNum, HashArgs, "ptrSeqNum", InsertBefore);
@@ -282,7 +281,7 @@
 
   const Type *SBP = PointerType::get(Type::SByteTy);
   if (V->getType() != SBP)    // Cast pointer to be sbyte*
-    V = new CastInst(V, SBP, "RPSN_cast", InsertBefore);
+    V = CastInst::createInferredCast(V, SBP, "RPSN_cast", InsertBefore);
 
   std::vector<Value*> releaseArgs(1, V);
   new CallInst(ReleasePtrFunc, releaseArgs, "", InsertBefore);
@@ -294,7 +293,7 @@
                  Function* RecordPtrFunc) {
     const Type *SBP = PointerType::get(Type::SByteTy);
   if (V->getType() != SBP)     // Cast pointer to be sbyte*
-    V = new CastInst(V, SBP, "RP_cast", InsertBefore);
+    V = CastInst::createInferredCast(V, SBP, "RP_cast", InsertBefore);
 
   std::vector<Value*> releaseArgs(1, V);
   new CallInst(RecordPtrFunc, releaseArgs, "", InsertBefore);






More information about the llvm-commits mailing list