diff options
| author | James Y Knight <jyknight@google.com> | 2016-08-12 14:48:09 +0000 |
|---|---|---|
| committer | James Y Knight <jyknight@google.com> | 2016-08-12 14:48:09 +0000 |
| commit | 2cc9da9a654ca1f9f90d1eaaea889516074f975f (patch) | |
| tree | b322c45c79fc2e10d8aa6eb750b2ecc23ee71db1 /llvm/lib/Target/Sparc/SparcISelLowering.cpp | |
| parent | 3785393def95f2b52ef28e9bcb3985066812d2db (diff) | |
| download | bcm5719-llvm-2cc9da9a654ca1f9f90d1eaaea889516074f975f.tar.gz bcm5719-llvm-2cc9da9a654ca1f9f90d1eaaea889516074f975f.zip | |
Revert "[Sparc] Leon errata fix passes."
...and the two followup commits:
Revert "[Sparc][Leon] Missed resetting option flags from check-in 278489."
Revert "[Sparc][Leon] Errata fixes for various errata in different
versions of the Leon variants of the Sparc 32 bit processor."
This reverts commit r274856, r278489, and r278492.
llvm-svn: 278511
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcISelLowering.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp b/llvm/lib/Target/Sparc/SparcISelLowering.cpp index 253dfc06b21..a043d1102a7 100644 --- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp +++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp @@ -32,6 +32,7 @@ #include "llvm/Support/ErrorHandling.h" using namespace llvm; + //===----------------------------------------------------------------------===// // Calling Convention Implementation //===----------------------------------------------------------------------===// @@ -1616,7 +1617,9 @@ SparcTargetLowering::SparcTargetLowering(const TargetMachine &TM, // Atomics are supported on SparcV9. 32-bit atomics are also // supported by some Leon SparcV8 variants. Otherwise, atomics // are unsupported. - if (Subtarget->isV9() || Subtarget->hasLeonCasa()) + if (Subtarget->isV9()) + setMaxAtomicSizeInBitsSupported(64); + else if (Subtarget->hasLeonCasa()) setMaxAtomicSizeInBitsSupported(64); else setMaxAtomicSizeInBitsSupported(0); @@ -2628,6 +2631,7 @@ static SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG, uint64_t depth = Op.getConstantOperandVal(0); return getFRAMEADDR(depth, Op, DAG, Subtarget); + } static SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG, @@ -3042,7 +3046,7 @@ MachineBasicBlock * SparcTargetLowering::EmitInstrWithCustomInserter(MachineInstr &MI, MachineBasicBlock *BB) const { switch (MI.getOpcode()) { - default: llvm_unreachable("Unknown Custom Instruction!"); + default: llvm_unreachable("Unknown SELECT_CC!"); case SP::SELECT_CC_Int_ICC: case SP::SELECT_CC_FP_ICC: case SP::SELECT_CC_DFP_ICC: @@ -3059,6 +3063,7 @@ SparcTargetLowering::EmitInstrWithCustomInserter(MachineInstr &MI, case SP::EH_SJLJ_LONGJMP32rr: case SP::EH_SJLJ_LONGJMP32ri: return emitEHSjLjLongJmp(MI, BB); + } } @@ -3329,11 +3334,8 @@ SparcTargetLowering::ConstraintType SparcTargetLowering::getConstraintType(StringRef Constraint) const { if (Constraint.size() == 1) { switch (Constraint[0]) { - default: - break; - case 'f': - case 'r': - return C_RegisterClass; + default: break; + case 'r': return C_RegisterClass; case 'I': // SIMM13 return C_Other; } @@ -3407,9 +3409,6 @@ SparcTargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI, MVT VT) const { if (Constraint.size() == 1) { switch (Constraint[0]) { - case 'f': - return std::make_pair(0U, &SP::FPRegsRegClass); - case 'r': if (VT == MVT::v2i32) return std::make_pair(0U, &SP::IntPairRegClass); |

