aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-02-22Fix silly bug in implementation of getUseType(). Thanks Misha.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Completely rewrite how getelementptr instructions are expanded. This has twoChris Lattner
(minor) benefits right now: 1. An extra dummy MOVrr32 is gone. This move would often be coallesced by both allocators anyway. 2. The code now uses the gep_type_iterator to walk the gep, which should future proof it a bit. It still assumes that array indexes are Longs though. These don't really justify rewriting the code. The big benefit will come later though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11710 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22When folding memory operands in machine instructions be careful toAlkis Evlogimenos
leave register operands with the same use/def flags as the original instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11709 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Significantly simplify gep_type_iterator, and make its interface more ↵Chris Lattner
general/powerful git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Fix a soon-to-be-missing #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11707 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Get all instruction definitionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Wow this is out of date. When we have _real_ code generator documentation,Chris Lattner
this should be folded into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11705 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Print basic block boundaries in machine instruction debug output.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Link to most recent "LLVM document"Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11703 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Implement Transforms/InstCombine/cast.ll:test13, a case which occurs in aChris Lattner
hot 164.gzip loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Test that the instruction combiner can fold away a cast in a GEP instruction.Chris Lattner
This occurs in 164.gzip, as a result of it declaring arrays extern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22The two address pass cannot handle two addr instructions where one incomingChris Lattner
value is a physreg and one is a virtreg. For this reason, disable copy folding entirely for physregs. Also, use the new isMoveInstr target hook which gives us folding of FP moves as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Abstract merging of ranges away from number of slots per instruction.Alkis Evlogimenos
Also make it less aggressive as the current implementation breaks in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22Use isNull instead of getNode() to test for existence of a node, this is ↵Chris Lattner
cheaper. FIX MAJOR BUG, whereby we didn't merge null edges correctly. Correcting this fixes poolallocation on 175.vpr, and possibly others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11695 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Fix an iterator invalidation problem which was causing some nodes to not beChris Lattner
correctly merged over! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11693 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Use handy methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11692 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Update comments and add warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21`cat' is usually in /bin, not /usr/bin, at least on our systems.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11690 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21When printing a stack trace, demangle it if possible. Since we are potentiallyChris Lattner
in a signal handler, allocating memory or doing other unsafe things is bad, which means we should do it in a different process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11689 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Make 'fold' statistic's description the same in both allocators.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21Instead of cloning the globals for main into the globals graph at the end ofChris Lattner
BU propagation, clone the globals into the GG of EACH FUNCTION that finishes processing! The GlobalsGraph *must* include all globals and effects from all functions in the program. Fixing this makes pool allocation work better on 175.vpr, but it still ultimately crashes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20There is no need to merge the globals graph into the function graphs at theChris Lattner
end of the BU and CBU passes. The globals will be marked incomplete, so it doesn't matter if they are missing some info, and merging isn't guaranteed to bring everything in anyway! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11684 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add two missing returns, which caused us to be very pessimistic about theChris Lattner
printf and scanf families! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11683 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11682 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Added the POVRAY_ROOT to locate Povray.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11681 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Added an option for configuring Povray. By default, it should find my localJohn Criswell
installation of Povray (and not do anything for people who don't have it). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11680 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Build an archive for use with Povray.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Some more statistics improvements.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Disambiguate statistic descriptions.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11675 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Rename statistic and add another one.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11674 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add support for some string functions, the scanf family, and sprintfChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11673 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add a simple implementation of strncpyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11672 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20New testcase, do not emit a call to __builtin_sqrt, emit a call to sqrt instead!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11668 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Bug fixedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11662 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20PR244: [llvm-gcc] miscompilation when a function is re-declared as staticChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11661 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Add checks for <execinfo.h> and backtrace().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11660 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Fix crash in debug output.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11659 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Use backtrace() and include execinfo.h, if they were detected by autoconf.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Regenerated using autoheader-2.57.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11657 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Regenerated using autoconf-2.57.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11656 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Fix instruction numbering in debug output.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Too many changes in one commit:Alkis Evlogimenos
1. LiveIntervals now implement a 4 slot per instruction model. Load, Use, Def and a Store slot. This is required in order to correctly represent caller saved register clobbering on function calls, register reuse in the same instruction (def resues last use) and also spill code added later by the allocator. The previous representation (2 slots per instruction) was insufficient and as a result was causing subtle bugs. 2. Fixes in spill code generation. This was the major cause of failures in the test suite. 3. Linear scan now has core support for folding memory operands. This is untested and not enabled (the live interval update function does not attempt to fold loads/stores in instructions). 4. Lots of improvements in the debugging output of both live intervals and linear scan. Give it a try... it is beautiful :-) In summary the above fixes all the issues with the recent reserved register elimination changes and get the allocator very close to the next big step: folding memory operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20If bugpoint can't match the reference output, at LEAST provide the outputChris Lattner
we can get. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11653 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Wild and passionate uncontrolled goose chases are amusing to watch, but notChris Lattner
very helpful. Let bugpoint favor being helpful instead of determined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20Format a bit more nicelyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20It is totally unacceptable to print out (literally) millions of zeros whenChris Lattner
compiling 129.compress... so don't! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19Add strndupChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11638 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19Add a method useful for updating DSAChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19Disable the stack trace thing until we can get an autoconf test for it. ThisChris Lattner
call breaks on sparcs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11635 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19Make sure to print a stack trace whenever an error signal is deliveredChris Lattner
to the tool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11634 91177308-0d34-0410-b5e6-96231b3b80d8