oota-llvm.git
20 years agoAnnotate functions with edge counts as well, if they are available.
Chris Lattner [Mon, 8 Mar 2004 20:04:32 +0000 (20:04 +0000)]
Annotate functions with edge counts as well, if they are available.

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

20 years agoIf we have edge counts, we can produce block counts. I've verified that
Chris Lattner [Mon, 8 Mar 2004 20:03:52 +0000 (20:03 +0000)]
If we have edge counts, we can produce block counts.  I've verified that
using an edge profile to produce block counts gives the exact same numbers
as using a block count directly.

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

20 years agoAdjust to new interface
Chris Lattner [Mon, 8 Mar 2004 18:51:45 +0000 (18:51 +0000)]
Adjust to new interface

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

20 years agoAdd the ability to put an annotation at the end of a basic block as well.
Chris Lattner [Mon, 8 Mar 2004 18:51:05 +0000 (18:51 +0000)]
Add the ability to put an annotation at the end of a basic block as well.

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

20 years agoAdd initial support for reading edge counts. This will be improved to enable
Chris Lattner [Mon, 8 Mar 2004 18:20:18 +0000 (18:20 +0000)]
Add initial support for reading edge counts.  This will be improved to enable
translation of edge counts into block/function counts when possible.

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

20 years agoAdd support for representing edge counts
Chris Lattner [Mon, 8 Mar 2004 18:19:37 +0000 (18:19 +0000)]
Add support for representing edge counts

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

20 years agoAdd edge profiling support to the runtime library
Chris Lattner [Mon, 8 Mar 2004 18:04:31 +0000 (18:04 +0000)]
Add edge profiling support to the runtime library

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

20 years agoFix link to license: point to current version in CVS.
Misha Brukman [Mon, 8 Mar 2004 17:59:31 +0000 (17:59 +0000)]
Fix link to license: point to current version in CVS.

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

20 years agoInitial support for edge profiling
Chris Lattner [Mon, 8 Mar 2004 17:54:34 +0000 (17:54 +0000)]
Initial support for edge profiling

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

20 years agoSplit utility functions out of BlockProfiling.cpp
Chris Lattner [Mon, 8 Mar 2004 17:06:13 +0000 (17:06 +0000)]
Split utility functions out of BlockProfiling.cpp

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

20 years agoRemove the comment "Constants must always have an initial value.", which
Chris Lattner [Mon, 8 Mar 2004 16:49:10 +0000 (16:49 +0000)]
Remove the comment "Constants must always have an initial value.", which
is incorrect.  Fix some formatting nastiness.

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

20 years agofinegrainify namespacification
Chris Lattner [Mon, 8 Mar 2004 16:45:53 +0000 (16:45 +0000)]
finegrainify namespacification

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

20 years agoInsert functions into the module promptly, not lazily. This fixes a bug
Chris Lattner [Mon, 8 Mar 2004 16:14:19 +0000 (16:14 +0000)]
Insert functions into the module promptly, not lazily.  This fixes a bug
I introduced last night.  Note to self: test the *correct* tree...

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

20 years agoImplement test/Regression/Assembler/2004-03-07-FunctionAddressAlignment.llx
Chris Lattner [Mon, 8 Mar 2004 06:17:35 +0000 (06:17 +0000)]
Implement test/Regression/Assembler/2004-03-07-FunctionAddressAlignment.llx

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

20 years agoNew testcase for folding in some important situations. The first two
Chris Lattner [Mon, 8 Mar 2004 06:17:15 +0000 (06:17 +0000)]
New testcase for folding in some important situations.  The first two
come up a lot in the code generated by the C++ front-end for pointers
to member functions.  See PR166.

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

20 years agoRemove Module::mutateConstantPointerRef, which is now thankfully dead!
Chris Lattner [Mon, 8 Mar 2004 06:16:10 +0000 (06:16 +0000)]
Remove Module::mutateConstantPointerRef, which is now thankfully dead!

This is one small step towards the complete obliteration of
ConstantPointerRef's entirely!! Woot!

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

20 years agoRemove Module::mutateConstantPointerRef, which is now thankfully dead!
Chris Lattner [Mon, 8 Mar 2004 06:15:33 +0000 (06:15 +0000)]
Remove Module::mutateConstantPointerRef, which is now thankfully dead!

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

20 years agoEliminate nightmarish API
Chris Lattner [Mon, 8 Mar 2004 06:11:10 +0000 (06:11 +0000)]
Eliminate nightmarish API

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

20 years agoremove *THANKFULLY* dead method
Chris Lattner [Mon, 8 Mar 2004 06:10:32 +0000 (06:10 +0000)]
remove *THANKFULLY* dead method

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

20 years agoEliminate a REALLY HORRIBLE API: mutateReferences, which is gross gross gross.
Chris Lattner [Mon, 8 Mar 2004 06:09:57 +0000 (06:09 +0000)]
Eliminate a REALLY HORRIBLE API: mutateReferences, which is gross gross gross.

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

20 years agoNew testcase for PR269
Chris Lattner [Mon, 8 Mar 2004 05:35:12 +0000 (05:35 +0000)]
New testcase for PR269

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

20 years agoBug fixed
Chris Lattner [Mon, 8 Mar 2004 04:55:45 +0000 (04:55 +0000)]
Bug fixed

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

20 years agoTestcase that crashes the C front-end.
Chris Lattner [Mon, 8 Mar 2004 04:41:32 +0000 (04:41 +0000)]
Testcase that crashes the C front-end.

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

20 years agoFix a bug handling globals that are constants, but are still external
Chris Lattner [Mon, 8 Mar 2004 03:52:24 +0000 (03:52 +0000)]
Fix a bug handling globals that are constants, but are still external

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

20 years agoAvoid allocating special registers a bit more robustly
Chris Lattner [Mon, 8 Mar 2004 03:48:07 +0000 (03:48 +0000)]
Avoid allocating special registers a bit more robustly

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

20 years agoNew code-quality testcase.
Chris Lattner [Mon, 8 Mar 2004 02:12:36 +0000 (02:12 +0000)]
New code-quality testcase.

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

20 years agoImplement folding explicit load instructions into binary operations. For a
Chris Lattner [Mon, 8 Mar 2004 01:58:35 +0000 (01:58 +0000)]
Implement folding explicit load instructions into binary operations.  For a
testcase like this:

int %test(int* %P, int %A) {
        %Pv = load int* %P
        %B = add int %A, %Pv
        ret int %B
}

We now generate:
test:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%ESP + 8]
        add %EAX, DWORD PTR [%ECX]
        ret

Instead of:
test:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %ECX, DWORD PTR [%ESP + 8]
        mov %EAX, DWORD PTR [%EAX]
        add %EAX, %ECX
        ret

... saving one instruction, and often a register.  Note that there are a lot
of other instructions that could use this, but they aren't handled.  I'm not
really interested in adding them, but mul/div and all of the FP instructions
could be supported as well if someone wanted to add them.

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

20 years agoRearrange and refactor some code. No functionality changes.
Chris Lattner [Mon, 8 Mar 2004 01:18:36 +0000 (01:18 +0000)]
Rearrange and refactor some code.  No functionality changes.

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

20 years agoImplement ArgumentPromotion/aggregate-promote.ll
Chris Lattner [Mon, 8 Mar 2004 01:04:36 +0000 (01:04 +0000)]
Implement ArgumentPromotion/aggregate-promote.ll

This allows pointers to aggregate objects, whose elements are only read, to
be promoted and passed in by element instead of by reference.  This can
enable a LOT of subsequent optimizations in the caller function.

It's worth pointing out that this stuff happens a LOT of C++ programs, because
objects in templates are generally passed around by reference.  When these
templates are instantiated on small aggregate or scalar types, however, it is
more efficient to pass them in by value than by reference.

This transformation triggers most on C++ codes (e.g. 334 times on eon), but
does happen on C codes as well.  For example, on mesa it triggers 72 times,
and on gcc it triggers 35 times.  this is amazingly good considering that
we are using 'basicaa' so far.

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

20 years agoNew testcase
Chris Lattner [Mon, 8 Mar 2004 00:58:19 +0000 (00:58 +0000)]
New testcase

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

