llvm with tablegen backend for capstone disassembler
Go to file
James Molloy 11a1936b70 [SimplifyCFG] Rewrite SinkThenElseCodeToEnd
The new version has several advantages:
  1) IMSHO it's more readable and neater
  2) It handles loads and stores properly
  3) It can handle any number of incoming blocks rather than just two. I'll be taking advantage of this in a followup patch.

With this change we can now finally sink load-modify-store idioms such as:

    if (a)
      return *b += 3;
    else
      return *b += 4;

    =>

    %z = load i32, i32* %y
    %.sink = select i1 %a, i32 5, i32 7
    %b = add i32 %z, %.sink
    store i32 %b, i32* %y
    ret i32 %b

When this works for switches it'll be even more powerful.

llvm-svn: 279229
2016-08-19 10:10:27 +00:00
clang clang/test/Modules/prebuilt-module.m: Prune "-triple" to fix a configuration mismatch. 2016-08-19 05:25:26 +00:00
clang-tools-extra minor header guards and help messages cleanup 2016-08-19 09:36:14 +00:00
compiler-rt Revert "[CMake] Fix ASM building in llvm/runtimes" 2016-08-19 08:03:26 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Implement vstore_half{,n} 2016-08-17 20:02:11 +00:00
libcxx [CMake] Get libcxx building under LLVM/runtimes 2016-08-18 21:31:51 +00:00
libcxxabi Default LIBCXXABI_LIBDIR_SUFFIX to LLVM_LIBDIR_SUFFIX 2016-08-16 03:44:55 +00:00
libunwind EHABI: cover switch once more 2016-08-18 23:59:12 +00:00
lld [ELF] - Do not change binding of symbols when creating relocatable output. 2016-08-19 08:31:02 +00:00
lldb add all missing gtest tests to the Xcode lldb-gtest target 2016-08-19 05:26:40 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm [SimplifyCFG] Rewrite SinkThenElseCodeToEnd 2016-08-19 10:10:27 +00:00
openmp cleanup: fixed names of dummy arguments of Fortran interfaces declarations, no functional changes done 2016-08-17 18:18:21 +00:00
parallel-libs [StreamExecutor] Rename StreamExecutor to Executor 2016-08-16 18:18:32 +00:00
polly [SCEVValidator] Don't reorder multiplies in extractConstantFactor. 2016-08-18 16:30:42 +00:00