summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2014-11-12 07:19:25 +0000
committerJingyue Wu <jingyue@google.com>2014-11-12 07:19:25 +0000
commita48273390c32e86bf226d7eb3891d207c854b3e0 (patch)
tree74c4a65846412c5d3c7cb21959173d0483193e10 /llvm/lib/Target
parent635a9b14fa91dcd6aedadb37aa232c24817e76cd (diff)
downloadbcm5719-llvm-a48273390c32e86bf226d7eb3891d207c854b3e0.tar.gz
bcm5719-llvm-a48273390c32e86bf226d7eb3891d207c854b3e0.zip
Reverts r221772 which fails tests
llvm-svn: 221773
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp41
1 files changed, 2 insertions, 39 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
index 5aea7021e42..bcac6392a67 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
@@ -36,14 +36,12 @@ void initializeNVPTXTTIPass(PassRegistry &);
namespace {
class NVPTXTTI final : public ImmutablePass, public TargetTransformInfo {
- const NVPTXTargetLowering *TLI;
public:
- NVPTXTTI() : ImmutablePass(ID), TLI(nullptr) {
+ NVPTXTTI() : ImmutablePass(ID) {
llvm_unreachable("This pass cannot be directly constructed");
}
- NVPTXTTI(const NVPTXTargetMachine *TM)
- : ImmutablePass(ID), TLI(TM->getSubtargetImpl()->getTargetLowering()) {
+ NVPTXTTI(const NVPTXTargetMachine *TM) : ImmutablePass(ID) {
initializeNVPTXTTIPass(*PassRegistry::getPassRegistry());
}
@@ -65,12 +63,6 @@ public:
bool hasBranchDivergence() const override;
- unsigned getArithmeticInstrCost(
- unsigned Opcode, Type *Ty, OperandValueKind Opd1Info = OK_AnyValue,
- OperandValueKind Opd2Info = OK_AnyValue,
- OperandValueProperties Opd1PropInfo = OP_None,
- OperandValueProperties Opd2PropInfo = OP_None) const override;
-
/// @}
};
@@ -86,32 +78,3 @@ llvm::createNVPTXTargetTransformInfoPass(const NVPTXTargetMachine *TM) {
}
bool NVPTXTTI::hasBranchDivergence() const { return true; }
-
-unsigned NVPTXTTI::getArithmeticInstrCost(
- unsigned Opcode, Type *Ty, OperandValueKind Opd1Info,
- OperandValueKind Opd2Info, OperandValueProperties Opd1PropInfo,
- OperandValueProperties Opd2PropInfo) const {
- // Legalize the type.
- std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(Ty);
-
- int ISD = TLI->InstructionOpcodeToISD(Opcode);
-
- switch (ISD) {
- default:
- return TargetTransformInfo::getArithmeticInstrCost(
- Opcode, Ty, Opd1Info, Opd2Info, Opd1PropInfo, Opd2PropInfo);
- case ISD::ADD:
- case ISD::MUL:
- case ISD::XOR:
- case ISD::OR:
- case ISD::AND:
- // The machine code (SASS) simulates an i64 with two i32. Therefore, we
- // estimate that arithmetic operations on i64 are twice as expensive as
- // those on types that can fit into one machine register.
- if (LT.second.SimpleTy == MVT::i64)
- return 2 * LT.first;
- // Delegate other cases to the basic TTI.
- return TargetTransformInfo::getArithmeticInstrCost(
- Opcode, Ty, Opd1Info, Opd2Info, Opd1PropInfo, Opd2PropInfo);
- }
-}
OpenPOWER on IntegriCloud