[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