Owen Anderson
70ac81f489
Add some more comments to GVN.
...
llvm-svn: 41129
2007-08-16 22:02:55 +00:00
Dan Gohman
b499ea1cf6
Add MVT::fAny for overloading intrinsics on floating-point types.
...
llvm-svn: 41128
2007-08-16 21:57:19 +00:00
Owen Anderson
03cbda804e
Cache non-local memory dependence analysis. This is a significant compile
...
time performance win in most cases.
llvm-svn: 41126
2007-08-16 21:27:05 +00:00
Chris Lattner
4c6c787315
This adds a bunch of static functions that implement unsigned
...
two's complement bignum arithmetic. They could be used to
implement much of APInt, but the idea is they are enough to
implement APFloat as well, which the current APInt interface
is not suited for.
Patch by Neil Booth!
llvm-svn: 41124
2007-08-16 15:56:55 +00:00
Rafael Espindola
817adb6532
add byval test
...
llvm-svn: 41123
2007-08-16 13:09:02 +00:00
Reid Spencer
056b656f99
Improve error handling in the linker by:
...
1. Eliminate redundant error messages. LinkInFile and LinkInArchive
already call the error() method in each case so there's no use
telling the user again that an item couldn't be linked in.
2. Improve the formatting of error messages (separating content).
3. Change the wording for the warning about unrecognized files. Make
it clear that the file is being ignored.
llvm-svn: 41121
2007-08-16 07:47:30 +00:00
Evan Cheng
e2bb505d7c
Comments.
...
llvm-svn: 41119
2007-08-16 07:25:37 +00:00
Evan Cheng
ee277f940b
Fix some kill info update bugs; add hidden option -disable-rematerialization to turn off remat for debugging.
...
llvm-svn: 41118
2007-08-16 07:24:22 +00:00
Reid Spencer
3860c113ab
Ensure that error messages a propagated from calls to LinkInModule so they get
...
reported to the end user.
llvm-svn: 41117
2007-08-16 07:23:37 +00:00
Reid Spencer
5d553e1e6c
Add a test to ensure that obvious link messages are actually produced on
...
the standard error.
llvm-svn: 41116
2007-08-16 07:22:43 +00:00
Owen Anderson
06cbd29787
Forgot a line.
...
llvm-svn: 41115
2007-08-16 00:25:42 +00:00
Owen Anderson
868a1a5ed6
Add a copy constructor and an assignment operator to DenseMap.
...
llvm-svn: 41114
2007-08-16 00:18:32 +00:00
Lauro Ramos Venancio
9f9e5b3971
Implement FPOWI ExpandOp.
...
Fix PR1287.
llvm-svn: 41112
2007-08-15 22:13:27 +00:00
Anton Korobeynikov
958dcad32d
Properly use const qualifiers
...
llvm-svn: 41111
2007-08-15 21:12:30 +00:00
Evan Cheng
46b797bbed
Test case for PR1609.
...
llvm-svn: 41110
2007-08-15 20:30:10 +00:00
Evan Cheng
f758fa5c35
If the source of a move is in spill slot, the reload may be folded to essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live.
...
llvm-svn: 41109
2007-08-15 20:20:34 +00:00
David Greene
f63a30122d
Update .cvs file
...
llvm-svn: 41106
2007-08-15 17:58:51 +00:00
Anton Korobeynikov
3094846993
Move ReturnAddrIndex variable to X86MachineFunctionInfo structure. This fixed
...
hard to catch bugs with retaddr lowering
llvm-svn: 41104
2007-08-15 17:12:32 +00:00
Chris Lattner
9fd664292f
add a note.
...
llvm-svn: 41103
2007-08-15 16:58:38 +00:00
Dan Gohman
74e688fce1
This test used "wc | grep ..."; convert it to use the count script.
...
llvm-svn: 41101
2007-08-15 13:55:47 +00:00
Dan Gohman
34263074cb
Convert tests using "grep -c ... | grep ..." to use the count script.
...
llvm-svn: 41100
2007-08-15 13:49:33 +00:00
Dan Gohman
10c3892fde
Delete extraneous uses of wc -l.
...
llvm-svn: 41099
2007-08-15 13:45:35 +00:00
Dan Gohman
f259c770df
Convert another test to use the count script. This one didn't fit the
...
regex used to convert all the others because the first '|' was on a
separate line.
llvm-svn: 41098
2007-08-15 13:42:36 +00:00
Dan Gohman
794fa1f8f7
Convert tests using "| wc -l | grep ..." to use the count script.
...
llvm-svn: 41097
2007-08-15 13:36:28 +00:00
Devang Patel
423d18e306
Dominance frontier is now required.
...
llvm-svn: 41096
2007-08-15 03:34:53 +00:00
Devang Patel
315ea9c519
Cleanup removeBlocks.
...
Use dominance frontier to fixup incoming edges of successor blocks not domianted by DeadBB.
Use df_iterator to walk and delete basic blocks dominated by DeadBB.
llvm-svn: 41095
2007-08-15 03:31:47 +00:00
Reid Spencer
2cfe29fc0b
Remove unneeded header file.
...
llvm-svn: 41094
2007-08-15 03:01:04 +00:00
Devang Patel
b0924a406a
Avoid triangle loops.
...
llvm-svn: 41093
2007-08-15 02:14:55 +00:00
Devang Patel
1dd44d7501
Break infinite loop.
...
llvm-svn: 41091
2007-08-14 23:59:17 +00:00
Devang Patel
d39b9d41bb
Avoid nested loops at the moment.
...
llvm-svn: 41090
2007-08-14 23:53:57 +00:00
Evan Cheng
92df220df4
New test.
...
llvm-svn: 41087
2007-08-14 23:34:50 +00:00
Evan Cheng
70879e8dae
- If a def is dead, do not spill it.
...
- If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete
the def MI as well.
llvm-svn: 41086
2007-08-14 23:25:37 +00:00
Evan Cheng
e10e5e71b4
Test case for PR1596.
...
llvm-svn: 41085
2007-08-14 23:21:10 +00:00
Evan Cheng
f901915207
Fix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of its sub-registers may overlap with the interval of the copy that's being coalesced.
...
llvm-svn: 41084
2007-08-14 23:19:28 +00:00
Evan Cheng
0fbe2a0ec4
If a MI's def is remat as well as spilled, and the store is later deemed dead, mark the def operand as isDead.
...
llvm-svn: 41083
2007-08-14 20:23:13 +00:00
Devang Patel
7ff808f08e
Fix dominance frontier update while removing blocks.
...
llvm-svn: 41082
2007-08-14 18:35:57 +00:00
Owen Anderson
b970937b06
Eliminate PHI nodes with constant values during normal GVN processing, even when
...
they're not related to eliminating a load.
llvm-svn: 41081
2007-08-14 18:33:27 +00:00
Owen Anderson
d9a7b61a64
Be more aggressive in pruning unnecessary PHI nodes when doing PHI construction.
...
llvm-svn: 41080
2007-08-14 18:16:29 +00:00
Owen Anderson
c855195b2f
Make GVN iterative.
...
llvm-svn: 41078
2007-08-14 18:04:11 +00:00
Owen Anderson
8d15350c4e
Fix a case where GVN was failing to return true when it had, in fact, modified
...
the function.
llvm-svn: 41077
2007-08-14 17:59:48 +00:00
Devang Patel
833a8ea187
Assert sooner. Fix wordings.
...
llvm-svn: 41075
2007-08-14 16:53:52 +00:00
Devang Patel
35c1c452b0
No need to use iterator to erase basic block.
...
llvm-svn: 41074
2007-08-14 16:53:24 +00:00
Chris Lattner
603e77e54e
tcl seems to hate |& for some reason.
...
llvm-svn: 41073
2007-08-14 16:19:35 +00:00
Chris Lattner
a76ba56608
switch this to use fastcc to avoid fpstack traffic on x86-32. Switch to
...
using the count script instead of wc -l
llvm-svn: 41072
2007-08-14 16:14:10 +00:00
Evan Cheng
5c28086ce6
Update test case. A spill should now be deleted.
...
llvm-svn: 41070
2007-08-14 09:16:00 +00:00
Evan Cheng
de24ad8897
If a spilled value is being reused and the use is a kill, that means there are
...
no more uses within the MBB and the spilled value isn't live out of the MBB.
Then it's safe to delete the spill store.
llvm-svn: 41069
2007-08-14 09:11:18 +00:00
Evan Cheng
fb29461720
Spiller reuse test case.
...
llvm-svn: 41068
2007-08-14 05:51:03 +00:00
Evan Cheng
886c1fe427
If a rematerializable def is not deleted, i.e. it is also spilled, check if the
...
spilled value is available for reuse.
llvm-svn: 41067
2007-08-14 05:42:54 +00:00
Evan Cheng
5b64e19e06
Kill info update bugs.
...
llvm-svn: 41064
2007-08-14 01:56:58 +00:00
Devang Patel
5d8b2b3293
Handle last value assignments.
...
llvm-svn: 41063
2007-08-14 01:30:57 +00:00