Dan Gohman
401df03e2d
Initialize LiveOutInfo's APInt members to zero, as APInt's
...
default constructor produces an uninitialized APInt.
This fixes PR3896.
llvm-svn: 67879
2009-03-27 23:51:02 +00:00
Jim Grosbach
93b0fc3ba8
remove trailing whitespace
...
llvm-svn: 67874
2009-03-27 23:06:27 +00:00
Gabor Greif
b61a9d41b9
"ghostify" the ilist<Function> sentinel
...
llvm-svn: 67872
2009-03-27 22:28:33 +00:00
Mike Stump
f25de0da23
Allow invertable -xno- style optins as well.
...
llvm-svn: 67862
2009-03-27 20:12:55 +00:00
Dan Gohman
88094aaaf9
Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin.
...
llvm-svn: 67856
2009-03-27 18:37:13 +00:00
Julien Lerouge
eaa08f7d93
Fix build on MacOS 10.4 systems (suggested by Mike Smith).
...
llvm-svn: 67855
2009-03-27 18:18:00 +00:00
Dan Gohman
66fc2f0a88
Fix this test so that it doesn't spuriously fail due to some
...
unrelated debugging output happening to contain the string "store".
llvm-svn: 67849
2009-03-27 16:17:22 +00:00
Rafael Espindola
83ee99d7b0
Avoid hardcoding that X86 addresses have 4 operands.
...
llvm-svn: 67848
2009-03-27 15:57:50 +00:00
Rafael Espindola
7c113e5354
Use less hard coded constants to make the code less brittle.
...
llvm-svn: 67846
2009-03-27 15:45:05 +00:00
Duncan Sands
71bb115e1c
Reapply r66415, which was reverted in r66426 for
...
causing a bootstrap failure. Bootstraps here on
x86-32-linux and x86-64-linux. Requested by the
author Gabor Greif who says that a bug that might
have been causing the failure has since been fixed.
llvm-svn: 67844
2009-03-27 15:29:38 +00:00
Rafael Espindola
38604d9598
I am trying to add a segment to the X86 addresses matching to
...
improve TLS support (see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090309/075220.html ), but that code is VERY brittle.
This patch just makes it a bit more resistant.
llvm-svn: 67843
2009-03-27 15:26:30 +00:00
Duncan Sands
e13276db7f
Revert r67798: it breaks llvm-gcc bootstrap on x86-64-linux, presumably due to
...
a miscompilation.
make[4]: Entering directory `gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include'
if [ ! -d "./x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch" ]; then \
mkdir -p ./x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch; \
fi; \
gcc-4.2.llvm-objects/./gcc/xgcc -shared-libgcc -Bgcc-4.2.llvm-objects/./gcc -nostdinc++
-Lgcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/src -Lgcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/gnat-llvm/x86_64-unknown-linux-gnu/bin/ -B/usr/local/gnat-llvm/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/gnat-llvm/x86_64-unknown-linux-gnu/include -isystem /usr/local/gnat-llvm/x86_64-unknown-linux-gnu/sys-include -Winvalid-pch -Wno-deprecated -x
c++-header -g -O2 -D_GNU_SOURCE -Igcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-Igcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include -Igcc-4.2.llvm/libstdc++-v3/libsupc++ -O2 -g
gcc-4.2.llvm/libstdc++-v3/include/precompiled/stdtr1c++.h -o x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch
In file included from gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/repeat.h:247,
from gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/functional:1098,
from gcc-4.2.llvm/libstdc++-v3/include/precompiled/stdtr1c++.h:53:
gcc-4.2.llvm-objects/x86_64-unknown-linux-gnu/libstdc++-v3/include/tr1/functional_iterate.h:417: internal compiler error: in ggc_recalculate_in_use_p, at
ggc-page.c:1602
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs/ > for instructions.
make[4]: *** [x86_64-unknown-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch] Error 1
llvm-svn: 67839
2009-03-27 14:56:47 +00:00
Mikhail Glushenkov
d1d0033738
Documentation update.
...
Expand a bit on various '--*-graph' options.
llvm-svn: 67836
2009-03-27 12:58:29 +00:00
Mikhail Glushenkov
b768a08651
-write-graph now can be used with -o.
...
Makes it possible to set the output file name.
llvm-svn: 67835
2009-03-27 12:57:14 +00:00
Duncan Sands
28e2a3fee7
Revert previous change in favour of an explanatory
...
comment.
llvm-svn: 67833
2009-03-27 11:35:00 +00:00
Duncan Sands
915db4b084
A Release-Asserts build makes it sound like assertions
...
are turned on, while in fact they are turned off. Name
this Release-NoAsserts instead.
llvm-svn: 67831
2009-03-27 09:41:56 +00:00
John Mosby
67ffa789e8
Shrink wrapping in PEI: initial release. Finishing development, enable with --shrink-wrap.
...
llvm-svn: 67828
2009-03-27 06:09:40 +00:00
Evan Cheng
00b79de6a7
Add a __builtin___memset_chk test.
...
llvm-svn: 67815
2009-03-27 02:45:14 +00:00
Dale Johannesen
9fd8bb432f
One more place to skip debug info.
...
llvm-svn: 67811
2009-03-27 01:13:37 +00:00
Devang Patel
a2211c26d7
While hoisting an instruction, update alias info set tracker.
...
llvm-svn: 67798
2009-03-26 23:48:52 +00:00
Mike Stump
9ccd6c4c70
Update to account for driver renaming.
...
llvm-svn: 67791
2009-03-26 23:43:14 +00:00
Evan Cheng
ab6e38c88d
-no-implicit-float means explicit fp operations are legal.
...
llvm-svn: 67784
2009-03-26 23:06:32 +00:00
Evan Cheng
86f6af35bf
Add -march=x86.
...
llvm-svn: 67783
2009-03-26 23:03:32 +00:00
Mikhail Glushenkov
dd06b10f0b
Fix misc. small issues with debug visualization.
...
Detailed bug report:
http://llvm.org/bugs/show_bug.cgi?id=3873
llvm-svn: 67768
2009-03-26 21:23:48 +00:00
Evan Cheng
1343fa32dc
tADDhirr is a thumb instruction. Do not allow this code to be reached in non-thumb mode.
...
llvm-svn: 67765
2009-03-26 19:09:01 +00:00
Owen Anderson
2312267684
Don't assign a new stack slot if the pre-alloc splitter already assigned one.
...
llvm-svn: 67764
2009-03-26 18:53:38 +00:00
Jim Grosbach
2714e9fd55
fix a few spelling errors and typos
...
llvm-svn: 67758
2009-03-26 16:17:51 +00:00
Jim Grosbach
0f35bafdf3
Use 'bool' for FoundRC
...
llvm-svn: 67750
2009-03-26 14:45:34 +00:00
Bill Wendling
e59b8d1cad
Add -f to RUN line.
...
llvm-svn: 67744
2009-03-26 06:17:54 +00:00
Bill Wendling
f4247ff478
Pull transform from target-dependent code into target-independent code.
...
llvm-svn: 67742
2009-03-26 06:14:09 +00:00
Chris Lattner
ad28e0de5f
no need for eh info
...
llvm-svn: 67740
2009-03-26 05:51:18 +00:00
Chris Lattner
cefed33f04
fix warning in -asserts mode.
...
llvm-svn: 67739
2009-03-26 05:29:34 +00:00
Chris Lattner
fd5356e4a9
fix some warnings in release-asserts mode.
...
llvm-svn: 67738
2009-03-26 05:28:26 +00:00
Chris Lattner
4f992250bf
fix an apparently real bug exposed by a warning in -asserts mode.
...
llvm-svn: 67737
2009-03-26 05:28:14 +00:00
Chris Lattner
fc26089eb4
fix warning in -asserts build.
...
llvm-svn: 67736
2009-03-26 05:25:59 +00:00
Bill Wendling
3b9278a1c5
Add testcase for r67728.
...
llvm-svn: 67729
2009-03-26 01:52:47 +00:00
Bill Wendling
f79eccc675
Match this pattern so that we can generate simpler code:
...
%a = ...
%b = and i32 %a, 2
%c = srl i32 %b, 1
%d = br i32 %c,
into
%a = ...
%b = and %a, 2
%c = X86ISD::CMP %b, 0
%d = X86ISD::BRCOND %c ...
This applies only when the AND constant value has one bit set and the SRL
constant is equal to the log2 of the AND constant. The back-end is smart enough
to convert the result into a TEST/JMP sequence.
llvm-svn: 67728
2009-03-26 01:47:50 +00:00
Bill Wendling
40ac545f38
Doxygen-ify comments.
...
llvm-svn: 67727
2009-03-26 01:46:56 +00:00
Dale Johannesen
03cedf1d8b
Skip debug info one more place. (This one gets
...
called from llc, not opt, but it's an IR level
optimization nevertheless.)
llvm-svn: 67724
2009-03-26 01:15:07 +00:00
Devang Patel
8c31ea5290
Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block.
...
llvm-svn: 67719
2009-03-25 23:57:48 +00:00
Jim Grosbach
42e52f8296
Modify getRegisterValueType() to allow for a register being in mutliple
...
register classes. Before, MVT::Other would be returned anytime a reg was
in multiple register classes. Now, MVT::Other is only returned if the types
for those register classes differ.
llvm-svn: 67714
2009-03-25 23:28:33 +00:00
Evan Cheng
bddc7d1032
Add a test case for PR3779: when to promote the function return value.
...
llvm-svn: 67702
2009-03-25 20:30:19 +00:00
Evan Cheng
7e4217176a
Revert 67132. This is breaking some objective-c apps.
...
Also fixes SDISel so it *does not* force promote return value if the function is not marked signext / zeroext.
llvm-svn: 67701
2009-03-25 20:20:11 +00:00
Evan Cheng
b5896c3c48
One more test.
...
llvm-svn: 67694
2009-03-25 17:45:18 +00:00
Dale Johannesen
9fb1dcd077
When optimizing with debug info, don't keep the
...
stoppoint nodes around until Legalize; doing this
imposed an ordering on a sequence of loads that
came from different lines, interfering with scheduling.
llvm-svn: 67692
2009-03-25 17:36:08 +00:00
Evan Cheng
c288c3bf1a
Add __builtin___memcpy_chk tests.
...
llvm-svn: 67691
2009-03-25 16:49:31 +00:00
Duncan Sands
837d2365c1
These tests pass on linux.
...
llvm-svn: 67689
2009-03-25 16:43:59 +00:00
Evan Cheng
a51eea988c
Add a __builtin_object_size test.
...
llvm-svn: 67688
2009-03-25 16:29:33 +00:00
Chris Lattner
e7eed82209
Fix a bug in our autoupgrade support: in an argument list to a function
...
call, we should treat "i64 zext" as the start of a constant expr, but
"i64 0 zext" as an argument with an obsolete attribute on it (this form
is already tested by test/Assembler/2007-07-30-AutoUpgradeZextSext.ll).
Make the autoupgrade logic more discerning to avoid treating "i64 zext"
as an old-style attribute, causing us to reject a valid constant expr.
This fixes PR3876.
llvm-svn: 67682
2009-03-25 06:36:36 +00:00
Gabor Greif
9ac00d10ea
do not rely on callee being operand 0
...
llvm-svn: 67681
2009-03-25 06:32:59 +00:00