[llvm] r211518 - R600: Select is not expensive.

Matt Arsenault Matthew.Arsenault at amd.com
Mon Jun 23 11:00:52 PDT 2014


Author: arsenm
Date: Mon Jun 23 13:00:52 2014
New Revision: 211518

URL: http://llvm.org/viewvc/llvm-project?rev=211518&view=rev
Log:
R600: Select is not expensive.

Modified:
    llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp

Modified: llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp?rev=211518&r1=211517&r2=211518&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp Mon Jun 23 13:00:52 2014
@@ -361,6 +361,9 @@ AMDGPUTargetLowering::AMDGPUTargetLoweri
   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
   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 {





More information about the llvm-commits mailing list