1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Benjamin Kramer fbbec483df JumpThreading: Turn a select instruction into branching if it allows to thread one half of the select.
This is a common pattern coming out of simplifycfg generating gross code.

a:                                       ; preds = %entry
  %sel = select i1 %cmp1, double %add, double 0.000000e+00
  br label %b

b:
  %cond5 = phi double [ %sel, %a ], [ %sub, %entry ]
  %cmp6 = fcmp oeq double %cond5, 0.000000e+00
  br i1 %cmp6, label %if.then, label %if.end

becomes

a:
  br i1 %cmp1, label %b, label %if.then

b:
  %cond5 = phi double [ %sub, %entry ], [ %add, %a ]
  %cmp6 = fcmp oeq double %cond5, 0.000000e+00
  br i1 %cmp6, label %if.then, label %if.end

Skipping block b completely if possible.

llvm-svn: 187880
2013-08-07 10:29:38 +00:00
..
Analysis Remove extraneous semicolon. 2013-08-06 16:40:40 +00:00
AsmParser Target/X86: Add explicit Win64 and System V/x86-64 calling conventions. 2013-07-12 06:02:35 +00:00
Bitcode Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
CodeGen Remove some parens. No functional change. 2013-08-07 08:35:10 +00:00
DebugInfo Store compile unit corresponding to each chain of inlined debug info entries. No functionality change. 2013-08-06 10:49:15 +00:00
ExecutionEngine LLVM Interpreter: This patch implements vector support for cast operations (zext, sext, uitofp, sitofp, trunc, fpext, fptosi, fptrunc, bitcast) and shift operations (shl, ashr, lshr) for integer and floating point data types. 2013-08-05 12:17:06 +00:00
IR Debug Info Finder|Verifier: handle DbgLoc attached to instructions. 2013-08-06 19:38:43 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker
MC AsmParser: Store MacroLikeBodies on the side so they don't get leaked. 2013-08-04 09:06:29 +00:00
Object YAMLTraits.h: replace DenseMap that used a bad implementation of DenseMapInfo 2013-08-07 05:51:27 +00:00
Option Option/CMakeLists.txt: Don't use target_link_libraries. LLVMBuild knows dependencies. 2013-08-06 05:56:32 +00:00
Support Add support for linking against a curses library when available and 2013-08-07 08:47:36 +00:00
TableGen Remove some std stream usage from Support and TableGen 2013-08-06 22:51:21 +00:00
Target Simplify code. No functional change intended. 2013-08-07 08:16:07 +00:00
Transforms JumpThreading: Turn a select instruction into branching if it allows to thread one half of the select. 2013-08-07 10:29:38 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile