Go to file
Jessica Paquette aa087327ce [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h
This is setting up to fix bug 37573 cleanly.

This moves data structures that are technically both used in some way by the
target and the general-purpose outlining algorithm into MachineOutliner.h. In
particular, the `Candidate` class is of importance.

Before, the outliner passed the locations of `Candidates` to the target, which
would then make some decisions about the prospective outlined function. This
change allows us to just pass `Candidates` along to the target. This will allow
the target to discard `Candidates` that would be considered unsafe before cost
calculation. Thus, we will be able to remove the unsafe candidates described in
the bug without resorting to torching the entire prospective function.

Also, as a side-effect, it makes the outliner a bit cleaner.

https://bugs.llvm.org/show_bug.cgi?id=37573

llvm-svn: 333952
2018-06-04 21:14:16 +00:00
clang [analyzer] Re-enable constructors when lifetime extension through fields occurs. 2018-06-04 20:18:37 +00:00
clang-tools-extra [clang-doc] Adding missing dependencies to fix linker error on bot 2018-06-04 18:18:00 +00:00
compiler-rt [TSan] FreeBSD / intercept thr_exit 2018-06-04 06:02:38 +00:00
debuginfo-tests
libclc Add initial support for half precision builtins 2018-05-17 22:55:30 +00:00
libcxx Fix a strict aliasing violation in map and unordered_map. 2018-06-04 20:38:23 +00:00
libcxxabi private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld [ELF] - Fix BB. 2018-06-04 10:47:01 +00:00
lldb Remove dependency from Host to clang. 2018-06-04 17:41:00 +00:00
llgo
llvm [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h 2018-06-04 21:14:16 +00:00
openmp [OMPT] Rename ompt_wait_id to omp_wait_id 2018-05-28 08:16:08 +00:00
parallel-libs
polly partitionSetParts from C to C++ interface. 2018-06-01 19:12:00 +00:00
README.md

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.