Go to file
Chandler Carruth 69e68f8468 [PM/LoopUnswitch] Begin teaching SimpleLoopUnswitch to use the new
update API for dominators rather than doing manual, hacky updates.

This is just the first step, but in some ways the most important as it
moves the non-trivial unswitching to update the domtree rather than
fully recalculating it each time.

Subsequent patches should remove the custom update logic used by the
trivial unswitch and replace it with uses of the update API.

This also fixes a number of bugs I was seeing when testing non-trivial
unswitch due to it querying the quasi-correct dominator tree. Now the
tree is 100% correct and safe to query. That said, there are still more
bugs I can see with non-trivial unswitch just running over the test
suite, so more bugfix patches are needed as well.

Thanks to both Sanjoy and Fedor for reviews and testing!

Differential Revision: https://reviews.llvm.org/D45943

llvm-svn: 330787
2018-04-25 00:18:07 +00:00
clang Revert "[Driver] Android triples are not aliases for other triples." 2018-04-24 22:06:40 +00:00
clang-tools-extra [clang-tidy] Improve bugprone-unused-return-value check 2018-04-24 21:25:16 +00:00
compiler-rt Remove 'noexcept's that do not match between header and source file. 2018-04-24 20:33:37 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc log10: Use sw implementation from amd builtins 2018-04-23 21:10:42 +00:00
libcxx Re-commit r330627 "[libcxx] implement <experimental/simd> declarations based on P0214R7." 2018-04-23 21:54:06 +00:00
libcxxabi [libc++abi] Replace __sync_* functions with __libcpp_atomic_* functions. 2018-04-16 22:00:14 +00:00
libunwind [cmake] Remove duplicate command line options from build 2018-04-05 20:27:50 +00:00
lld [COFF] create MemoryBuffers without requiring NUL terminators 2018-04-24 23:16:39 +00:00
lldb [lit, lldbsuite] Update the lldbsuite to correctly run tests on windows and windows server 2018-04-24 17:08:05 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [PM/LoopUnswitch] Begin teaching SimpleLoopUnswitch to use the new 2018-04-25 00:18:07 +00:00
openmp [OpenMP] Make bc file compilation sensitive to LIBOMPTARGET_NVPTX_DEBUG flag 2018-04-20 20:41:00 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Fixup Polly for an LLVM header file change. 2018-04-24 02:23:41 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.