diff options
Diffstat (limited to 'lib/Target/ARM/ARMConstantPoolValue.cpp')
| -rw-r--r-- | lib/Target/ARM/ARMConstantPoolValue.cpp | 36 | 
1 files changed, 15 insertions, 21 deletions
diff --git a/lib/Target/ARM/ARMConstantPoolValue.cpp b/lib/Target/ARM/ARMConstantPoolValue.cpp index a75ed3bd5339..71700893a3e8 100644 --- a/lib/Target/ARM/ARMConstantPoolValue.cpp +++ b/lib/Target/ARM/ARMConstantPoolValue.cpp @@ -15,33 +15,31 @@  #include "llvm/ADT/FoldingSet.h"  #include "llvm/GlobalValue.h"  #include "llvm/Type.h" -#include "llvm/Support/Streams.h"  #include "llvm/Support/raw_ostream.h" +#include <cstdlib>  using namespace llvm;  ARMConstantPoolValue::ARMConstantPoolValue(GlobalValue *gv, unsigned id, -                                           ARMCP::ARMCPKind k, +                                           ARMCP::ARMCPKind K,                                             unsigned char PCAdj,                                             const char *Modif,                                             bool AddCA)    : MachineConstantPoolValue((const Type*)gv->getType()), -    GV(gv), S(NULL), LabelId(id), Kind(k), PCAdjust(PCAdj), +    GV(gv), S(NULL), LabelId(id), Kind(K), PCAdjust(PCAdj),      Modifier(Modif), AddCurrentAddress(AddCA) {} -ARMConstantPoolValue::ARMConstantPoolValue(const char *s, unsigned id, -                                           ARMCP::ARMCPKind k, +ARMConstantPoolValue::ARMConstantPoolValue(LLVMContext &C, +                                           const char *s, unsigned id,                                             unsigned char PCAdj,                                             const char *Modif,                                             bool AddCA) -  : MachineConstantPoolValue((const Type*)Type::Int32Ty), -    GV(NULL), S(s), LabelId(id), Kind(k), PCAdjust(PCAdj), +  : MachineConstantPoolValue((const Type*)Type::getInt32Ty(C)), +    GV(NULL), S(strdup(s)), LabelId(id), Kind(ARMCP::CPValue), PCAdjust(PCAdj),      Modifier(Modif), AddCurrentAddress(AddCA) {} -ARMConstantPoolValue::ARMConstantPoolValue(GlobalValue *gv, -                                           ARMCP::ARMCPKind k, -                                           const char *Modif) -  : MachineConstantPoolValue((const Type*)Type::Int32Ty), -    GV(gv), S(NULL), LabelId(0), Kind(k), PCAdjust(0), +ARMConstantPoolValue::ARMConstantPoolValue(GlobalValue *gv, const char *Modif) +  : MachineConstantPoolValue((const Type*)Type::getInt32Ty(gv->getContext())), +    GV(gv), S(NULL), LabelId(0), Kind(ARMCP::CPValue), PCAdjust(0),      Modifier(Modif) {}  int ARMConstantPoolValue::getExistingMachineCPValue(MachineConstantPool *CP, @@ -56,7 +54,6 @@ int ARMConstantPoolValue::getExistingMachineCPValue(MachineConstantPool *CP,        if (CPV->GV == GV &&            CPV->S == S &&            CPV->LabelId == LabelId && -          CPV->Kind == Kind &&            CPV->PCAdjust == PCAdjust)          return i;      } @@ -65,31 +62,28 @@ int ARMConstantPoolValue::getExistingMachineCPValue(MachineConstantPool *CP,    return -1;  } +ARMConstantPoolValue::~ARMConstantPoolValue() { +  free((void*)S); +} +  void  ARMConstantPoolValue::AddSelectionDAGCSEId(FoldingSetNodeID &ID) {    ID.AddPointer(GV);    ID.AddPointer(S);    ID.AddInteger(LabelId); -  ID.AddInteger((unsigned)Kind);    ID.AddInteger(PCAdjust);  }  void ARMConstantPoolValue::dump() const { -  cerr << "  " << *this; +  errs() << "  " << *this;  } -void ARMConstantPoolValue::print(std::ostream &O) const { -  raw_os_ostream RawOS(O); -  print(RawOS); -}  void ARMConstantPoolValue::print(raw_ostream &O) const {    if (GV)      O << GV->getName();    else      O << S; -  if (isNonLazyPointer()) O << "$non_lazy_ptr"; -  else if (isStub()) O << "$stub";    if (Modifier) O << "(" << Modifier << ")";    if (PCAdjust != 0) {      O << "-(LPC" << LabelId << "+" << (unsigned)PCAdjust;  | 
