aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-03-14Add a new "AutoDebugCrashes" optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor to use a new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Add new methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12394 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor and clean up a bunch more code. No major functionality changes.Chris Lattner
* Make several methods of bugdriver global functions (ParseInputFile, PrintFunctionList) * Make PrintFunctionList truncate the output after 10 entries, like the crash debugger did. This allows code sharing. * Add a couple of methods to BugDriver that allows us to eliminate some friends * Improve comments in ExtractFunction.cpp * Make classes that used to be friends up bugdriver now live in anon namespaces * Rip a bunch of functionality in the miscompilation tester into a new TestMergedProgram function for future code sharing. * Fix a bug in the miscompilation tester induced in my last checkin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Another API change to MRegisterInfo::foldMemoryOperand. Instead of aAlkis Evlogimenos
MachineBasicBlock::iterator take a MachineInstr*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Add a method to extract a loopChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Split into two passes. Now there is the general loop extractor, usable onChris Lattner
the command line, and the single loop extractor, usable by bugpoint git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Rename createLoopExtractorPass to createSingleLoopExtractorPassChris Lattner
Doxygenify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14add a fixmeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Refactor all of the "splitting a module into two pieces" code to avoidChris Lattner
code duplication. Also, don't use ReduceMiscompilingFunctions::TestFuncs to print out the final message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Change MRegisterInfo::foldMemoryOperand to return the foldedAlkis Evlogimenos
instruction to make the API more flexible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Passes don't print stuff!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Do not create empty basic blocks when the lowerswitch pass expects blocks toChris Lattner
be non-empty! This fixes LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12384 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14New testcase that crashes the -lowerswitch passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Minor random cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12382 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14FunctionPass's should not define their own 'run' method.Chris Lattner
Require 'simplified' loops, not just raw natural loops. This fixes CodeExtractor/2004-03-13-LoopExtractorCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14If a block is dead, dominators will not be calculated for it. Because of thisChris Lattner
loop information won't see it, and we could have unreachable blocks pointing to the non-header node of blocks in a natural loop. This isn't tidy, so have the loopsimplify pass clean it up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Catch some more cases of broken code. The loop extractor seems to be creatingChris Lattner
situations where there is a branch that goes to a block in another function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Verify functions as they are produced if -debug is specified. ReduceChris Lattner
curly braceage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12378 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14verifyFunction has been broken for a long time now. Fix it.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14New testcase that crashes the loop extractorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12376 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Move prototype to IPO.h instead of Scalar.hChris Lattner
Make sure that the file interface header (IPO.h) is included first remove dead #incldue git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12375 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Move loop extractor to the IPO headerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Indent anon namespace properly, add copyright blockChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12373 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Move to the IPO library. Utils shouldn't contain passes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12372 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Remove dead fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14DemoteRegToStack got moved from DemoteRegToStack.h to Local.hChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14Document stuff that is known to be brokenChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Add some debugging outputChris Lattner
Fix InstCombine/2004-03-13-InstCombineInfLoop.ll which caused an infinite loop compiling (I think) povray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12365 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13New testcase, distilled from povray I think.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13This change makes two big adjustments.Chris Lattner
* Be a lot more accurate about what the effects will be when inlining a call to a function when an argument is an alloca. * Dramatically reduce the penalty for inlining a call in a large function. This heuristic made it almost impossible to inline a function into a large function, no matter how small the callee is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12363 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13This little patch speeds up the loop used to update the dominator set analysis.Chris Lattner
On the testcase from GCC PR12440, which has a LOT of loops (1392 of which require preheaders to be inserted), this speeds up the loopsimplify pass from 1.931s to 0.1875s. The loop in question goes from 1.65s -> 0.0097s, which isn't bad. All of these times are a debug build. This adds a dependency on DominatorTree analysis that was not there before, but we always had dominatortree available anyway, because LICM requires both loop simplify and DT, so this doesn't add any extra analysis in practice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12362 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Turn on argument promotion in gccas. This can give us substantially betterChris Lattner
code in cases where the file has lots of static functions or anon namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12361 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Option no moreChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12360 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Fix the "infinite looping unless you disable adce" bugChris Lattner
Also remove an option to disable adce :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Fix a tiny bug that caused an incorrect assertion failure poolallocatingChris Lattner
boxed-sim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13It helps if I save the file. :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* toChris Lattner
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Implement sub.ll:test14Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13Oh right, casts can interfere. Test this tooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12354 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Implement InstCombine/sub.ll:test12 & test13Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12new testcasesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Fix a couple of minor problems. Because PHI nodes can use themselves, thisChris Lattner
could cause infinite loops. Also, getUnderlyingObject can return null git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Performed some updates on the new options to these command line tools.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Implement mod/ref analysis for a trivial case where locals don't escape.Chris Lattner
This comes up when you have a local array on the stack and you never pass the address of elements around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12348 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Revise comment and error message for the Bug 38 situation. Also, make itBrian Gaeke
print out the name of the function being used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Fixed grammar typo.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12345 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12Make -print-machineinstrs show us the code both before and after reg. alloc.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12344 91177308-0d34-0410-b5e6-96231b3b80d8