llvm-project/llvm/lib/CodeGen/SelectionDAG
Jim Grosbach cad4cd6c9e SelectionDAG: Don't constant fold target-specific nodes.
FoldConstantArithmetic() only knows how to deal with a few target independent
ISD opcodes. Bail early if it sees a target-specific ISD node. These node do
funny things with operand types which may break the assumptions of the code
that follows, and there's no actual folding that can be done anyway. For example,
non-constant 256 bit vector shifts on X86 have a shift-amount operand that's a
128-bit v4i32 vector regardless of what the first operand type is and that breaks
the assumption that the operand types must match.

rdar://16530923

llvm-svn: 205937
2014-04-09 23:28:11 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp [DAGCombiner] DAG combine does not know how to combine indexed loads with 2014-04-09 20:03:05 +00:00
FastISel.cpp Phase 2 of the great MachineRegisterInfo cleanup. This time, we're changing 2014-03-13 23:12:04 +00:00
FunctionLoweringInfo.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
InstrEmitter.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
InstrEmitter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LLVMBuild.txt
LegalizeDAG.cpp Add an optional ability to expand larger BUILD_VECTORs with shuffles 2014-03-31 19:42:55 +00:00
LegalizeFloatTypes.cpp Keep TBAA info when rewriting SelectionDAG loads and stores 2013-10-28 11:17:59 +00:00
LegalizeIntegerTypes.cpp IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
LegalizeTypes.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
LegalizeTypes.h DAGLegalize: add last-ditch type-legalization for VSELECT. 2014-04-04 14:49:30 +00:00
LegalizeTypesGeneric.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:30:33 +00:00
LegalizeVectorOps.cpp [VectorLegalizer/X86] Don't unvectorize fp_to_uint for v8f32->v8i16 2014-03-17 17:06:14 +00:00
LegalizeVectorTypes.cpp DAGLegalize: add last-ditch type-legalization for VSELECT. 2014-04-04 14:49:30 +00:00
Makefile
ResourcePriorityQueue.cpp [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
SDNodeDbgValue.h [Layering] Move DebugLoc.h into the IR library. The implementation 2014-03-05 10:30:38 +00:00
ScheduleDAGFast.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
ScheduleDAGRRList.cpp Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
ScheduleDAGSDNodes.cpp Put a limit on ScheduleDAGSDNodes::ClusterNeighboringLoads to avoid blowing up compile time. 2014-04-07 21:29:22 +00:00
ScheduleDAGSDNodes.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
ScheduleDAGVLIW.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
SelectionDAG.cpp SelectionDAG: Don't constant fold target-specific nodes. 2014-04-09 23:28:11 +00:00
SelectionDAGBuilder.cpp Fix for PR 19261: 2014-04-03 12:11:51 +00:00
SelectionDAGBuilder.h Replace '#include ValueTypes.h' with forward declarations. 2014-03-12 08:00:24 +00:00
SelectionDAGDumper.cpp [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
SelectionDAGISel.cpp Phase 1 of refactoring the MachineRegisterInfo iterators to make them suitable 2014-03-13 06:02:25 +00:00
SelectionDAGPrinter.cpp [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
TargetLowering.cpp Add DAG parameter to ComputeNumSignBitsForTargetNode 2014-04-04 20:13:13 +00:00
TargetSelectionDAGInfo.cpp Rename some member variables from TD to DL. 2014-02-18 15:33:12 +00:00