llvm-6502/test
Benjamin Kramer 1db071f0da Teach instcombine to transform
(X >s -1) ? C1 : C2 and (X <s  0) ? C2 : C1
into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional.

This optimization could be extended to take non-const C1 and C2 but we better
stay conservative to avoid code size bloat for now.

for
int sel(int n) {
     return n >= 0 ? 60 : 100;
}

we now generate
  sarl  $31, %edi
  andl  $40, %edi
  leal  60(%rdi), %eax

instead of
  testl %edi, %edi
  movl  $60, %ecx
  movl  $100, %eax
  cmovnsl %ecx, %eax


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-08 11:39:10 +00:00
..
Analysis Remove interprocedural-basic-aa and associated code. The AliasAnalysis 2010-07-07 14:27:09 +00:00
Archive
Assembler add newlines at the end of files. 2010-04-07 22:53:17 +00:00
Bindings/Ocaml Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options. 2010-03-06 00:30:06 +00:00
Bitcode reapply 'reject forward references to functions whose type don't match' 2010-04-20 04:49:11 +00:00
BugPoint Fix this test to work under lit. 2010-06-07 20:58:11 +00:00
CodeGen A slight reworking of the custom patterns for x86-64 tpoff codegen and 2010-07-08 07:36:46 +00:00
DebugInfo Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree. 2010-06-30 00:11:08 +00:00
ExecutionEngine Revert r101455, which fails on the llvm-arm-linux buildbot. 2010-04-16 18:37:31 +00:00
Feature Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
FrontendAda
FrontendC Looks like this test is missing an XFAIL line. 2010-06-29 13:18:50 +00:00
FrontendC++ Less incorrect handling of zero-length bitfields. Radars 7992077 and 8093043. 2010-06-23 00:31:14 +00:00
FrontendFortran
FrontendObjC test case for r105504. 2010-06-04 23:47:41 +00:00
FrontendObjC++
Integer
lib Eliminate llvmgcc_version testing variable. 2010-02-23 07:56:28 +00:00
Linker
LLVMC Test for the -filelist fix. 2010-07-01 01:00:37 +00:00
MC Implement the major chunk of PR7195: support for 'callw' 2010-07-07 22:27:31 +00:00
Other Don't write a file named "&1". 2010-06-18 01:49:17 +00:00
Scripts tests: Run macho-dump with binary unbuffered streams on Windows, I can't find a Python 2.6 way to change stdin to binary. 2010-06-12 17:05:28 +00:00
TableGen Fix a tblgen bug. 2010-06-23 19:50:39 +00:00
Transforms Teach instcombine to transform 2010-07-08 11:39:10 +00:00
Unit Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
Verifier Reapply address space patch after fixing an issue in MemCopyOptimizer. 2010-04-04 03:10:48 +00:00
CMakeLists.txt tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests. 2010-06-12 16:21:19 +00:00
lit.cfg tests: Tweak lit.cfg to fix breakage with out-of-dir lookup. 2010-06-23 18:06:16 +00:00
lit.site.cfg.in tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests. 2010-06-12 16:21:19 +00:00
Makefile Add more virtual memory to lit. The python in x86-64 fedora 13 needs it to run 2010-06-08 16:17:58 +00:00
Makefile.tests Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX} 2010-02-23 10:28:06 +00:00
site.exp.in Eliminate llvmgcc_version testing variable. 2010-02-23 07:56:28 +00:00
TestRunner.sh