mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
e8bc700a87
The ExtractLoops function tries to reduce the failing test case by extracting one or more loops from the misoptimized piece of the program. In doing this, ExtractLoops must keep the MiscompiledFunctions vector up-to-date by ensuring that the pointers refer to functions in the current failing program. Unfortunately, this is not trivial because: - ExtractLoops is iterative, and there are several early exits (and the MiscompiledFunctions vector must be consistent with the current program at every non-fatal exit point). - Several of the utility functions used by ExtractLoops (such as TestOptimizer, some of which are called through the TestFn callback parameter, and Linker::LinkModules) delete their inputs upon success. This change adds several updates of the MiscompiledFunctions vector at different points. The first is after the initial call to TestMergedProgram which checks that the loop-extracted program still works. The second is after the call to TestFn (TestOptimizer, for example). This function will delete its inputs (which is why the existing ExtractLoops logic cloned the inputs first). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187674 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
bugpoint | ||
bugpoint-passes | ||
gold | ||
llc | ||
lli | ||
llvm-ar | ||
llvm-as | ||
llvm-bcanalyzer | ||
llvm-config | ||
llvm-cov | ||
llvm-diff | ||
llvm-dis | ||
llvm-dwarfdump | ||
llvm-extract | ||
llvm-jitlistener | ||
llvm-link | ||
llvm-mc | ||
llvm-mcmarkup | ||
llvm-nm | ||
llvm-objdump | ||
llvm-prof | ||
llvm-readobj | ||
llvm-rtdyld | ||
llvm-shlib | ||
llvm-size | ||
llvm-stress | ||
llvm-symbolizer | ||
lto | ||
macho-dump | ||
obj2yaml | ||
opt | ||
yaml2obj | ||
CMakeLists.txt | ||
LLVMBuild.txt | ||
Makefile |