mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-19 04:32:19 +00:00
If the user interrupts bugpoint, don't extract loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
86c27eebc0
commit
aed98fa886
@ -247,6 +247,8 @@ static bool ExtractLoops(BugDriver &BD,
|
|||||||
std::vector<Function*> &MiscompiledFunctions) {
|
std::vector<Function*> &MiscompiledFunctions) {
|
||||||
bool MadeChange = false;
|
bool MadeChange = false;
|
||||||
while (1) {
|
while (1) {
|
||||||
|
if (BugpointIsInterrupted) return MadeChange;
|
||||||
|
|
||||||
Module *ToNotOptimize = CloneModule(BD.getProgram());
|
Module *ToNotOptimize = CloneModule(BD.getProgram());
|
||||||
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize,
|
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize,
|
||||||
MiscompiledFunctions);
|
MiscompiledFunctions);
|
||||||
@ -506,7 +508,8 @@ DebugAMiscompilation(BugDriver &BD,
|
|||||||
|
|
||||||
// See if we can rip any loops out of the miscompiled functions and still
|
// See if we can rip any loops out of the miscompiled functions and still
|
||||||
// trigger the problem.
|
// trigger the problem.
|
||||||
if (ExtractLoops(BD, TestFn, MiscompiledFunctions)) {
|
if (!BugpointIsInterrupted &&
|
||||||
|
ExtractLoops(BD, TestFn, MiscompiledFunctions)) {
|
||||||
// Okay, we extracted some loops and the problem still appears. See if we
|
// Okay, we extracted some loops and the problem still appears. See if we
|
||||||
// can eliminate some of the created functions from being candidates.
|
// can eliminate some of the created functions from being candidates.
|
||||||
|
|
||||||
@ -526,7 +529,8 @@ DebugAMiscompilation(BugDriver &BD,
|
|||||||
std::cout << '\n';
|
std::cout << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ExtractBlocks(BD, TestFn, MiscompiledFunctions)) {
|
if (!BugpointIsInterrupted &&
|
||||||
|
ExtractBlocks(BD, TestFn, MiscompiledFunctions)) {
|
||||||
// Okay, we extracted some blocks and the problem still appears. See if we
|
// Okay, we extracted some blocks and the problem still appears. See if we
|
||||||
// can eliminate some of the created functions from being candidates.
|
// can eliminate some of the created functions from being candidates.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user