llvm-6502/lib
Manman Ren ed57984483 X86: optimization for -(x != 0)
This patch will optimize -(x != 0) on X86
FROM 
cmpl	$0x01,%edi
sbbl	%eax,%eax
notl	%eax
TO
negl %edi
sbbl %eax %eax

In order to generate negl, I added patterns in Target/X86/X86InstrCompiler.td:
def : Pat<(X86sub_flag 0, GR32:$src), (NEG32r GR32:$src)>;

rdar: 10961709


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156312 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-07 18:06:23 +00:00
..
Analysis Rename the Region::block_iterator to Region::block_node_iterator, and 2012-05-04 20:55:23 +00:00
Archive
AsmParser
Bitcode
CodeGen Add a new target hook "predictableSelectIsExpensive". 2012-05-05 12:49:14 +00:00
DebugInfo
ExecutionEngine RuntimeDyld cleanup: 2012-05-01 10:41:12 +00:00
Linker Add a flag to the struct type finder to collect only those types which have 2012-04-21 23:59:16 +00:00
MC Nuke a few dead remnants of the CBE. 2012-05-05 17:45:12 +00:00
Object Fix the implementation of MachOObjectFile::isSectionZeroInit so it follows the MachO spec. 2012-05-02 02:31:28 +00:00
Support make SourceMgr tolerate empty SMLoc()'s better. 2012-05-06 16:20:49 +00:00
TableGen Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
Target X86: optimization for -(x != 0) 2012-05-07 18:06:23 +00:00
Transforms Switch the select to branch transformation on by default. 2012-05-06 14:25:16 +00:00
VMCore Reapply r155682, making constant folding more consistent, with a fix to work 2012-04-27 17:50:22 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile