llvm-6502/lib
Richard Sandiford aff1c6427c [SystemZ] Tweak integer comparison code
The architecture has many comparison instructions, including some that
extend one of the operands.  The signed comparison instructions use sign
extensions and the unsigned comparison instructions use zero extensions.
In cases where we had a free choice between signed or unsigned comparisons,
we were trying to decide at lowering time which would best fit the available
instructions, taking things like extension type into account.  The code
to do that was getting increasingly hairy and was also making some bad
decisions.  E.g. when comparing the result of two LLCs, it is better to use
CR rather than CLR, since CR can be fused with a branch while CLR can't.

This patch removes the lowering code and instead adds an operand to
integer comparisons to say whether signed comparison is required,
whether unsigned comparison is required, or whether either is OK.
We can then leave the choice of instruction up to the normal isel code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190138 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-06 11:51:39 +00:00
..
Analysis Revert: r189565 - Add getUnrollingPreferences to TTI 2013-08-29 03:33:15 +00:00
AsmParser Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
Bitcode Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
CodeGen Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
DebugInfo Add support for DebugFission to DWARF parser 2013-08-27 09:20:22 +00:00
ExecutionEngine llvm interpreter: select, shuffle and insertelement instructions. 2013-09-02 06:40:09 +00:00
IR Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Error on linking appending globals with different unnamed_addr. 2013-09-04 15:33:34 +00:00
MC Improve handling of .file, .include and .incbin directives to 2013-09-05 19:14:26 +00:00
Object Move everything depending on Object/MachOFormat.h over to Support/MachO.h. 2013-09-01 04:28:48 +00:00
Option Option parsing: support case-insensitive option matching. 2013-08-28 20:04:31 +00:00
Support Move accelerator table defines and constants to Dwarf.h since 2013-09-05 18:20:16 +00:00
TableGen Add an error check for a typo I accidentally made in a td file that caused an assert to fire. 2013-08-20 04:22:09 +00:00
Target [SystemZ] Tweak integer comparison code 2013-09-06 11:51:39 +00:00
Transforms Use type helper functions. 2013-09-06 00:37:24 +00:00
CMakeLists.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
LLVMBuild.txt Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00
Makefile Move lib/Archive to tools/llvm-ar. 2013-06-17 15:47:20 +00:00