1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib
Ehsan Amiri 852aec9243 [PPC][DAGCombine] Convert SETCC to subtract when the result is zero extended
When we see a SETCC whose only users are zero extend operations, we can replace
it with a subtraction. This results in doing all calculations in GPRs and
avoids CR use.

Currently we do this only for ULT, ULE, UGT and UGE condition codes. There are
ways that this can be extended. For example for signed condition codes. In that
case we will be introducing additional sign extend instructions, so more careful
profitability analysis may be required.

Another direction to extend this is for equal, not equal conditions. Also when
users of SETCC are any_ext or sign_ext, we might be able to do something 
similar.

llvm-svn: 287329
2016-11-18 10:41:44 +00:00
..
Analysis [SCEV] limit recursion depth of CompareSCEVComplexity 2016-11-17 16:07:52 +00:00
AsmParser [AsmParser] Avoid recursing when lexing ';'. NFC. 2016-11-16 22:25:05 +00:00
Bitcode [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
CodeGen MachineOperand: Add dump() method 2016-11-18 02:40:40 +00:00
DebugInfo Align Modi and FileInfo substreams on 32-byte offsets. 2016-11-16 00:59:27 +00:00
Demangle Demangle: only demangle mangled symbols 2016-11-14 04:54:47 +00:00
ExecutionEngine [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Fuzzer [libFuzzer] replace 'auto' with 'auto *' to better follow the LLVM style 2016-11-14 19:21:38 +00:00
IR [AVX-512] Replace masked 16-bit element variable shift intrinsics with new unmasked versions and selects. 2016-11-18 05:04:44 +00:00
IRReader Bitcode: Change module reader functions to return an llvm::Expected. 2016-11-13 07:00:17 +00:00
LibDriver
LineEditor
Linker Linker: Remove unnecessary call to copyMetadata in IRLinker::linkGlobalVariable. 2016-11-14 23:18:38 +00:00
LTO [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
MC Fix 24560: assembler does not share constant pool for same constants 2016-11-04 19:17:32 +00:00
Object Object: Simplify; remove unnecessary use of unique_ptr. 2016-11-18 03:20:36 +00:00
ObjectYAML Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Add a little endian variant of TCE. 2016-11-16 15:22:23 +00:00
TableGen TableGen: Add operator !or 2016-11-15 06:49:28 +00:00
Target [PPC][DAGCombine] Convert SETCC to subtract when the result is zero extended 2016-11-18 10:41:44 +00:00
Transforms [InstCombine][AVX-512] Teach InstCombineCalls how to handle the intrinsics for variable shift with 16-bit elements. 2016-11-18 06:04:33 +00:00
CMakeLists.txt
LLVMBuild.txt