Allow hbd to be bugpointable on darwin by fixing common and linkonce codegen
[oota-llvm.git] / lib / Transforms / TransformInternals.h
index 8cab4293496012515215a87b7dd62e13645ce985..b5747c91303fd7b1c95bb2be42258879f59ac0de 100644 (file)
@@ -1,4 +1,11 @@
-//===-- TransformInternals.h - Shared functions for Transforms ---*- C++ -*--=//
+//===-- TransformInternals.h - Shared functions for Transforms --*- C++ -*-===//
+// 
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// 
+//===----------------------------------------------------------------------===//
 //
 //  This header file declares shared functions used by the different components
 //  of the Transforms library.
 #include <map>
 #include <set>
 
+namespace llvm {
+
 static inline int64_t getConstantValue(const ConstantInt *CPI) {
-  if (const ConstantSInt *CSI = dyn_cast<ConstantSInt>(CPI))
-    return CSI->getValue();
-  return (int64_t)cast<ConstantUInt>(CPI)->getValue();
+  return (int64_t)cast<ConstantInt>(CPI)->getRawValue();
 }
 
 
@@ -83,7 +90,8 @@ public:
 
 typedef std::map<const Value*, const Type*> ValueTypeCache;
 
-struct ValueMapCache {
+class ValueMapCache {
+public:
   // Operands mapped - Contains an entry if the first value (the user) has had
   // the second value (the operand) mapped already.
   //
@@ -96,7 +104,7 @@ struct ValueMapCache {
   typedef std::map<const Value *, Value *> ExprMapTy;
 
   // Cast Map - Cast instructions can have their source and destination values
-  // changed independantly for each part.  Because of this, our old naive
+  // changed independently for each part.  Because of this, our old naive
   // implementation would create a TWO new cast instructions, which would cause
   // all kinds of problems.  Here we keep track of the newly allocated casts, so
   // that we only create one for a particular instruction.
@@ -134,4 +142,6 @@ const Type *getStructOffsetType(const Type *Ty, unsigned &Offset,
                                 std::vector<Value*> &Offsets,
                                 const TargetData &TD, bool StopEarly = true);
 
+} // End llvm namespace
+
 #endif