20 years agoImplement: ArgumentPromotion/chained.ll
Chris Lattner [Sun, 7 Mar 2004 22:52:53 +0000 (22:52 +0000)]
Implement: ArgumentPromotion/chained.ll

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

20 years agoNew testcase for missed case
Chris Lattner [Sun, 7 Mar 2004 22:52:41 +0000 (22:52 +0000)]
New testcase for missed case

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

20 years agoFix another minor bug, exposed by perlbmk
Chris Lattner [Sun, 7 Mar 2004 22:43:27 +0000 (22:43 +0000)]
Fix another minor bug, exposed by perlbmk

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

20 years agoSince 'load null' is undefined, we can make it do whatever we want. Returning
Chris Lattner [Sun, 7 Mar 2004 22:16:24 +0000 (22:16 +0000)]
Since 'load null' is undefined, we can make it do whatever we want.  Returning
a zero value is the most likely way to cause further simplification, so we do it.

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

20 years agoRun the new pass in gccld now that it passes all tests
Chris Lattner [Sun, 7 Mar 2004 22:12:40 +0000 (22:12 +0000)]
Run the new pass in gccld now that it passes all tests

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

20 years agoFix a minor bug and turn debug output into, well, debug output.
Chris Lattner [Sun, 7 Mar 2004 21:54:50 +0000 (21:54 +0000)]
Fix a minor bug and turn debug output into, well, debug output.

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

20 years agoAdd prototype
Chris Lattner [Sun, 7 Mar 2004 21:30:08 +0000 (21:30 +0000)]
Add prototype

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

20 years agoNew LLVM pass: argument promotion. This version only handles simple scalar
Chris Lattner [Sun, 7 Mar 2004 21:29:54 +0000 (21:29 +0000)]
New LLVM pass: argument promotion.  This version only handles simple scalar
variables.

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

20 years agoNew testcase
Chris Lattner [Sun, 7 Mar 2004 21:28:54 +0000 (21:28 +0000)]
New testcase

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

20 years agoAdd memory operand version of conditional move.
Alkis Evlogimenos [Sun, 7 Mar 2004 03:19:11 +0000 (03:19 +0000)]
Add memory operand version of conditional move.

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

20 years agoAs I wrote in the docs, simple is the default spiller :-)
Alkis Evlogimenos [Sat, 6 Mar 2004 23:08:44 +0000 (23:08 +0000)]
As I wrote in the docs, simple is the default spiller :-)

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

20 years agoAdd simple spiller.
Alkis Evlogimenos [Sat, 6 Mar 2004 22:38:29 +0000 (22:38 +0000)]
Add simple spiller.

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

20 years agoThe default register allocator is local not simple.
Alkis Evlogimenos [Sat, 6 Mar 2004 22:27:41 +0000 (22:27 +0000)]
The default register allocator is local not simple.

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

20 years agoSupport return values of basic integer types.
Brian Gaeke [Sat, 6 Mar 2004 05:32:28 +0000 (05:32 +0000)]
Support return values of basic integer types.
Emit RETL instruction to return instead of funny JMPL.
Fix indentation.

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

20 years agoSort stanzas into Sparc V8 book page number order.
Brian Gaeke [Sat, 6 Mar 2004 05:32:13 +0000 (05:32 +0000)]
Sort stanzas into Sparc V8 book page number order.
Add RET, RETL.  Rename SAVE, RESTORE & JMPL for consistency.

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

20 years agoHack it so we do not try to allocate values to G0.
Brian Gaeke [Sat, 6 Mar 2004 05:31:32 +0000 (05:31 +0000)]
Hack it so we do not try to allocate values to G0.

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

20 years agoMake prolog align stack properly. Make epilog not touch any registers.
Brian Gaeke [Sat, 6 Mar 2004 05:31:21 +0000 (05:31 +0000)]
Make prolog align stack properly.  Make epilog not touch any registers.

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

20 years agoEmit register names in lowercase, as required by the assembler.
Brian Gaeke [Sat, 6 Mar 2004 05:30:21 +0000 (05:30 +0000)]
Emit register names in lowercase, as required by the assembler.

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

