llvm-6502/lib/CodeGen/SelectionDAG
Rafael Espindola 7bdc1cb690 Use sext in fast isel.
Fast isel used to zero extends immediates to 64 bits. This normally goes
unnoticed because the value is truncated to 32 bits for output.

Two cases were it is noticed:

* We fail to use smaller encodings.
* If the original constant was smaller than i32.

In the tests using i1 constants, codegen would change to use -1, which is fine
(and matches what regular isel does) since only the lowest bit is then used.

Instead, this patch then changes the ir to use i8 constants, which looks more
like what clang produces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234249 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-06 22:29:07 +00:00
..
CMakeLists.txt [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
DAGCombiner.cpp [DAGCombiner] Add support for FCEIL, FFLOOR and FTRUNC vector constant folding 2015-04-06 17:15:41 +00:00
FastISel.cpp Use sext in fast isel. 2015-04-06 22:29:07 +00:00
FunctionLoweringInfo.cpp [WinEH] Fill out CatchHigh in the TryBlockMap 2015-04-03 23:37:34 +00:00
InstrEmitter.cpp CodeGen: Assert that inlined-at locations agree 2015-04-03 19:20:26 +00:00
InstrEmitter.h Remove the uses of getSubtargetImpl from InstrEmitter and remove 2014-10-09 01:35:29 +00:00
LegalizeDAG.cpp [CodeGen] Replace the reused stores' chain for extractelt expansion. 2015-03-09 22:51:05 +00:00
LegalizeFloatTypes.cpp Fix makeLibCall argument (signed) in SoftenFloatRes_XINT_TO_FP function 2015-02-10 23:30:14 +00:00
LegalizeIntegerTypes.cpp LegalizeTypes: Handle shift by 0 in ExpandShiftByConstant. 2015-03-06 01:13:01 +00:00
LegalizeTypes.cpp [PowerPC] Implement readcyclecounter for PPC32 2014-12-02 22:01:00 +00:00
LegalizeTypes.h [SDAG] Move TRUNCATE splitting logic into a helper, and use 2015-03-31 10:20:58 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp fix typo and 80-col; NFC 2015-03-27 21:45:18 +00:00
LegalizeVectorTypes.cpp [SDAG] Move TRUNCATE splitting logic into a helper, and use 2015-03-31 10:20:58 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp unique_ptrify ResourcePriorityQueue::ResourceModel 2015-03-03 20:49:08 +00:00
ScheduleDAGFast.cpp Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
ScheduleDAGRRList.cpp Fix a bug in SelectionDAG scheduling backtracking code: PR22304. 2015-03-27 03:44:13 +00:00
ScheduleDAGSDNodes.cpp Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp Remove more calls to getSubtargetImpl from the schedulers and 2014-10-09 06:28:06 +00:00
SDNodeDbgValue.h constify the getters in SDNodeDbgValue. 2014-10-13 20:43:47 +00:00
SelectionDAG.cpp [DAGCombiner] Add support for FCEIL, FFLOOR and FTRUNC vector constant folding 2015-04-06 17:15:41 +00:00
SelectionDAGBuilder.cpp [WinEH] Don't sink allocas into child handlers 2015-04-06 18:50:38 +00:00
SelectionDAGBuilder.h CodeGen: Assert that inlined-at locations agree 2015-04-03 19:20:26 +00:00
SelectionDAGDumper.cpp CodeGen: Use the new DebugLoc API, NFC 2015-03-30 19:14:47 +00:00
SelectionDAGISel.cpp CodeGen: Assert that inlined-at locations agree 2015-04-03 19:20:26 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp Require a GC strategy be specified for functions which use gc.statepoint 2015-03-27 05:09:33 +00:00
StatepointLowering.h [Statepoints 3/4] Statepoint infrastructure for garbage collection: SelectionDAGBuilder 2014-12-02 18:50:36 +00:00
TargetLowering.cpp [CodeGen] Report error rather than crash when unable to makeLibCall. 2015-03-26 22:46:58 +00:00
TargetSelectionDAGInfo.cpp