summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-06-23 18:00:52 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-06-23 18:00:52 +0000
commitd5f91fd883818274379b338501def7ceb8e107fe (patch)
tree6402b9e5e10a7ca8642ce2a994db8793aaa997ee /llvm/lib
parentc4d3d3a16e99feca884fb35c85c65fe06232310f (diff)
downloadbcm5719-llvm-d5f91fd883818274379b338501def7ceb8e107fe.tar.gz
bcm5719-llvm-d5f91fd883818274379b338501def7ceb8e107fe.zip
R600: Select is not expensive.
llvm-svn: 211518
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/R600/AMDGPUISelLowering.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
index 3bde6e1c8f2..0cfbf6bcf1e 100644
--- a/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
@@ -361,6 +361,9 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) :
setSchedulingPreference(Sched::RegPressure);
setJumpIsExpensive(true);
+ setSelectIsExpensive(false);
+ PredictableSelectIsExpensive = false;
+
// There are no integer divide instructions, and these expand to a pretty
// large sequence of instructions.
setIntDivIsCheap(false);
@@ -383,6 +386,10 @@ MVT AMDGPUTargetLowering::getVectorIdxTy() const {
return MVT::i32;
}
+bool AMDGPUTargetLowering::isSelectSupported(SelectSupportKind SelType) const {
+ return true;
+}
+
// The backend supports 32 and 64 bit floating point immediates.
// FIXME: Why are we reporting vectors of FP immediates as legal?
bool AMDGPUTargetLowering::isFPImmLegal(const APFloat &Imm, EVT VT) const {
OpenPOWER on IntegriCloud