20 years agoTeach getRegClassForType where to find FP registers
Brian Gaeke [Sat, 6 Mar 2004 03:54:13 +0000 (03:54 +0000)]
Teach getRegClassForType where to find FP registers

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

20 years agoFix a minor bug
Chris Lattner [Fri, 5 Mar 2004 22:04:07 +0000 (22:04 +0000)]
Fix a minor bug

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

20 years agoUnbreak the build on Sparc.
Misha Brukman [Fri, 5 Mar 2004 20:04:40 +0000 (20:04 +0000)]
Unbreak the build on Sparc.

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

20 years agoAsm output is looking a lot better; not correct for all operands yet though.
Brian Gaeke [Fri, 5 Mar 2004 08:39:09 +0000 (08:39 +0000)]
Asm output is looking a lot better; not correct for all operands yet though.

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

20 years agoFix a bug in a previous checkin that broke 175.vpr
Chris Lattner [Thu, 4 Mar 2004 21:36:57 +0000 (21:36 +0000)]
Fix a bug in a previous checkin that broke 175.vpr

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

20 years agoAdd support for strto* and v*printf
Chris Lattner [Thu, 4 Mar 2004 21:03:54 +0000 (21:03 +0000)]
Add support for strto* and v*printf

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

20 years agoAdd non-crappy support for varargs
Chris Lattner [Thu, 4 Mar 2004 20:33:47 +0000 (20:33 +0000)]
Add non-crappy support for varargs

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

20 years agoImplement a FIXME, improving the efficiency of DSA on povray.
Chris Lattner [Thu, 4 Mar 2004 19:47:04 +0000 (19:47 +0000)]
Implement a FIXME, improving the efficiency of DSA on povray.
This reduces CBU time from 145s -> 122s (debug build), reduces # allocated nodes
from 129420 to 116477.

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

20 years agoSupport -print-machineinstrs
Brian Gaeke [Thu, 4 Mar 2004 19:22:16 +0000 (19:22 +0000)]
Support -print-machineinstrs

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

20 years agoSpeed up the cbu pass from taking somewhere near the age of the universe to about...
Chris Lattner [Thu, 4 Mar 2004 19:16:35 +0000 (19:16 +0000)]
Speed up the cbu pass from taking somewhere near the age of the universe to about 90s on povray

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

20 years agomake -print-machineinstrs work for both SparcV9 and X86
Brian Gaeke [Thu, 4 Mar 2004 19:16:23 +0000 (19:16 +0000)]
make -print-machineinstrs work for both SparcV9 and X86

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

20 years agoAdd assertion for scale verification.
Alkis Evlogimenos [Thu, 4 Mar 2004 18:05:02 +0000 (18:05 +0000)]
Add assertion for scale verification.

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

20 years agoFix bug introduced by yesterday's changes.
Alkis Evlogimenos [Thu, 4 Mar 2004 18:02:07 +0000 (18:02 +0000)]
Fix bug introduced by yesterday's changes.

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

20 years agoHide variable from other functions.
Alkis Evlogimenos [Thu, 4 Mar 2004 17:50:44 +0000 (17:50 +0000)]
Hide variable from other functions.

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

20 years agoFix BU datastructures with povray!
Chris Lattner [Thu, 4 Mar 2004 17:06:53 +0000 (17:06 +0000)]
Fix BU datastructures with povray!

The problem was that we were merging a field of a node with a value that was
deleted.  Thanks to bugpoint for reducing povray to a nice small 3 function
example.  :)

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

20 years agoMinor changes, remove some debugging code that got checked in somehow.
Chris Lattner [Thu, 4 Mar 2004 17:05:28 +0000 (17:05 +0000)]
Minor changes, remove some debugging code that got checked in somehow.
Make sure to scope the NodeMap passed into cloneInto so that it doesn't point
to nodes that are deleted.  Add some FIXME's for future performance enhancements.

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

20 years agoAsm printer support, based on x86 - only prints mnemonics for now
Brian Gaeke [Thu, 4 Mar 2004 06:00:41 +0000 (06:00 +0000)]
Asm printer support, based on x86 - only prints mnemonics for now

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

