OSDN Git Service
Misha Brukman [Wed, 12 May 2004 18:00:48 +0000 (18:00 +0000)]
* Make the document format follow the stringent purple standards (like the rest
of the documentation)
* Do not make the link text be the link itself, use some keywords
* Make doc use stylesheets and HTML markup for lists instead of definitions
* Shorten page by not making multiple lines per link with description + link of
the same name as the target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 16:35:04 +0000 (16:35 +0000)]
Pass boolean constants into function calls more efficiently, generating:
mov DWORD PTR [%ESP + 4], 1
instead of:
mov %EAX, 1
mov DWORD PTR [%ESP + 4], %EAX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 16:26:18 +0000 (16:26 +0000)]
Do not pass in the same argument to the extracted function more than once, and
give the extracted function a more useful name than just foo_code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 16:08:01 +0000 (16:08 +0000)]
Check to see if all blocks are extractible first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 16:07:41 +0000 (16:07 +0000)]
Implement support for code extracting basic blocks that have a return
instruction in them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 15:29:13 +0000 (15:29 +0000)]
Implement splitting of PHI nodes, allowing block extraction of BB's that have
PHI node entries from multiple outside-the-region blocks. This also fixes
extraction of the entry block in a function. Yaay.
This has successfully block extracted all (but one) block from the score_move
function in obsequi (out of 33). Hrm, I wonder which block the bug is in. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 06:01:40 +0000 (06:01 +0000)]
* Pull some code out into the definedInRegion/definedInCaller methods
* Add a stub for the severSplitPHINodes which will allow us to bbextract
bb's with PHI nodes in them soon.
* Remove unused arguments from findInputsOutputs
* Dramatically simplify the code in findInputsOutputs. In particular,
nothing really cares whether or not a PHI node is using something.
* Move moveCodeToFunction to after emitCallAndSwitchStatement as that's the
order they get called.
* Fix a bug where we would code extract a region that included a call to
vastart. Like 'alloca', calls to vastart must stay in the function that
they are defined in.
* Add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 04:14:24 +0000 (04:14 +0000)]
Generate substantially better code when there are a limited number of exits
from the extracted region. If the return has 0 or 1 exit blocks, the new
function returns void. If it has 2 exits, it returns bool, otherwise it
returns a ushort as before.
This allows us to use a conditional branch instruction when there are two
exit blocks, as often happens during block extraction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 03:22:33 +0000 (03:22 +0000)]
Two minor improvements:
1. Get rid of the silly abort block. When doing bb extraction, we get one
abort block for every block extracted, which is kinda annoying.
2. If the switch ends up having a single destination, turn it into an
unconditional branch.
I would like to add support for conditional branches, but to do this we will
want to have the function return a bool instead of a ushort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 02:55:45 +0000 (02:55 +0000)]
Don't leave dead bytecode.output files around if the optimizer/block extractor crashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13477
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 12 May 2004 02:48:30 +0000 (02:48 +0000)]
This file has been superseded by docs/index.html .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 12 May 2004 02:43:24 +0000 (02:43 +0000)]
Implement the final missing bits for block extractor support. Now bugpoint
can extract basic blocks up to the limit of the block extractor implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13475
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 12 May 2004 00:57:24 +0000 (00:57 +0000)]
Add link to Valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13472
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 May 2004 21:54:13 +0000 (21:54 +0000)]
Implement basic block extraction for the miscompilation debugger. This still needs
two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block
extractor itself needs to have enough bugs fixed for this to be more or less
useful.
Until the time that this is generally useful, it is hidden behind the new bugpoint
-enable-block-extraction option. I hope to get the FIXME done tonight.
Also of note, this patch adds a -extract-bbs option to bugpoint which can be used
to debug the block extractor. (hint hint Misha :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 May 2004 20:41:07 +0000 (20:41 +0000)]
A class that is meant to be a base class should have a virtual destructor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 May 2004 19:34:27 +0000 (19:34 +0000)]
Add a note to make sure the program is memory correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13464
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 11 May 2004 19:29:59 +0000 (19:29 +0000)]
Added obsequi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13462
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 11 May 2004 16:14:53 +0000 (16:14 +0000)]
Use inttypes.h, which exists on all of Linux, Solaris and Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13461
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 11 May 2004 14:08:54 +0000 (14:08 +0000)]
Unbreak the build on X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13460
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 11 May 2004 07:45:28 +0000 (07:45 +0000)]
Squash warnings on Solaris/sparc... the test suite is not working for me so I
can't be sure if these are OK, but they look OK.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13459
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 11 May 2004 07:42:58 +0000 (07:42 +0000)]
Do not hardcode the name of gcc, because its full pathname may have been
specified by top-level configure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13458
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 11 May 2004 07:42:19 +0000 (07:42 +0000)]
Do not depend on the path to bash
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13457
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 11 May 2004 07:18:02 +0000 (07:18 +0000)]
Include <sys/types.h> to get the definition of int64_t on Solaris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13456
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 19:17:36 +0000 (19:17 +0000)]
Switch this from using an std::map to using a DenseMap. This speeds up
phi-elimination from 0.6 to 0.54s on kc++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13454
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 19:06:37 +0000 (19:06 +0000)]
Use a new VRegPHIUseCount to compute uses of PHI values by other phi values
in the basic block being processed. This fixes PhiElimination on kimwitu++
from taking 105s to taking a much more reasonable 0.6s (in a debug build).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 18:47:18 +0000 (18:47 +0000)]
Now that we use an ilist of machine instructions, iterators are more robust
than before. Because this is the case, we can compute the first non-phi
instruction once when de-phi'ing a block. This shaves ~4s off of
phielimination of _Z7yyparsev in kimwitu++ from 109s -> 105s. There are
still much more important gains to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13452
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 15:15:55 +0000 (15:15 +0000)]
Fix a fairly serious pessimizaion that was preventing us from efficiently
compiling things like 'add long %X, 1'. The problem is that we were switching
the order of the operands for longs even though we can't fold them yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13451
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 14:28:09 +0000 (14:28 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 05:12:43 +0000 (05:12 +0000)]
Patch to fix PR337. Make sure to mark all aliased physical registers as used
when we see a read of a register. This is important in cases like:
AL = ...
AH = ...
= AX
The read of AX must make both the AL and AH defs live until the use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 10 May 2004 05:11:24 +0000 (05:11 +0000)]
Testcase for PR337, which was reduced by Reid Spencer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13443
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 9 May 2004 23:32:39 +0000 (23:32 +0000)]
Bug 178 Fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13442
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 9 May 2004 23:20:19 +0000 (23:20 +0000)]
Changes to make the Stacker Stack use 64 bit values. This *should* get
around the problem with Stacker on Solaris because the Stack can handle
64-bit entries (pointer sized).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13441
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 23:16:33 +0000 (23:16 +0000)]
Fix some comments, avoid sign extending booleans when zero extend works fine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 22:28:45 +0000 (22:28 +0000)]
Generate more efficient code for casting booleans to integers (no sign extension required)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 20:41:32 +0000 (20:41 +0000)]
syntactically loopify natural loops so that the GCC loop optimizer can find them. This should *dramatically* improve the performance of CBE compiled code on targets that depend on GCC's loop optimizations (like PPC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 16:03:29 +0000 (16:03 +0000)]
Do not emit prototypes for setjmp/longjmp, as they are handled specially
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 06:22:29 +0000 (06:22 +0000)]
Fine grainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 06:20:51 +0000 (06:20 +0000)]
Make the floating point constant pools local to each function, split the
FindUsedTypes manipulation stuff out to be a seperate pass, and make the
main CWriter be a function pass now!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13435
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sun, 9 May 2004 05:28:35 +0000 (05:28 +0000)]
Bug fixed.
Rewrite portability intro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13434
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 04:30:20 +0000 (04:30 +0000)]
Get this looking more like a function pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 04:29:57 +0000 (04:29 +0000)]
Implement the AddPrototypes method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13432
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 04:29:49 +0000 (04:29 +0000)]
Add support for inserting all prototypes up-front
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13431
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 9 May 2004 03:42:48 +0000 (03:42 +0000)]
Print all PHI copies for successor blocks before the terminator, whether it be a conditional branch or switch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13430
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 8 May 2004 22:41:42 +0000 (22:41 +0000)]
Fix stupid bug in my checkin yesterday
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13429
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 8 May 2004 16:14:24 +0000 (16:14 +0000)]
Fixed up sched graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13428
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 8 May 2004 16:14:02 +0000 (16:14 +0000)]
Registering the ModuloScheduling pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13427
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 8 May 2004 16:13:26 +0000 (16:13 +0000)]
Changed CPUResource to allow access to max num users for a resource.
Also added ModuloScheduling as a friend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13426
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 8 May 2004 16:12:50 +0000 (16:12 +0000)]
Changed CPUResource to allow access to maxnum users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13425
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 8 May 2004 16:12:10 +0000 (16:12 +0000)]
Updating my versions of ModuloScheduling in cvs. Still not complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13424
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 06:36:14 +0000 (06:36 +0000)]
Add support for widening integral casts.
Flesh out the SetCC support... which currently ends in a little bit
of unfinished code (which is probably completely hilarious) for
generating the condition value splitting the basic block up into 4
blocks, like this (clearly a better API is needed for this!):
BB
cond. branch
/ / R1=1 R2=0
\ /
\ /
R=phi(R1,R2)
Other minor edits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13423
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 06:08:29 +0000 (06:08 +0000)]
Add a bunch more branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13422
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 05:27:20 +0000 (05:27 +0000)]
Flesh out GEP support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13421
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 05:26:55 +0000 (05:26 +0000)]
Add ADD with immediate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13420
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 04:21:32 +0000 (04:21 +0000)]
Add forms of CMP, SUBCC, and a few branches, and some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13419
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 8 May 2004 04:21:17 +0000 (04:21 +0000)]
Add stub support for GEPs.
Add support for branches (based loosely on X86/InstSelectSimple).
Add support for not visiting phi nodes in the first pass.
Add support for loading bools.
Flesh out support for stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13418
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 8 May 2004 03:50:03 +0000 (03:50 +0000)]
Add required header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13417
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 8 May 2004 03:49:35 +0000 (03:49 +0000)]
Remove unneeded header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13416
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 22:09:22 +0000 (22:09 +0000)]
Implement folding of GEP's like:
%tmp.0 = getelementptr [50 x sbyte]* %ar, uint 0, int 5 ; <sbyte*> [#uses=2]
%tmp.7 = getelementptr sbyte* %tmp.0, int 8 ; <sbyte*> [#uses=1]
together. This patch actually allows us to simplify and generalize the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13415
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 7 May 2004 21:47:36 +0000 (21:47 +0000)]
Allow the user to set the LLVMINTERP environment variable as a workaround, for
when they have to run a gccld shell script without having lli in their path.
This is intended to address Bug 289.
Also, emit the traditional syntax ${1+"$@"} for passing all of a shell script's
args to a subprocess. If you have arguments that have spaces in them, $* will
not preserve the quoting (i.e., the quoted string "foo bar" as an argument will
end up as two arguments "foo" "bar" to lli.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13414
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 7 May 2004 21:39:30 +0000 (21:39 +0000)]
Add support for copying bool constants to registers.
Disable the code that copies long constants to registers - it looks fishy.
Implement some simple casts: integral, smaller than longs, and equal-width
or narrowing only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 21:18:15 +0000 (21:18 +0000)]
Codegen floating point stores of constants into integer instructions. This
allows us to compile:
store float 10.0, float* %P
into:
mov DWORD PTR [%EAX],
1092616192
instead of:
.CPItest_0: # float 0x4024000000000000
.long
1092616192 # float 10
...
fld DWORD PTR [.CPItest_0]
fstp DWORD PTR [%EAX]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13409
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 7 May 2004 21:10:28 +0000 (21:10 +0000)]
Add more casts. You can never have enough casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13408
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 19:55:55 +0000 (19:55 +0000)]
Make comparisons against the null pointer as efficient as integer comparisons
against zero. In particular, don't emit:
mov %ESI, 0
cmp %ECX, %ESI
instead, emit:
test %ECX, %ECX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 19:23:05 +0000 (19:23 +0000)]
PR implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 18:40:38 +0000 (18:40 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 18:38:59 +0000 (18:38 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13402
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 15:38:50 +0000 (15:38 +0000)]
New testcase for PR336
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 15:35:56 +0000 (15:35 +0000)]
Fix PR336: The instcombine pass asserts when visiting load instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13400
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 7 May 2004 13:57:19 +0000 (13:57 +0000)]
Regression test for PR#330.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 May 2004 02:27:32 +0000 (02:27 +0000)]
Add the enum corresponding to the source change I made earlier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13395
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 6 May 2004 22:23:24 +0000 (22:23 +0000)]
Bug fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13392
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 6 May 2004 22:15:47 +0000 (22:15 +0000)]
Don't call getForwardedType() twice, as recommended by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 May 2004 22:05:35 +0000 (22:05 +0000)]
Use the new commandline flag to allow us to call bugpoint like this:
bugpoint ... --tool-args -enable-correct-eh-support -regalloc=linearscan --args -- -foo
So that tool-args option gets the -enable-correct-eh-support -regalloc=linearscan flags instead of bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13389
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 May 2004 22:04:31 +0000 (22:04 +0000)]
Implement the new cl::PositionalEatsArgs flag, refactor code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 May 2004 22:03:59 +0000 (22:03 +0000)]
Add a new cl::PositionalEatsArgs flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13387
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 6 May 2004 21:18:08 +0000 (21:18 +0000)]
Fix for PR#330.
When looking at getelementptr instructions, make sure to use a forwarded
type. We want to do this because a DerivedType may drop its uses and then
refine its users, who may then use another user who hasn't been refined yet.
By getting the forwarded type, we always ensure that we're looking at a
Type that isn't in a halfway refined state.
Now, I should be able to put this stuff in PATypeHandle, but it doesn't work
for some reason. This should do for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13386
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 May 2004 19:29:58 +0000 (19:29 +0000)]
Remove a really old comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13385
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 6 May 2004 18:06:18 +0000 (18:06 +0000)]
Just testing the "Reid has CVS commit access" system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13384
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 6 May 2004 16:53:18 +0000 (16:53 +0000)]
Give props to Vladimir Prus for the inst_iterator patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13383
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 May 2004 16:25:59 +0000 (16:25 +0000)]
numeric_limits::infinity() apparently does not work on all systems. As a
workaround, use the C HUGE_VAL macro instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13377
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 6 May 2004 02:07:42 +0000 (02:07 +0000)]
Fix for gcc3.4: invalid use of forward delacred class on line 93
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13370
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 5 May 2004 06:10:06 +0000 (06:10 +0000)]
Move the stuff that fixes the size, orientation & fonts of graphs to
the debugging functions that call "dot". These fixed settings have
various problems: for example, the fixed size that is set in the graph
traits classes is not appropriate for turning the dot file into a PNG,
and if TrueType font rendering is being used, the 'Courier' TrueType font
may not be installed. It seems easy enough to specify these things on the
command line, anyhow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13366
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 22:02:41 +0000 (22:02 +0000)]
Apply simplification suggested by Chris: why assign() when operator = will do?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 4 May 2004 21:46:05 +0000 (21:46 +0000)]
Fixed inconsistent indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13363
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:41:45 +0000 (21:41 +0000)]
Missing piece of fix for Bug 333
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13362
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:22:57 +0000 (21:22 +0000)]
Bugs fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13360
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:13:35 +0000 (21:13 +0000)]
update command guide to have --tool-args
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13359
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:09:16 +0000 (21:09 +0000)]
Add --tool-args flag which lets you pass arguments to llc or lli.
This is intended to address Bug 40.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13358
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:09:02 +0000 (21:09 +0000)]
Correctly mangle function names when they are used as part of a
constant pool member's name.
This is intended to address Bug 333.
Also, fix an anachronistic usage of "M" as a parameter of type Function *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13357
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 21:09:01 +0000 (21:09 +0000)]
Add "Args" optional argument to AbstractInterpreter factory methods, which
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.
Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 May 2004 19:35:11 +0000 (19:35 +0000)]
Remove unneeded check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 May 2004 19:33:58 +0000 (19:33 +0000)]
Improve signed division by power of 2 *dramatically* from this:
div:
mov %EDX, DWORD PTR [%ESP + 4]
mov %ECX, 64
mov %EAX, %EDX
sar %EDX, 31
idiv %ECX
ret
to this:
div:
mov %EAX, DWORD PTR [%ESP + 4]
mov %ECX, %EAX
sar %ECX, 5
shr %ECX, 26
mov %EDX, %EAX
add %EDX, %ECX
sar %EAX, 6
ret
Note that the intel compiler is currently making this:
div:
movl 4(%esp), %edx #3.5
movl %edx, %eax #4.14
sarl $5, %eax #4.14
shrl $26, %eax #4.14
addl %edx, %eax #4.14
sarl $6, %eax #4.14
ret #4.14
Which has one less register->register copy. (hint hint alkis :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13354
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 4 May 2004 18:30:38 +0000 (18:30 +0000)]
Provide visit(Module&) and visitModule(Module&) functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 17:11:14 +0000 (17:11 +0000)]
Add stub support for reading BBTraces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13352
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 17:11:13 +0000 (17:11 +0000)]
Add BBTrace accessor method and data member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 May 2004 17:04:09 +0000 (17:04 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 May 2004 17:00:46 +0000 (17:00 +0000)]
Do not mark instructions in unreachable sections of the function as live.
This fixes PR332 and ADCE/2004-05-04-UnreachableBlock.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 May 2004 17:00:10 +0000 (17:00 +0000)]
New testcase for PR332
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13348
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 16:57:57 +0000 (16:57 +0000)]
New header file containing profile info enums shared between the C++ analysis
libraries and the C runtime support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 4 May 2004 16:53:07 +0000 (16:53 +0000)]
Share ProfilingType enum with the C profiling runtime libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13346
91177308-0d34-0410-b5e6-
96231b3b80d8