Duncan Sands
ac8ddfc48d
Test this differently: I saw this test fail
...
because opt exited while llvm-as was still
writing to the pipe, causing it to get a
SIGPIPE. It seems best to change things to
avoid the race altogether.
llvm-svn: 54138
2008-07-28 19:09:01 +00:00
Bill Wendling
3a37809823
Don't build with 4.0.
...
llvm-svn: 54137
2008-07-28 18:45:36 +00:00
Dan Gohman
f6391108c6
Fix a typo in a comment.
...
llvm-svn: 54136
2008-07-28 18:43:51 +00:00
Dan Gohman
f8f44b4837
Reword a comment to be less ambiguous.
...
llvm-svn: 54135
2008-07-28 18:42:57 +00:00
Dan Gohman
415d5069f4
Fix a bashism in TestRunner.sh.
...
llvm-svn: 54134
2008-07-28 18:41:03 +00:00
Owen Anderson
4d84a90fa9
Add support for eliminating stores that store the same value that was just loaded.
...
This fixes PR2599.
llvm-svn: 54133
2008-07-28 16:14:26 +00:00
Owen Anderson
23a7866a06
Fix a subtle bug when removing instructions from memdep. In very specific
...
circumstances we could end up remapping a dependee to the same instruction
that we're trying to remove. Handle this properly by just falling back to
a conservative solution.
llvm-svn: 54132
2008-07-28 16:00:58 +00:00
Bill Wendling
86c1243f5e
Remove <iostream> include.
...
llvm-svn: 54131
2008-07-27 23:18:30 +00:00
Dan Gohman
7ae5bf35a2
Don't use reinterpret_cast when it isn't needed.
...
llvm-svn: 54130
2008-07-27 23:12:19 +00:00
Dan Gohman
6bfdeb2ed1
Make the ScheduleDAG's GraphRoot edge be blue and dashed too, like
...
the SelectionDAG's.
llvm-svn: 54129
2008-07-27 22:46:49 +00:00
Dan Gohman
9742f7772d
Rename SDOperand to SDValue.
...
llvm-svn: 54128
2008-07-27 21:46:04 +00:00
Dan Gohman
47c5cdbc34
Tidy SDNode::use_iterator, and complete the transition to have it
...
parallel its analogue, Value::value_use_iterator. The operator* method
now returns the user, rather than the use.
llvm-svn: 54127
2008-07-27 20:43:25 +00:00
Dan Gohman
a5a50a8853
Fix embedded CRLF characters.
...
llvm-svn: 54125
2008-07-27 18:37:58 +00:00
Dan Gohman
2a0bc8f6e1
Rename isOnlyUseOf to isOnlyUserOf.
...
llvm-svn: 54124
2008-07-27 18:06:42 +00:00
Dan Gohman
bdbaf4d128
Improve comments for SDNode use-count methods. No functionality change.
...
llvm-svn: 54123
2008-07-27 17:44:52 +00:00
Duncan Sands
545c21768f
Some binary operations were being treated as
...
unary operations! Add support for softening
some additional unary operations like fp_to_sint.
llvm-svn: 54122
2008-07-27 12:28:43 +00:00
Owen Anderson
25a3bf3f0e
Fix the issues originally addressed in r54070. After thinking about it some more, I realized that the right thing to do
...
is to have StrongPHIElimination use its knowledge of the PHIs before they're erased to update the intervals appropriate. This is
both simpler and more accurate than the alternative, which was having LIA figure it out when it renumbered things, plus it's just
the right thing to do!
llvm-svn: 54077
2008-07-25 23:38:08 +00:00
Owen Anderson
8f9ab550a2
Revert my previous patch. In retrospect, this is completely the wrong way to fix this problem.
...
llvm-svn: 54072
2008-07-25 23:06:59 +00:00
Owen Anderson
9408721750
Special cases are needed in renumbering when dealing with renumbering after a PHI has been removed. The interval previously defined
...
by the PHI needs to be extended to the beginning of its basic block, and the intervals that were inputs need to be trimmed to the end
of their basic blocks.
llvm-svn: 54070
2008-07-25 22:32:01 +00:00
Owen Anderson
9e3ea5a60c
In order to avoid reprocessing a register more than once, we need to add it
...
to the handled set so it will get filtered out in future iterations.
llvm-svn: 54065
2008-07-25 21:35:43 +00:00
Owen Anderson
987bd1dc5b
Remove live interval entries for an interval if we're eliminating its only VN.
...
llvm-svn: 54062
2008-07-25 21:08:41 +00:00
Owen Anderson
fe97082ddd
Properly remap live ranges whose end indices are the end of the function.
...
llvm-svn: 54061
2008-07-25 21:07:13 +00:00
Dan Gohman
c28f2265a4
Rename the version of CreateRet that's a convenience method for creating
...
multiple-valued return values, so that the name CreateRet is just for
creating plain ret statements.
llvm-svn: 54053
2008-07-25 20:36:15 +00:00
Owen Anderson
cefa4df4c1
Make the remapping of interval indices (particularly ending indices) more robust.
...
This is tricky business, and will probably take a few more iterations to get
the last kinks out of it.
llvm-svn: 54043
2008-07-25 19:50:48 +00:00
Duncan Sands
46a694af35
Fix error: ‘std::ostream’ has not been declared
...
when compiling with gcc 4.3.
llvm-svn: 54041
2008-07-25 19:29:14 +00:00
Nate Begeman
1396e3d206
Fix test RUN line
...
llvm-svn: 54040
2008-07-25 19:08:59 +00:00
Nate Begeman
5523d40e4b
Disable mov{L, LP, HP, HLP, *DUP} shuffles for mmx
...
mmx needs its own fancy shuffle logic based on unpack; for now we get correct but awful code.
Also commit Mon Ping's VSETCC patch
llvm-svn: 54039
2008-07-25 19:05:58 +00:00
Nate Begeman
a6cdff50b0
Remove unnecessary implicit argument
...
llvm-svn: 54031
2008-07-25 17:56:27 +00:00
Nate Begeman
ce064348d9
Fix minor issues with VICmp/VFCmp constant expressions
...
llvm-svn: 54030
2008-07-25 17:35:37 +00:00
Nate Begeman
730880eec2
Fit in 80 cols
...
llvm-svn: 54029
2008-07-25 17:34:41 +00:00
Nate Begeman
8c76bda987
Allow verifier to be run on partially materialized modules.
...
llvm-svn: 54028
2008-07-25 17:28:23 +00:00
Nate Begeman
8757bedd41
Add predicate for GhostLinkage, used by the JIT
...
llvm-svn: 54027
2008-07-25 17:26:48 +00:00
Nate Begeman
73efed7a4c
Remove dead PatLeaf; there are a number of issues around MMX movl that need to be fixed.
...
llvm-svn: 54026
2008-07-25 17:25:04 +00:00
Nate Begeman
d340dc3fab
Tab removal
...
llvm-svn: 54025
2008-07-25 17:24:13 +00:00
Dan Gohman
1c8549fd7f
Add a #include for the uses of uint64_t.
...
llvm-svn: 54016
2008-07-25 15:39:12 +00:00
Dan Gohman
6d394147f2
This test needs -aggressive-remat enabled.
...
llvm-svn: 54015
2008-07-25 15:25:32 +00:00
Dan Gohman
25c825ede1
Disable the new aggressive remat logic introduced in 54000; it causes some
...
regressions, such as PR2595. Also, there is a significant code-quality
issue in SPEC 464.h264ref and a few others.
llvm-svn: 54014
2008-07-25 15:08:37 +00:00
Mon P Wang
0fba42aefd
When splitting a vector shuffle, fixed which type we used for the hi part
...
llvm-svn: 54007
2008-07-25 01:30:26 +00:00
Evan Cheng
d4eb684258
Teach ARM isLegalAddressingMode to handle unknown type without crashing. This fixes pr2589.
...
llvm-svn: 54004
2008-07-25 00:55:17 +00:00
Dan Gohman
3ede9e57a2
Add a #include <cassert>, since this file use assert.
...
llvm-svn: 54003
2008-07-25 00:44:19 +00:00
Dan Gohman
11a4531b1b
Apply a patch from Mahadevan R, with minor formatting changes, to
...
workaround a GCC 3.3 bug observed on OpenBSD.
llvm-svn: 54002
2008-07-25 00:36:05 +00:00
Dan Gohman
68487f0859
Use AliasAnalysis::pointsToConstantMemory in SDISel to avoid unnecessary
...
dependencies with constant load nodes. This allows them to be scheduled
freely.
llvm-svn: 54001
2008-07-25 00:04:14 +00:00
Dan Gohman
680e1bd958
Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory,
...
and knowledge of PseudoSourceValues. This unfortunately isn't sufficient to allow
constants to be rematerialized in PIC mode -- the extra indirection is a
complication.
llvm-svn: 54000
2008-07-25 00:02:30 +00:00
Dan Gohman
1ecbcecdf3
Put the LICM of constant GlobalVariables, introduced in r53945, under a
...
command-line option, and disable it by default. It introduced performance
regressions because CodeGen is currently not able to remat such loads.
llvm-svn: 53997
2008-07-24 23:57:25 +00:00
Dan Gohman
da5c2b50b8
Add target triples so these tests behave as expected on non-darwin hosts.
...
llvm-svn: 53991
2008-07-24 18:08:01 +00:00
Dan Gohman
41eaf577d6
Avoid emitting casts in static initializer contexts. This fixes
...
large numbers of CBE regressions caused by r53958.
llvm-svn: 53990
2008-07-24 17:57:48 +00:00
Owen Anderson
cb7fb7aa4a
Store the predecessor MBB in the PHIUnion, rather than an index, since the indices will change after renumbering.
...
llvm-svn: 53985
2008-07-24 17:12:16 +00:00
Evan Cheng
9c8cac5fd7
Fix a catastrophic PPC64 ABI bug: i32 operands which are passed in memory (all of the parameter registers are used) are loaded from sp offsets that were off by 4.
...
llvm-svn: 53979
2008-07-24 08:17:07 +00:00
Devang Patel
fb1364b2b5
Create temp. file in current path.
...
llvm-svn: 53973
2008-07-24 00:35:38 +00:00
Devang Patel
89a4804599
Identify llvm bit-code file that is causing linking failure in LTO mode.
...
llvm-svn: 53972
2008-07-24 00:34:11 +00:00