20 years agoDouble-FP pseudo-registers.
Brian Gaeke [Thu, 4 Mar 2004 05:15:03 +0000 (05:15 +0000)]
Double-FP pseudo-registers.

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

20 years agoSubtract instructions; minor cleanups
Brian Gaeke [Thu, 4 Mar 2004 04:37:45 +0000 (04:37 +0000)]
Subtract instructions; minor cleanups

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

20 years agoFloating point regs
Brian Gaeke [Thu, 4 Mar 2004 04:37:22 +0000 (04:37 +0000)]
Floating point regs

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

20 years agoOnly clone nodes that are needed in the caller, don't clone ALL aux calls. This...
Chris Lattner [Thu, 4 Mar 2004 03:57:53 +0000 (03:57 +0000)]
Only clone nodes that are needed in the caller, don't clone ALL aux calls.  This improves
povray from having ~600K nodes and 300K call nodes to 65K nodes and 25K call nodes.

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

20 years agoSimple copyConstantToReg support, SETHIi and ORri
Brian Gaeke [Thu, 4 Mar 2004 00:56:25 +0000 (00:56 +0000)]
Simple copyConstantToReg support, SETHIi and ORri

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

20 years agoSupport add - note, still missing important copyConstantToRegister stuff
Brian Gaeke [Wed, 3 Mar 2004 23:03:14 +0000 (23:03 +0000)]
Support add - note, still missing important copyConstantToRegister stuff

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

20 years agoFix a minor bug handling incomplete programs
Chris Lattner [Wed, 3 Mar 2004 23:00:19 +0000 (23:00 +0000)]
Fix a minor bug handling incomplete programs

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

20 years agoFix a DSA bug that caused DSA to generate incredibly huge graphs and take forever to
Chris Lattner [Wed, 3 Mar 2004 22:01:09 +0000 (22:01 +0000)]
Fix a DSA bug that caused DSA to generate incredibly huge graphs and take forever to
do it on povray.  The problem is that we were not copying globals from callees to
callers unless the existed in both graphs.  We should have copied them in the case
where the global pointed to a node that was copied as well.

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

20 years agoRename method, add new method
Chris Lattner [Wed, 3 Mar 2004 22:00:20 +0000 (22:00 +0000)]
Rename method, add new method

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

20 years agoDeinline methods, add fast exit
Chris Lattner [Wed, 3 Mar 2004 20:55:27 +0000 (20:55 +0000)]
Deinline methods, add fast exit

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

20 years agoDe-inline methods
Chris Lattner [Wed, 3 Mar 2004 20:55:15 +0000 (20:55 +0000)]
De-inline methods

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

20 years agoMake MachineOperand's value named 'contents'. Make really, really sure
Brian Gaeke [Wed, 3 Mar 2004 19:07:27 +0000 (19:07 +0000)]
Make MachineOperand's value named 'contents'.  Make really, really sure
it is always completely initialized and copied.
Also, fix up many comments and asserts.

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

20 years agoSquash /usr/dcs path; use a 'require <version>' instead.
Brian Gaeke [Wed, 3 Mar 2004 17:38:51 +0000 (17:38 +0000)]
Squash /usr/dcs path; use a 'require <version>' instead.

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

20 years agoAdd my regression finding by binary searching cvs script.
Brian Gaeke [Wed, 3 Mar 2004 08:14:25 +0000 (08:14 +0000)]
Add my regression finding by binary searching cvs script.

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

20 years agoFix a node mapping problem that was causing the pool allocator to locally allocate
Chris Lattner [Wed, 3 Mar 2004 05:34:31 +0000 (05:34 +0000)]
Fix a node mapping problem that was causing the pool allocator to locally allocate
nodes that were globally live, thus breaking programs.

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

20 years agoSPECIFY a target data to initialize the CBE target with. Until now we have
Chris Lattner [Wed, 3 Mar 2004 02:14:15 +0000 (02:14 +0000)]
SPECIFY a target data to initialize the CBE target with.  Until now we have
been using the default target data layout object to lower malloc instructions,
causing us to allocate more memory than we needed!  This could improve the
performance of the CBE generated code substantially!

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

