diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2009-09-28 14:30:20 +0000 | 
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2009-09-28 14:30:20 +0000 | 
| commit | 2dd957fff6c5cd1973062de7eeb66c4b29f340ab (patch) | |
| tree | 9331f03a88e58af8d2345be1d3fb2524e3ac0881 /llvm/lib/Target/ARM | |
| parent | 83e0d481ae93e13b71fb6592618efa57b6a3f93d (diff) | |
| download | bcm5719-llvm-2dd957fff6c5cd1973062de7eeb66c4b29f340ab.tar.gz bcm5719-llvm-2dd957fff6c5cd1973062de7eeb66c4b29f340ab.zip | |
Pass the optimization level when constructing the ARM instruction selector.
Otherwise, it is always set to "default", which prevents debug info from
even being generated during isel.  Radar 7250345.
llvm-svn: 82988
Diffstat (limited to 'llvm/lib/Target/ARM')
| -rw-r--r-- | llvm/lib/Target/ARM/ARM.h | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 10 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetMachine.cpp | 2 | 
3 files changed, 9 insertions, 6 deletions
| diff --git a/llvm/lib/Target/ARM/ARM.h b/llvm/lib/Target/ARM/ARM.h index e95dfc02b60..487ce1dd434 100644 --- a/llvm/lib/Target/ARM/ARM.h +++ b/llvm/lib/Target/ARM/ARM.h @@ -92,7 +92,8 @@ inline static const char *ARMCondCodeToString(ARMCC::CondCodes CC) {    }  } -FunctionPass *createARMISelDag(ARMBaseTargetMachine &TM); +FunctionPass *createARMISelDag(ARMBaseTargetMachine &TM, +                               CodeGenOpt::Level OptLevel);  FunctionPass *createARMCodeEmitterPass(ARMBaseTargetMachine &TM,                                         MachineCodeEmitter &MCE); diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp index d165a09997e..53f2282c4f0 100644 --- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -49,8 +49,9 @@ class ARMDAGToDAGISel : public SelectionDAGISel {    const ARMSubtarget *Subtarget;  public: -  explicit ARMDAGToDAGISel(ARMBaseTargetMachine &tm) -    : SelectionDAGISel(tm), TM(tm), +  explicit ARMDAGToDAGISel(ARMBaseTargetMachine &tm, +                           CodeGenOpt::Level OptLevel) +    : SelectionDAGISel(tm, OptLevel), TM(tm),      Subtarget(&TM.getSubtarget<ARMSubtarget>()) {    } @@ -1566,6 +1567,7 @@ SelectInlineAsmMemoryOperand(const SDValue &Op, char ConstraintCode,  /// createARMISelDag - This pass converts a legalized DAG into a  /// ARM-specific DAG, ready for instruction scheduling.  /// -FunctionPass *llvm::createARMISelDag(ARMBaseTargetMachine &TM) { -  return new ARMDAGToDAGISel(TM); +FunctionPass *llvm::createARMISelDag(ARMBaseTargetMachine &TM, +                                     CodeGenOpt::Level OptLevel) { +  return new ARMDAGToDAGISel(TM, OptLevel);  } diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp index 045df1542f8..dcb64c5131c 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -86,7 +86,7 @@ ThumbTargetMachine::ThumbTargetMachine(const Target &T, const std::string &TT,  // Pass Pipeline Configuration  bool ARMBaseTargetMachine::addInstSelector(PassManagerBase &PM,                                             CodeGenOpt::Level OptLevel) { -  PM.add(createARMISelDag(*this)); +  PM.add(createARMISelDag(*this, OptLevel));    return false;  } | 

