oota-llvm.git
20 years agoPR244: [llvm-gcc] miscompilation when a function is re-declared as static
Chris Lattner [Fri, 20 Feb 2004 17:32:24 +0000 (17:32 +0000)]
PR244: [llvm-gcc] miscompilation when a function is re-declared as static

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11661 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd checks for <execinfo.h> and backtrace().
Brian Gaeke [Fri, 20 Feb 2004 06:41:59 +0000 (06:41 +0000)]
Add checks for <execinfo.h> and backtrace().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11660 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix crash in debug output.
Alkis Evlogimenos [Fri, 20 Feb 2004 06:41:12 +0000 (06:41 +0000)]
Fix crash in debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11659 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUse backtrace() and include execinfo.h, if they were detected by autoconf.
Brian Gaeke [Fri, 20 Feb 2004 06:40:59 +0000 (06:40 +0000)]
Use backtrace() and include execinfo.h, if they were detected by autoconf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11658 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRegenerated using autoheader-2.57.
Brian Gaeke [Fri, 20 Feb 2004 06:40:58 +0000 (06:40 +0000)]
Regenerated using autoheader-2.57.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11657 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRegenerated using autoconf-2.57.
Brian Gaeke [Fri, 20 Feb 2004 06:40:57 +0000 (06:40 +0000)]
Regenerated using autoconf-2.57.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11656 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix instruction numbering in debug output.
Alkis Evlogimenos [Fri, 20 Feb 2004 06:29:51 +0000 (06:29 +0000)]
Fix instruction numbering in debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11655 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoToo many changes in one commit:
Alkis Evlogimenos [Fri, 20 Feb 2004 06:15:40 +0000 (06:15 +0000)]
Too many changes in one commit:

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

20 years agoIf bugpoint can't match the reference output, at LEAST provide the output
Chris Lattner [Fri, 20 Feb 2004 06:12:58 +0000 (06:12 +0000)]
If bugpoint can't match the reference output, at LEAST provide the output
we can get.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11653 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWild and passionate uncontrolled goose chases are amusing to watch, but not
Chris Lattner [Fri, 20 Feb 2004 05:58:58 +0000 (05:58 +0000)]
Wild and passionate uncontrolled goose chases are amusing to watch, but not
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

