Evan Cheng
228cce5b2d
Forgot this.
...
llvm-svn: 50993
2008-05-12 20:08:05 +00:00
Nate Begeman
6258a36fe3
Hard code CmpInst back to i1 for now while I go track down what in the bitcode reader/writer is assuming i1
...
This was breaking a bunch of tests
llvm-svn: 50992
2008-05-12 20:01:56 +00:00
Evan Cheng
c7e9acfed7
Refactor isConsecutiveLoad from X86 to TargetLowering so DAG combiner can make use of it.
...
llvm-svn: 50991
2008-05-12 19:56:52 +00:00
Bill Wendling
f3c4b7fbb5
Revert the previous commit. Go ahead and hoist rematerializable instructions.
...
llvm-svn: 50990
2008-05-12 19:47:18 +00:00
Nate Begeman
11c0772a30
Add support for vicmp/vfcmp codegen, more legalize support coming.
...
This is necessary to unbreak the build.
llvm-svn: 50988
2008-05-12 19:40:03 +00:00
Bill Wendling
74cabebb44
One real change - don't hoist something that's trivially rematerializable. It's
...
possible for it to produce worse code than before.
The rest of this patch is code cleanup.
llvm-svn: 50987
2008-05-12 19:38:32 +00:00
Nate Begeman
e2b25610bb
Fix build breakage
...
llvm-svn: 50986
2008-05-12 19:23:22 +00:00
Nate Begeman
b5b1e1353b
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
llvm-svn: 50985
2008-05-12 19:01:56 +00:00
Dan Gohman
4224373cc8
Make firstEightPowers const.
...
llvm-svn: 50975
2008-05-12 16:38:14 +00:00
Dan Gohman
4f0d9d18c3
Update comments.
...
llvm-svn: 50974
2008-05-12 16:34:30 +00:00
Mikhail Glushenkov
18508c5df4
Filter option names to escape symbols not allowed as C++ identifiers.
...
Makes it possible to use options with names like "Wa,".
Also fixes the -Wall option handling as a side-effect.
llvm-svn: 50973
2008-05-12 16:33:06 +00:00
Mikhail Glushenkov
0cc6bb7a70
Make it possible to choose between different compilation graph definitions at compile-time.
...
llvm-svn: 50972
2008-05-12 16:32:24 +00:00
Mikhail Glushenkov
5005376b0c
Fix some error messages; Make LLVMC pass through the exit code of a failed tool.
...
llvm-svn: 50971
2008-05-12 16:31:42 +00:00
Dan Gohman
8212eaa43a
Fix a compile error on compilers that still want a return value
...
in a non-void function that calls abort.
llvm-svn: 50969
2008-05-12 16:17:19 +00:00
Dan Gohman
6fcb44e191
Fix a missing break in the ISD::FLT_ROUNDS_ handling. Patch by giuma!
...
llvm-svn: 50967
2008-05-12 16:07:15 +00:00
Duncan Sands
45b1810980
Testcase for PR2264.
...
llvm-svn: 50965
2008-05-12 13:01:19 +00:00
Owen Anderson
3f2d12126f
Move the various analyses used by GVN into static variables so we don't have to keep passing them around or refetching them.
...
llvm-svn: 50963
2008-05-12 08:15:27 +00:00
Chris Lattner
0eb3dfb3b0
prune #includes.
...
llvm-svn: 50962
2008-05-12 01:13:53 +00:00
Chris Lattner
f459fcde61
Add a new SparsePropagation analysis utility, which allows you to do
...
SCCP like sparse lattice analysis with relative ease. Just pick your
lattice function and implement the transfer function and you're good.
Just make sure you don't break monotonicity ;-)
llvm-svn: 50961
2008-05-12 01:12:24 +00:00
Nick Lewycky
6bc321fbdf
Make constructors target-specific. This fixes problems where the path would
...
include backslashes on Windows. This should fix llvm-ld problems on win32.
llvm-svn: 50960
2008-05-11 17:37:40 +00:00
Anton Korobeynikov
ad83aeb489
Add note
...
llvm-svn: 50959
2008-05-11 14:33:15 +00:00
Chris Lattner
b700ffd977
Fix various DOUTs to not call the extremely expensive Value::getName()
...
method. DOUT statements are disabled when assertions are off, but the
side effects of getName() are still evaluated. Just call getNameSTart,
which is close enough and doesn't cause heap traffic.
llvm-svn: 50958
2008-05-11 01:55:59 +00:00
Chris Lattner
858c3299c1
Simplify code by using SwitchInst::findCaseValue instead of reimplementing it.
...
llvm-svn: 50957
2008-05-10 23:56:54 +00:00
Bill Wendling
cc084a6ba1
Remove warnings when using -Wshorten-64-to-32.
...
llvm-svn: 50952
2008-05-10 19:59:59 +00:00
Duncan Sands
15622620d3
Testcase for PR2303.
...
llvm-svn: 50951
2008-05-10 16:43:10 +00:00
Anton Korobeynikov
0f39a96feb
Fix linking of internal aliases
...
llvm-svn: 50950
2008-05-10 14:41:43 +00:00
Bill Wendling
cc8838799d
Prevent -W64-to-32-shortened warnings.
...
llvm-svn: 50947
2008-05-10 11:26:52 +00:00
Bill Wendling
adfb940f3a
Prevent warnings from the -Wshorten-64-to-32 flag.
...
llvm-svn: 50946
2008-05-10 10:58:07 +00:00
Gabor Greif
724556e521
remove commented-out code, it is subsumed by DECLARE_TRANSPARENT_OPERAND_ACCESSORS
...
llvm-svn: 50944
2008-05-10 09:36:58 +00:00
Gabor Greif
49bf1a4cf6
merge of use-diet branch to trunk
...
llvm-svn: 50943
2008-05-10 08:32:32 +00:00
Owen Anderson
e34787f5c0
Re-enable loop deletion by default.
...
llvm-svn: 50941
2008-05-10 07:10:24 +00:00
Evan Cheng
c19c639ad7
When transforming a vector_shuffle to a load, the base address must not be an undef.
...
llvm-svn: 50940
2008-05-10 06:46:49 +00:00
Tanya Lattner
a449142a0a
Set to 2.4 and regenerate configure.
...
llvm-svn: 50935
2008-05-10 04:20:38 +00:00
Evan Cheng
fc4b8e1d96
Add nounwind.
...
llvm-svn: 50931
2008-05-10 02:22:25 +00:00
Dan Gohman
4b23d9e60a
For now, abort when an ISD::VAARG is encountered on x86-64, rather
...
than silently generate invalid code.
llvm-gcc does not currently use VAArgInst; it lowers va_arg in the
front-end.
llvm-svn: 50930
2008-05-10 01:26:14 +00:00
Evan Cheng
6a3fa28b38
Some clean up.
...
llvm-svn: 50929
2008-05-10 00:59:18 +00:00
Evan Cheng
79230955a8
If movl top bits are undef, let it be selected to movlps, etc.
...
llvm-svn: 50928
2008-05-10 00:58:41 +00:00
Evan Cheng
cf4d5567d5
If all sources of a PHI node are defined by an implicit_def, just emit an implicit_def instead of a copy.
...
llvm-svn: 50927
2008-05-10 00:17:50 +00:00
Bill Wendling
89c91f81ae
Cosmetic changes:
...
- Comment fixes.
- Moar whitespace.
- Made ivars "private" by default.
No functionality change.
llvm-svn: 50926
2008-05-10 00:12:52 +00:00
Evan Cheng
2adea48f7e
Add a pattern to do move the low element of a v4f32 and zero extend the rest.
...
llvm-svn: 50922
2008-05-09 23:37:55 +00:00
Dale Johannesen
a422bcbec2
Remove an evil vector bool. Cosmetic refactoring,
...
no functional change.
llvm-svn: 50921
2008-05-09 23:28:24 +00:00
Evan Cheng
3493e43afd
Handle a few more cases of folding load i64 into xmm and zero top bits.
...
Note, some of the code will be moved into target independent part of DAG combiner in a subsequent patch.
llvm-svn: 50918
2008-05-09 21:53:03 +00:00
Evan Cheng
f87942325f
Make OpActionsCapacity multiple of 4.
...
llvm-svn: 50917
2008-05-09 21:50:23 +00:00
Dale Johannesen
09a45f2ca3
Rewrite tail merging algorithm to handle the
...
case where there are multiple blocks with a large
number of common tail instructions more efficiently
(compile time optimization).
llvm-svn: 50916
2008-05-09 21:24:35 +00:00
Torok Edwin
9b85a8dc92
put LibCallAliasAnalysis into anonymous namespace to avoid
...
clashes on ::X
llvm-svn: 50912
2008-05-09 20:35:45 +00:00
Evan Cheng
a0688bf1cb
Simplify test.
...
llvm-svn: 50911
2008-05-09 19:56:32 +00:00
Mikhail Glushenkov
216a541699
Rename Example.td to Graph.td.
...
llvm-svn: 50910
2008-05-09 19:11:28 +00:00
Nick Kledzik
14848b7675
use doxygen comments for makeBuffer()
...
llvm-svn: 50908
2008-05-09 18:44:41 +00:00
Chris Lattner
b6db834a47
don't sink invokes, even if they are readonly. This fixes a
...
crash on kimwitu++.
llvm-svn: 50901
2008-05-09 15:07:33 +00:00
Duncan Sands
dd33da4795
Fix a type and formatting.
...
llvm-svn: 50900
2008-05-09 12:20:10 +00:00