20 years agoAdd a new constructor
Chris Lattner [Wed, 3 Mar 2004 02:12:47 +0000 (02:12 +0000)]
Add a new constructor

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

20 years agoDon't emit things like malloc(16*1). Allocation instructions are fixed arity now.
Chris Lattner [Wed, 3 Mar 2004 01:40:53 +0000 (01:40 +0000)]
Don't emit things like malloc(16*1).  Allocation instructions are fixed arity now.

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

20 years agoFINALLY be able to get symbolic type names in the globals graph!
Chris Lattner [Tue, 2 Mar 2004 21:39:43 +0000 (21:39 +0000)]
FINALLY be able to get symbolic type names in the globals graph!

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

20 years agoReally, only if reopen
Chris Lattner [Tue, 2 Mar 2004 20:46:18 +0000 (20:46 +0000)]
Really, only if reopen

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

20 years agoAdded EH support.
John Criswell [Tue, 2 Mar 2004 15:54:25 +0000 (15:54 +0000)]
Added EH support.

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

20 years agoMake <di> into <dt> (definition list term).
Alkis Evlogimenos [Tue, 2 Mar 2004 03:36:10 +0000 (03:36 +0000)]
Make <di> into <dt> (definition list term).

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

20 years agoDoxygenify comments.
Misha Brukman [Tue, 2 Mar 2004 00:22:19 +0000 (00:22 +0000)]
Doxygenify comments.

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

20 years agoImplement ExtractCodeRegion()
Misha Brukman [Tue, 2 Mar 2004 00:20:57 +0000 (00:20 +0000)]
Implement ExtractCodeRegion()

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

20 years agoAdd prototype for ExtractCodeRegion()
Misha Brukman [Tue, 2 Mar 2004 00:20:32 +0000 (00:20 +0000)]
Add prototype for ExtractCodeRegion()

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

20 years agoMake a note that this is usually used via bugpoint.
Misha Brukman [Tue, 2 Mar 2004 00:19:09 +0000 (00:19 +0000)]
Make a note that this is usually used via bugpoint.

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

20 years agoDoxygenify some comments.
Misha Brukman [Mon, 1 Mar 2004 23:53:11 +0000 (23:53 +0000)]
Doxygenify some comments.

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

20 years agoFix <p> missing <p> tag
Alkis Evlogimenos [Mon, 1 Mar 2004 23:25:38 +0000 (23:25 +0000)]
Fix <p> missing <p> tag

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

20 years agoAdd a spiller option to llc. A simple spiller will come soon. When we get CFG in...
Alkis Evlogimenos [Mon, 1 Mar 2004 23:18:15 +0000 (23:18 +0000)]
Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now.

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

20 years agoAdd the long awaited memory operand folding support for linear scan
Alkis Evlogimenos [Mon, 1 Mar 2004 20:05:10 +0000 (20:05 +0000)]
Add the long awaited memory operand folding support for linear scan

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

20 years ago* If a badref has a name, print it out for ease of debugging
Misha Brukman [Mon, 1 Mar 2004 19:48:13 +0000 (19:48 +0000)]
* If a badref has a name, print it out for ease of debugging
* Doxygenify (some) comments

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

20 years agoAdd new method
Chris Lattner [Mon, 1 Mar 2004 19:36:50 +0000 (19:36 +0000)]
Add new method

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

20 years agoCorrectly add an array marker on a node when appropriate!
Chris Lattner [Mon, 1 Mar 2004 19:02:54 +0000 (19:02 +0000)]
Correctly add an array marker on a node when appropriate!

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

20 years agoFix grammar and doxygenify comments.
Misha Brukman [Mon, 1 Mar 2004 18:31:19 +0000 (18:31 +0000)]
Fix grammar and doxygenify comments.

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

20 years ago* Add implementation of ExtractBasicBlock()
Misha Brukman [Mon, 1 Mar 2004 18:28:34 +0000 (18:28 +0000)]
* Add implementation of ExtractBasicBlock()
* Add comments to ExtractLoop()

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