20 years agoFormat a bit more nicely
Chris Lattner [Fri, 20 Feb 2004 05:56:48 +0000 (05:56 +0000)]
Format a bit more nicely

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11651 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIt is totally unacceptable to print out (literally) millions of zeros when
Chris Lattner [Fri, 20 Feb 2004 05:49:22 +0000 (05:49 +0000)]
It is totally unacceptable to print out (literally) millions of zeros when
compiling 129.compress... so don't!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11649 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd strndup
Chris Lattner [Thu, 19 Feb 2004 21:44:41 +0000 (21:44 +0000)]
Add strndup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11638 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a method useful for updating DSA
Chris Lattner [Thu, 19 Feb 2004 21:27:50 +0000 (21:27 +0000)]
Add a method useful for updating DSA

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDisable the stack trace thing until we can get an autoconf test for it. This
Chris Lattner [Thu, 19 Feb 2004 21:21:23 +0000 (21:21 +0000)]
Disable the stack trace thing until we can get an autoconf test for it.  This
call breaks on sparcs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11635 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure to print a stack trace whenever an error signal is delivered
Chris Lattner [Thu, 19 Feb 2004 20:33:00 +0000 (20:33 +0000)]
Make sure to print a stack trace whenever an error signal is delivered
to the tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11634 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure to print a stack trace whenever an error signal is delivered to
Chris Lattner [Thu, 19 Feb 2004 20:32:39 +0000 (20:32 +0000)]
Make sure to print a stack trace whenever an error signal is delivered to
the tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure to print a stack trace whenever an error signal is delivered to the
Chris Lattner [Thu, 19 Feb 2004 20:32:12 +0000 (20:32 +0000)]
Make sure to print a stack trace whenever an error signal is delivered to the
tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11632 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement new function
Chris Lattner [Thu, 19 Feb 2004 20:03:14 +0000 (20:03 +0000)]
Implement new function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11631 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new function
Chris Lattner [Thu, 19 Feb 2004 20:03:08 +0000 (20:03 +0000)]
Add a new function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11630 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix RA::verifyAssignment()
Alkis Evlogimenos [Thu, 19 Feb 2004 19:24:17 +0000 (19:24 +0000)]
Fix RA::verifyAssignment()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11629 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix problem fusing spill code into instructions: we didn't update the live
Chris Lattner [Thu, 19 Feb 2004 18:34:02 +0000 (18:34 +0000)]
Fix problem fusing spill code into instructions: we didn't update the live
variable information to take into account the change of instruction
address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11628 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix an iterator invalidation problem. :(
Chris Lattner [Thu, 19 Feb 2004 18:32:29 +0000 (18:32 +0000)]
Fix an iterator invalidation problem.  :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11627 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoADd a method for when an instruction moves
Chris Lattner [Thu, 19 Feb 2004 18:28:22 +0000 (18:28 +0000)]
ADd a method for when an instruction moves

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11626 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd method to update livevar when an instruction moves
Chris Lattner [Thu, 19 Feb 2004 18:28:02 +0000 (18:28 +0000)]
Add method to update livevar when an instruction moves

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11625 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBe a bit more robust. Explicitly check for a code generator crash.
Chris Lattner [Thu, 19 Feb 2004 17:03:49 +0000 (17:03 +0000)]
Be a bit more robust.  Explicitly check for a code generator crash.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11624 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a __LONG__ term annoyance of mine: symbolic registers weren't being printed
Chris Lattner [Thu, 19 Feb 2004 16:17:08 +0000 (16:17 +0000)]
Fix a __LONG__ term annoyance of mine: symbolic registers weren't being printed
by operator<< on MachineInstr's, and looking up what register "24" is all of the
time was greatly annoying.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11623 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a MachineBasicBlock::getParent() method
Chris Lattner [Thu, 19 Feb 2004 16:13:54 +0000 (16:13 +0000)]
Add a MachineBasicBlock::getParent() method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11622 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake ToolExecutionError inherit std::exception and implement its
Alkis Evlogimenos [Thu, 19 Feb 2004 07:39:26 +0000 (07:39 +0000)]
Make ToolExecutionError inherit std::exception and implement its
interface: getMessage() is gone, use what() instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11621 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPrint stacktrace in STDERR before dying on a fatal signal. Currently
Alkis Evlogimenos [Thu, 19 Feb 2004 07:36:35 +0000 (07:36 +0000)]
Print stacktrace in STDERR before dying on a fatal signal. Currently
the symbols are not demangled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11620 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename reloads/spills to loads/stores.
Alkis Evlogimenos [Thu, 19 Feb 2004 06:19:09 +0000 (06:19 +0000)]
Rename reloads/spills to loads/stores.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11619 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis is needed by assignment verification in linear-scan.
Alkis Evlogimenos [Thu, 19 Feb 2004 01:10:55 +0000 (01:10 +0000)]
This is needed by assignment verification in linear-scan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11618 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix the "horribly N^2'd" problem when deleting individual instructions.
Chris Lattner [Wed, 18 Feb 2004 23:59:11 +0000 (23:59 +0000)]
Fix the "horribly N^2'd" problem when deleting individual instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11617 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDocument the code generator debugger.
Chris Lattner [Wed, 18 Feb 2004 23:30:21 +0000 (23:30 +0000)]
Document the code generator debugger.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11616 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agodocument the -march=c option
Chris Lattner [Wed, 18 Feb 2004 23:30:02 +0000 (23:30 +0000)]
document the -march=c option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11615 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Predicate the optimizer crash debugger on a function.
Chris Lattner [Wed, 18 Feb 2004 23:26:28 +0000 (23:26 +0000)]
* Predicate the optimizer crash debugger on a function.
* Implement a new code generator crash debugger which uses this predicate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11614 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new method for use by the code generator crash debugger.
Chris Lattner [Wed, 18 Feb 2004 23:25:22 +0000 (23:25 +0000)]
Add a new method for use by the code generator crash debugger.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11613 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't crash if there are no passes in the PassesToRun list
Chris Lattner [Wed, 18 Feb 2004 23:24:56 +0000 (23:24 +0000)]
Don't crash if there are no passes in the PassesToRun list

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11612 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for just running the code generator
Chris Lattner [Wed, 18 Feb 2004 23:24:41 +0000 (23:24 +0000)]
Add support for just running the code generator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11611 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for just compiling a program
Chris Lattner [Wed, 18 Feb 2004 23:24:29 +0000 (23:24 +0000)]
Add support for just compiling a program

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11610 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement assignment correctness verification.
Alkis Evlogimenos [Wed, 18 Feb 2004 23:15:23 +0000 (23:15 +0000)]
Implement assignment correctness verification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11609 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove unused typedefs in private section. Add method to return interval
Alkis Evlogimenos [Wed, 18 Feb 2004 23:14:52 +0000 (23:14 +0000)]
Move unused typedefs in private section. Add method to return interval
given a register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11608 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake the executeProgram method exception safe, not leaving around bytecode
Chris Lattner [Wed, 18 Feb 2004 22:01:21 +0000 (22:01 +0000)]
Make the executeProgram method exception safe, not leaving around bytecode
files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11607 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake more stuff public. Make the instruction argument to
Chris Lattner [Wed, 18 Feb 2004 21:50:26 +0000 (21:50 +0000)]
Make more stuff public.  Make the instruction argument to
deleteInstructionFromProgram be const

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11606 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agomake a bunch of methods public
Chris Lattner [Wed, 18 Feb 2004 21:35:28 +0000 (21:35 +0000)]
make a bunch of methods public

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11605 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoA couple of minor cleanups: don't forward declare private classes, put private
Chris Lattner [Wed, 18 Feb 2004 21:29:46 +0000 (21:29 +0000)]
A couple of minor cleanups: don't forward declare private classes, put private
classes in an anon namespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11604 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCleanup and simplify manipulation of the program, eliminate the need for so
Chris Lattner [Wed, 18 Feb 2004 21:24:48 +0000 (21:24 +0000)]
Cleanup and simplify manipulation of the program, eliminate the need for so
many 'friends' of bugdriver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11603 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a stub for debugging code generator crashes
Chris Lattner [Wed, 18 Feb 2004 21:02:04 +0000 (21:02 +0000)]
Add a stub for debugging code generator crashes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11602 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoindent correctly
Chris Lattner [Wed, 18 Feb 2004 20:58:00 +0000 (20:58 +0000)]
indent correctly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11601 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't yell. BUGPOINT should yell, not the tool runner :)
Chris Lattner [Wed, 18 Feb 2004 20:57:38 +0000 (20:57 +0000)]
Don't yell.  BUGPOINT should yell, not the tool runner :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11600 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate comments, if we are running with the CBE, make sure the Interpreter
Chris Lattner [Wed, 18 Feb 2004 20:52:02 +0000 (20:52 +0000)]
Update comments, if we are running with the CBE, make sure the Interpreter
variable and the CBE variable are pointer equal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11599 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoByebye method
Chris Lattner [Wed, 18 Feb 2004 20:38:12 +0000 (20:38 +0000)]
Byebye method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11598 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIf there is an error running a tool, include the error message (e.g. assertion failur...
Chris Lattner [Wed, 18 Feb 2004 20:38:00 +0000 (20:38 +0000)]
If there is an error running a tool, include the error message (e.g. assertion failure) in the exception

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11597 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a label for the bump when we started counting llvm/projects
Chris Lattner [Wed, 18 Feb 2004 20:27:06 +0000 (20:27 +0000)]
Add a label for the bump when we started counting llvm/projects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11596 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoctor arguments changed order
Chris Lattner [Wed, 18 Feb 2004 20:22:25 +0000 (20:22 +0000)]
ctor arguments changed order

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11595 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCatch exception and print message as appropriate
Chris Lattner [Wed, 18 Feb 2004 20:22:11 +0000 (20:22 +0000)]
Catch exception and print message as appropriate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11594 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWhen an error occurs executing a tool, we now throw an exception instead
Chris Lattner [Wed, 18 Feb 2004 20:21:57 +0000 (20:21 +0000)]
When an error occurs executing a tool, we now throw an exception instead
of calling exit(1).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11593 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChange the order of the arguments to the ctor, allowing us to make the boolean defaul...
Chris Lattner [Wed, 18 Feb 2004 20:20:52 +0000 (20:20 +0000)]
Change the order of the arguments to the ctor, allowing us to make the boolean default to true

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11592 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPre-emptive commit of cfrac license information.
John Criswell [Wed, 18 Feb 2004 20:00:05 +0000 (20:00 +0000)]
Pre-emptive commit of cfrac license information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11588 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBugpoint will be throwing exceptions soon, perpare for the worst.
Chris Lattner [Wed, 18 Feb 2004 17:32:54 +0000 (17:32 +0000)]
Bugpoint will be throwing exceptions soon, perpare for the worst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11584 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis class got moved to FileUtilities.h
Chris Lattner [Wed, 18 Feb 2004 17:17:10 +0000 (17:17 +0000)]
This class got moved to FileUtilities.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11583 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove a helper class out of bugpoint to here.
Chris Lattner [Wed, 18 Feb 2004 17:16:17 +0000 (17:16 +0000)]
Move a helper class out of bugpoint to here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11582 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoExtract has new options
Chris Lattner [Wed, 18 Feb 2004 16:55:29 +0000 (16:55 +0000)]
Extract has new options

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11581 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGive extract -o and -f options, just like every other tool!
Chris Lattner [Wed, 18 Feb 2004 16:53:59 +0000 (16:53 +0000)]
Give extract -o and -f options, just like every other tool!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11580 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoeliminate a pair of really inefficient methods now that noone uses them
Chris Lattner [Wed, 18 Feb 2004 16:45:22 +0000 (16:45 +0000)]
eliminate a pair of really inefficient methods now that noone uses them

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11579 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate operator[] is deprecated warnings
Chris Lattner [Wed, 18 Feb 2004 16:43:51 +0000 (16:43 +0000)]
Eliminate operator[] is deprecated warnings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11578 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix deprecated operator[] warnings
Chris Lattner [Wed, 18 Feb 2004 16:38:18 +0000 (16:38 +0000)]
Fix deprecated operator[] warnings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11577 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix argument size for MOVSX and MOVZX instructions.
Alkis Evlogimenos [Wed, 18 Feb 2004 16:20:40 +0000 (16:20 +0000)]
Fix argument size for MOVSX and MOVZX instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11576 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBe more agressive when joining ranges.
Alkis Evlogimenos [Wed, 18 Feb 2004 04:38:37 +0000 (04:38 +0000)]
Be more agressive when joining ranges.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11575 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix overly conservative spill interval computation.
Alkis Evlogimenos [Wed, 18 Feb 2004 03:35:38 +0000 (03:35 +0000)]
Fix overly conservative spill interval computation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11574 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBeautify debug output.
Alkis Evlogimenos [Wed, 18 Feb 2004 00:35:06 +0000 (00:35 +0000)]
Beautify debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11573 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded the Malloc perl benchmark license information.
John Criswell [Tue, 17 Feb 2004 22:58:41 +0000 (22:58 +0000)]
Added the Malloc perl benchmark license information.
Corrected the GhostScript license information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11571 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBug fixed
Chris Lattner [Tue, 17 Feb 2004 22:00:39 +0000 (22:00 +0000)]
Bug fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11567 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase for PR245
Chris Lattner [Tue, 17 Feb 2004 21:58:29 +0000 (21:58 +0000)]
New testcase for PR245

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11566 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix PR245: Linking weak and strong global variables is dependent on link order
Chris Lattner [Tue, 17 Feb 2004 21:56:04 +0000 (21:56 +0000)]
Fix PR245: Linking weak and strong global variables is dependent on link order

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11565 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWhen we complete the bottom-up pass, make sure to merge the globals in 'main' into
Chris Lattner [Tue, 17 Feb 2004 19:06:47 +0000 (19:06 +0000)]
When we complete the bottom-up pass, make sure to merge the globals in 'main' into
the globals graph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11562 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSince tail duplication is currently neutered, we have to help the optimizer to remove...
Chris Lattner [Tue, 17 Feb 2004 18:45:06 +0000 (18:45 +0000)]
Since tail duplication is currently neutered, we have to help the optimizer to remove the overhead of __main

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11561 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for GlobalAddress's for alkis
Chris Lattner [Tue, 17 Feb 2004 18:23:55 +0000 (18:23 +0000)]
Add support for GlobalAddress's for alkis

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11560 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThese store to memory too.
Alkis Evlogimenos [Tue, 17 Feb 2004 17:53:48 +0000 (17:53 +0000)]
These store to memory too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11558 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove the -disable-kill option. The register allocator is buggy with it,
Chris Lattner [Tue, 17 Feb 2004 17:49:10 +0000 (17:49 +0000)]
Remove the -disable-kill option.  The register allocator is buggy with it,
and it was only for debugging in the first place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11557 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThese store to memory, not read from it.
Chris Lattner [Tue, 17 Feb 2004 17:46:50 +0000 (17:46 +0000)]
These store to memory, not read from it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11556 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded espresso.
John Criswell [Tue, 17 Feb 2004 17:07:52 +0000 (17:07 +0000)]
Added espresso.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11555 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInstructiosn with 1 memory operand have 4 operands in our
Alkis Evlogimenos [Tue, 17 Feb 2004 15:58:13 +0000 (15:58 +0000)]
Instructiosn with 1 memory operand have 4 operands in our
representation.. duh!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11554 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAlign case statements.
Alkis Evlogimenos [Tue, 17 Feb 2004 15:50:41 +0000 (15:50 +0000)]
Align case statements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11552 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd TEST and XCHG memory operand support.
Alkis Evlogimenos [Tue, 17 Feb 2004 15:48:42 +0000 (15:48 +0000)]
Add TEST and XCHG memory operand support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11550 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd OR and XOR memory operand support.
Alkis Evlogimenos [Tue, 17 Feb 2004 15:33:14 +0000 (15:33 +0000)]
Add OR and XOR memory operand support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11549 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPeephole optimize SUBmi{16,32} into SUBmi{16,32}b when immediate is 8
Alkis Evlogimenos [Tue, 17 Feb 2004 15:14:29 +0000 (15:14 +0000)]
Peephole optimize SUBmi{16,32} into SUBmi{16,32}b when immediate is 8
bits wide.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11548 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoADDmi{16,32} should be in the next case statement.
Alkis Evlogimenos [Tue, 17 Feb 2004 15:10:11 +0000 (15:10 +0000)]
ADDmi{16,32} should be in the next case statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11547 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd memory operand folding support for MUL, DIV, IDIV, NEG, NOT,
Alkis Evlogimenos [Tue, 17 Feb 2004 09:14:23 +0000 (09:14 +0000)]
Add memory operand folding support for MUL, DIV, IDIV, NEG, NOT,
MOVSX, and MOVZX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11546 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd memory operand folding for CMP{rm,mr,mi}{8,16,32}, INCm{8,16,32}
Alkis Evlogimenos [Tue, 17 Feb 2004 08:49:20 +0000 (08:49 +0000)]
Add memory operand folding for CMP{rm,mr,mi}{8,16,32}, INCm{8,16,32}
and DECm{8,16,32} instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11545 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd CMP{rm,mr,mi}{8,16,32}, INCm{8,16,32} and DECm{8,16,32} instructions.
Alkis Evlogimenos [Tue, 17 Feb 2004 08:49:00 +0000 (08:49 +0000)]
Add CMP{rm,mr,mi}{8,16,32}, INCm{8,16,32} and DECm{8,16,32} instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11544 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd SUB{rm,mr,mi}{8,16,32} instructions.
Alkis Evlogimenos [Tue, 17 Feb 2004 08:17:40 +0000 (08:17 +0000)]
Add SUB{rm,mr,mi}{8,16,32} instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11543 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support to the local allocator for fusing spill code into the instructions
Chris Lattner [Tue, 17 Feb 2004 08:09:40 +0000 (08:09 +0000)]
Add support to the local allocator for fusing spill code into the instructions
that need them.  This is very useful on CISCy targets like the X86 because it
reduces the total spill pressure, and makes better use of it's (large)
instruction set.  Though the X86 backend doesn't know how to rewrite many
instructions yet, this already makes a substantial difference on 176.gcc for
example:

Before:
Time:
   8.0099 ( 31.2%)   0.0100 ( 12.5%)   8.0199 ( 31.2%)   7.7186 ( 30.0%)  Local Register Allocator

Code quality:
734559 asm-printer           - Number of machine instrs printed
111395 ra-local              - Number of registers reloaded
 79902 ra-local              - Number of registers spilled
231554 x86-peephole          - Number of peephole optimization performed

After:
Time:
   7.8700 ( 30.6%)   0.0099 ( 19.9%)   7.8800 ( 30.6%)   7.7892 ( 30.2%)  Local Register Allocator
Code quality:
733083 asm-printer           - Number of machine instrs printed
  2379 ra-local              - Number of reloads fused into instructions
109046 ra-local              - Number of registers reloaded
 79881 ra-local              - Number of registers spilled
230658 x86-peephole          - Number of peephole optimization performed

So by fusing 2300 instructions, we reduced the  static number of instructions
by 1500, and reduces the number of peepholes (and thus the work) by about 900.
This also clearly reduces the number of reload/spill instructions that are
emitted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11542 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for folding memory operands for ADC, SBB and SUB instructions.
Alkis Evlogimenos [Tue, 17 Feb 2004 08:08:51 +0000 (08:08 +0000)]
Add support for folding memory operands for ADC, SBB and SUB instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11541 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for ADC{rm.mr}32 and SBB{rm,mr}32.
Alkis Evlogimenos [Tue, 17 Feb 2004 08:06:31 +0000 (08:06 +0000)]
Add support for ADC{rm.mr}32 and SBB{rm,mr}32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11540 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a (hidden) option to print instructions that fail to fuse. It's looking
Chris Lattner [Tue, 17 Feb 2004 08:03:47 +0000 (08:03 +0000)]
Add a (hidden) option to print instructions that fail to fuse.  It's looking
like compares and test's would be the next huge win...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11539 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for folding memory operands in MOVri{8,16,32} instructions.
Alkis Evlogimenos [Tue, 17 Feb 2004 07:47:20 +0000 (07:47 +0000)]
Add support for folding memory operands in MOVri{8,16,32} instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11538 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoExpand the repertoire of the forms we can print and encode.
Chris Lattner [Tue, 17 Feb 2004 07:40:44 +0000 (07:40 +0000)]
Expand the repertoire of the forms we can print and encode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11537 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDisable this peephole for now. We can't keep track of the fact that the immediate...
Chris Lattner [Tue, 17 Feb 2004 07:36:32 +0000 (07:36 +0000)]
Disable this peephole for now.  We can't keep track of the fact that the immediate is 8 bits,
but the memory reference is full sized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11536 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a bug in my previous refactoring change... arg!
Chris Lattner [Tue, 17 Feb 2004 07:02:17 +0000 (07:02 +0000)]
Fix a bug in my previous refactoring change... arg!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11535 91177308-0d34-0410-b5e6-96231b3b80d8