llvm-6502/lib
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
..
Analysis [opaque pointer type] More GEP API migrations in IRBuilder uses 2015-04-03 19:41:44 +00:00
AsmParser [opaque pointer type] Avoid using PointerType::getElementType when parsing IR 2015-04-06 20:59:48 +00:00
Bitcode [opaque pointer type] API migration for GEP constant factories 2015-04-02 18:55:32 +00:00
CodeGen Use sext in fast isel. 2015-04-06 22:29:07 +00:00
DebugInfo Raising minimum required CMake version to 2.8.12.2. 2015-03-23 20:03:57 +00:00
ExecutionEngine [Orc] Tidy up the assembly for the x86-64 resolver block. 2015-04-06 03:01:29 +00:00
Fuzzer Removing a spurious space; NFC. 2015-04-06 16:09:13 +00:00
IR DebugInfo: Reimplement DIRef<>::resolve() using TypedDebugNodeRef<> 2015-04-06 22:27:37 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Reapply "Linker: Drop function pointers for overridden subprograms" 2015-03-26 18:35:30 +00:00
LTO Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
MC Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
Object Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Option Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Support fix typos; NFC 2015-04-06 16:21:12 +00:00
TableGen Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
Target ARM: do not relax Thumb1 -> Thumb2 if only Thumb1 is available. 2015-04-06 18:44:42 +00:00
Transforms ArgPromo: Bail out earlier for varargs functions 2015-04-06 21:27:31 +00:00
CMakeLists.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
LLVMBuild.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
Makefile [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00