llvm-6502/test
Juergen Ributzka b49ee78320 [CodeGenPrepare] Split branch conditions into multiple conditional branches.
This optimization transforms code like:
bb1:
  %0 = icmp ne i32 %a, 0
  %1 = icmp ne i32 %b, 0
  %or.cond = or i1 %0, %1
  br i1 %or.cond, label %TrueBB, label %FalseBB

into a multiple branch instructions like:

bb1:
  %0 = icmp ne i32 %a, 0
  br i1 %0, label %TrueBB, label %bb2
bb2:
  %1 = icmp ne i32 %b, 0
  br i1 %1, label %TrueBB, label %FalseBB

This optimization is already performed by SelectionDAG, but not by FastISel.
FastISel cannot perform this optimization, because it cannot generate new
MachineBasicBlocks.

Performing this optimization at CodeGenPrepare time makes it available to both -
SelectionDAG and FastISel - and the implementation in SelectiuonDAG could be
removed. There are currenty a few differences in codegen for X86 and PPC, so
this commmit only enables it for FastISel.

Reviewed by Jim Grosbach

This fixes rdar://problem/19034919.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223786 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-09 16:36:13 +00:00
..
Analysis BFI: Saturate when combining edges to a successor 2014-12-05 19:13:42 +00:00
Assembler Reland r223754 2014-12-09 05:56:09 +00:00
Bindings [OCaml] Move Llvm.clone_module to its own Llvm_transform_utils module. 2014-12-01 19:50:39 +00:00
Bitcode IR: Fix bitcode compatability filenames 2014-12-08 00:41:39 +00:00
BugPoint
CodeGen [CodeGenPrepare] Split branch conditions into multiple conditional branches. 2014-12-09 16:36:13 +00:00
DebugInfo Fix a bug when pretty-printing DW_OP_deref. 2014-12-05 18:19:38 +00:00
ExecutionEngine Small model and JIT generally don't go well with each other. 2014-11-25 17:14:22 +00:00
Feature IR: Disallow function-local metadata attachments 2014-12-06 02:29:44 +00:00
FileCheck
Instrumentation InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
Integer
JitListener
Linker Lazily link GlobalVariables and GlobalAliases. 2014-12-08 18:45:16 +00:00
LTO Lazily link GlobalVariables and GlobalAliases. 2014-12-08 18:45:16 +00:00
MC Fix modified immediate bug reported by MC Hammer. 2014-12-09 13:14:58 +00:00
Object Add missing test file 2014-12-04 09:20:13 +00:00
Other
SymbolRewriter
TableGen
tools Re-add support to llvm-objdump for Mach-O universal files and archives with -macho 2014-12-04 23:56:27 +00:00
Transforms Removal Of Duplicate Test Cases and Addition Of Missing Check Statements 2014-12-09 10:46:38 +00:00
Unit
Verifier [Statepoints 1/4] Statepoint infrastructure for garbage collection: IR Intrinsics 2014-12-01 21:18:12 +00:00
YAMLParser
.clang-format
CMakeLists.txt Revert "Add missing test dependency and use a more canonical target name." 2014-12-04 04:33:32 +00:00
lit.cfg [OCaml] [cmake] Add CMake buildsystem for OCaml. 2014-12-01 19:50:23 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh