1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib
Andrew Kaylor fd49f275f8 Initial implementation of optimization bisect support.
This patch implements a optimization bisect feature, which will allow optimizations to be selectively disabled at compile time in order to track down test failures that are caused by incorrect optimizations.

The bisection is enabled using a new command line option (-opt-bisect-limit).  Individual passes that may be skipped call the OptBisect object (via an LLVMContext) to see if they should be skipped based on the bisect limit.  A finer level of control (disabling individual transformations) can be managed through an addition OptBisect method, but this is not yet used.

The skip checking in this implementation is based on (and replaces) the skipOptnoneFunction check.  Where that check was being called, a new call has been inserted in its place which checks the bisect limit and the optnone attribute.  A new function call has been added for module and SCC passes that behaves in a similar way.

Differential Revision: http://reviews.llvm.org/D19172

llvm-svn: 267022
2016-04-21 17:58:54 +00:00
..
Analysis Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
AsmParser IR: Enable debug info type ODR uniquing for forward decls 2016-04-19 18:00:19 +00:00
Bitcode BitcodeWriter: Emit metadata in post-order (again) 2016-04-21 01:55:12 +00:00
CodeGen Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
DebugInfo Thread Expected<...> up from libObject’s getName() for symbols to allow llvm-objdump to produce a good error message. 2016-04-20 21:24:34 +00:00
ExecutionEngine Fix another compilation error from r266919 for clang-atom-d525-fedora-rel which 2016-04-20 23:10:14 +00:00
Fuzzer [libFuzzer] added -detect_leaks flag (0 by default for now). When enabled, it will help finding leaks while fuzzing 2016-04-20 00:24:21 +00:00
IR Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
IRReader
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor
Linker Fix recursive -only-needed. 2016-04-21 14:56:33 +00:00
LTO ThinLTO: add module caching handling. 2016-04-21 05:54:23 +00:00
MC [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Object Fix compilation error in r266919. 2016-04-20 22:44:40 +00:00
ObjectYAML
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes Port DemandedBits to the new pass manager. 2016-04-18 23:55:01 +00:00
ProfileData Reapply "[Coverage] Prevent detection of false instantiations in case of macro expansion." 2016-04-18 15:36:30 +00:00
Support CachePruning: early exit if no path supplied 2016-04-21 06:43:45 +00:00
TableGen [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Target Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly 2016-04-21 17:48:02 +00:00
Transforms Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
CMakeLists.txt
LLVMBuild.txt