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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Tue, 17 Feb 2004 06:40:51 +0000 (06:40 +0000)]
The CBE is now in llc, not llvm-dis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:40:06 +0000 (06:40 +0000)]
The C backend is no longer in llvm-dis, it's in llc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11533
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:39:48 +0000 (06:39 +0000)]
The CBE is no longer in llvm-dis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11532
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:30:34 +0000 (06:30 +0000)]
Add an option to disable spill fusing in the X86 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11531
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:28:19 +0000 (06:28 +0000)]
Fix the mneumonics for the mov instructions to have the source and destination
order in the correct sense!! Arg!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11530
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:24:02 +0000 (06:24 +0000)]
Fix the last crimes against nature that used the 'ir' ordering to use the
'ri' ordering instead... no it's not possible to store a register into an
immediate!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11529
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:20:20 +0000 (06:20 +0000)]
GRRR. Move instructions have swapped the order of the r/m operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11528
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:16:44 +0000 (06:16 +0000)]
Rename MOVi[mr] instructions to MOV[rm]i
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11527
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 06:02:15 +0000 (06:02 +0000)]
Whoops, got my cases swapped.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11526
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 05:54:57 +0000 (05:54 +0000)]
Change to match the newer, simpler, interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 05:54:26 +0000 (05:54 +0000)]
Simplify and document the new interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11524
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 05:46:06 +0000 (05:46 +0000)]
Add support for folding memory operands into AND and IMUL's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11523
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 05:35:13 +0000 (05:35 +0000)]
Scrunchify code, by adding helpers. No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 05:25:50 +0000 (05:25 +0000)]
Add mem forms of AND instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11521
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 17 Feb 2004 05:14:37 +0000 (05:14 +0000)]
Add LiveIntervals::Interval::empty() member function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11520
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 17 Feb 2004 04:33:18 +0000 (04:33 +0000)]
Add API to check and fold memory operands into instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11519
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 04:26:43 +0000 (04:26 +0000)]
Rename the IMULri* instructions to IMULrri, as they are actually three address
instructions. Add forms of these instructions that read from memory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11518
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 04:08:37 +0000 (04:08 +0000)]
Once we have a way to fold spill code reloads into instructions, we have a way to use it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11517
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 17 Feb 2004 04:04:20 +0000 (04:04 +0000)]
Fix spilled interval update. It was too conservative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 03:57:19 +0000 (03:57 +0000)]
Refactor code a bit. No functionality changes, though the comment hints at things to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 03:03:47 +0000 (03:03 +0000)]
Adjust to recent changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 03:03:36 +0000 (03:03 +0000)]
Add two missing pieces from last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11513
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Feb 2004 02:58:36 +0000 (02:58 +0000)]
Rearrange code to eliminate warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11512
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 16 Feb 2004 23:50:18 +0000 (23:50 +0000)]
Add peephole optimizations for ADD [MEM], IMM8 instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11511
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 16 Feb 2004 23:48:42 +0000 (23:48 +0000)]
Add two more variants of add. Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11510
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 16 Feb 2004 23:32:26 +0000 (23:32 +0000)]
Preemptive additions for the MallocBench tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 22:57:19 +0000 (22:57 +0000)]
Only spit out warning for functions that take pointers, not for sin and the like
Add more special case handling for stdio functions. I feel dirty, how about you?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11506
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 20:46:13 +0000 (20:46 +0000)]
Move the folding of gep null, 0, 0, 0 to a place where it can be shared and
enjoyed by all, fixing a fixme. Add an assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11505
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 16 Feb 2004 19:45:26 +0000 (19:45 +0000)]
PreSelection isn't optional and so there's no way to turn it off.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11504
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 18:37:40 +0000 (18:37 +0000)]
memset and bcopy and now unified by the llvm.memset intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11503
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 18:19:31 +0000 (18:19 +0000)]
Add some ADD instructions that take memory operands for Alkis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11502
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 16 Feb 2004 14:55:18 +0000 (14:55 +0000)]
Adjusted the default pathname to the SPEC95 benchmarks. The new directory
has source code corrections and some input files pre-filtered for use
with the LLVM test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11498
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 16 Feb 2004 07:17:43 +0000 (07:17 +0000)]
Add LeakDetection to MachineInstr.
Move out of line member functions of MachineBasicBlock to
MachineBasicBlock.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11497
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 06:35:48 +0000 (06:35 +0000)]
Implement test/Regression/Transforms/SimplifyCFG/UncondBranchToReturn.ll,
see the testcase for the reasoning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 06:35:19 +0000 (06:35 +0000)]
New testcase, details in the comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 05:07:08 +0000 (05:07 +0000)]
Fold PHI nodes of constants which are only used by a single cast. This implements
phi.ll:test4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 05:06:36 +0000 (05:06 +0000)]
A new testcase for a situation that occurs in 181.mcf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 03:54:20 +0000 (03:54 +0000)]
Teach LLVM to unravel the "swap idiom". This implements:
Regression/Transforms/InstCombine/xor.ll:test20
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 03:53:44 +0000 (03:53 +0000)]
Add a test for the "swap idiom", which LLVM should be able to unravel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 01:20:27 +0000 (01:20 +0000)]
Implement Transforms/InstCombine/xor.ll:test19
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Feb 2004 01:19:52 +0000 (01:19 +0000)]
Test for xor chains
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Feb 2004 23:33:48 +0000 (23:33 +0000)]
Fix a bug in the recent rewrite of the leakdetector that caused all of the
nightly tests to be really messed up. The problem was that the new leakdetector
was depending on undefined behavior: the order of destruction of static objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11488
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Feb 2004 23:09:07 +0000 (23:09 +0000)]
Document bug 240
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Feb 2004 22:56:30 +0000 (22:56 +0000)]
Moving CBE tests to test/Regression/CodeGen/CBackend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Feb 2004 22:54:19 +0000 (22:54 +0000)]
When the user runs 'llc foo.bc -march=c', write the output to "foo.cbe.c", not
to "foo.s".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Feb 2004 22:51:47 +0000 (22:51 +0000)]
Now that the lowerinvoke pass inserts calls to llvm.setjmp/llvm.longjmp, some
hacks can be banished. Also, this gives us the opportunity to emit special code
for the setjmp/longjmps which alows the elimination of one GCC warning for every
setjmp/longjmp site (which is often THOUSANDS in C++ programs). Yaay!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11484
91177308-0d34-0410-b5e6-
96231b3b80d8