Evan Cheng
2a332aa866
Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address assembly. 2. Fixed JIT encoding by making the address pc-relative.
...
llvm-svn: 66803
2009-03-12 18:15:39 +00:00
Anders Carlsson
85ba59eade
More ident fixes
...
llvm-svn: 66801
2009-03-12 17:55:17 +00:00
Dale Johannesen
578d8bfc3c
Another missing check for debug intrinsics.
...
llvm-svn: 66800
2009-03-12 17:42:45 +00:00
Chris Lattner
cf35ce9d0d
add a callback for macro expansion, based on a patch by Paolo Bolzoni!
...
llvm-svn: 66799
2009-03-12 17:31:43 +00:00
Chris Lattner
b0a553b925
Fully initialize all ivars, fixing PR3790, patch by Edwin Torok!
...
llvm-svn: 66798
2009-03-12 17:22:48 +00:00
Evan Cheng
56f9f80bb1
Typo.
...
llvm-svn: 66797
2009-03-12 17:07:39 +00:00
Douglas Gregor
573c7467df
Straw man for instantiation of expressions. Use it to instantiate the
...
width of bitfields.
I'll be burning this down and replacing it with a properly-dispatched
implementation like the one used for types.
llvm-svn: 66796
2009-03-12 16:53:44 +00:00
Evan Cheng
f16a991262
Fix test after Chris' select changes.
...
llvm-svn: 66795
2009-03-12 16:10:08 +00:00
Daniel Dunbar
7586bb9de8
Driver: Add ArgList::getLastArg.
...
llvm-svn: 66794
2009-03-12 16:03:38 +00:00
Daniel Dunbar
f336cc279c
ccc: Fix broken assertion.
...
llvm-svn: 66793
2009-03-12 15:59:34 +00:00
Daniel Dunbar
024882184b
ccc: Fix -ccc-print-phases when doing a universal build.
...
llvm-svn: 66792
2009-03-12 15:57:47 +00:00
Duncan Sands
0dd607cd13
Adjust this test for recent sroa improvements.
...
llvm-svn: 66791
2009-03-12 11:56:12 +00:00
Gabor Greif
02ab9ab66d
add some text to explain sentinels
...
llvm-svn: 66790
2009-03-12 10:30:31 +00:00
Daniel Dunbar
4f495980c4
Add Diagnostic files for Frontend and move a couple errors over.
...
- Notably, clang now exits with an error if it can't find a
file. This flushed out a bug in the CGColorSpace.c test case. :)
llvm-svn: 66789
2009-03-12 10:14:16 +00:00
Gabor Greif
4ef9bc053a
minor tweaks
...
llvm-svn: 66788
2009-03-12 09:47:03 +00:00
Daniel Dunbar
5cd1e419b7
Driver: Tweak diag names to be more consistent.
...
llvm-svn: 66787
2009-03-12 09:13:48 +00:00
Daniel Dunbar
c0b3e95a1a
Driver: Use standard Diagnostic interface for diagnostics.
...
llvm-svn: 66786
2009-03-12 08:55:43 +00:00
Daniel Dunbar
33699689ed
Driver: Fix thinko in Arg::hasArg.
...
llvm-svn: 66785
2009-03-12 08:45:11 +00:00
Daniel Dunbar
d971762d5a
Driver: '-' is parsed as an input.
...
llvm-svn: 66784
2009-03-12 08:44:47 +00:00
Daniel Dunbar
1688f1a7e0
Driver: Start sketching construction of abstract built actions.
...
llvm-svn: 66783
2009-03-12 07:58:46 +00:00
Zhongxing Xu
15adce4ea2
Add comments.
...
llvm-svn: 66782
2009-03-12 07:54:17 +00:00
Daniel Dunbar
1a8738935c
Driver: Add information on Driver input/temporary types.
...
llvm-svn: 66781
2009-03-12 07:40:41 +00:00
Owen Anderson
36a9937883
Reorganize some #include's.
...
llvm-svn: 66780
2009-03-12 06:58:19 +00:00
Chris Lattner
4147f08e44
Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))"
...
related transformations out of target-specific dag combine into the
ARM backend. These were added by Evan in r37685 with no testcases
and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll).
Add some simple X86-specific (for now) DAG combines that turn things
like cond ? 8 : 0 -> (zext(cond) << 3). This happens frequently
with the recently added cp constant select optimization, but is a
very general xform. For example, we now compile the second example
in const-select.ll to:
_test:
movsd LCPI2_0, %xmm0
ucomisd 8(%esp), %xmm0
seta %al
movzbl %al, %eax
movl 4(%esp), %ecx
movsbl (%ecx,%eax,4), %eax
ret
instead of:
_test:
movl 4(%esp), %eax
leal 4(%eax), %ecx
movsd LCPI2_0, %xmm0
ucomisd 8(%esp), %xmm0
cmovbe %eax, %ecx
movsbl (%ecx), %eax
ret
This passes multisource and dejagnu.
llvm-svn: 66779
2009-03-12 06:52:53 +00:00
Chris Lattner
a492d29c23
improve comment.
...
llvm-svn: 66778
2009-03-12 06:46:02 +00:00
Evan Cheng
4465954638
Enable Chris' value propagation change. It make available known sign, zero, one bits information for values that are live out of basic blocks. The goal is to eliminate unnecessary sext, zext, truncate of values that are live-in to blocks. This does not handle PHI nodes yet.
...
llvm-svn: 66777
2009-03-12 06:29:49 +00:00
Evan Cheng
ef0b7cc2d5
On x86, if the only use of a i64 load is a i64 store, generate a pair of double load and store instead.
...
llvm-svn: 66776
2009-03-12 05:59:15 +00:00
Chris Lattner
7b87e542dc
add no-unwind, remove duplicate run line.
...
llvm-svn: 66775
2009-03-12 05:56:37 +00:00
Daniel Dunbar
6d3d46bbeb
Driver: Add Option flags.
...
llvm-svn: 66774
2009-03-12 05:46:32 +00:00
Chris Lattner
1d5cf4bcdd
add nounwinds
...
llvm-svn: 66773
2009-03-12 05:35:33 +00:00
Daniel Dunbar
6f2650de80
ccc: Tweak some group names.
...
llvm-svn: 66772
2009-03-12 04:50:20 +00:00
Bill Wendling
207495d8ea
Revert r66765 and r66766. These were causing build failures on Darwin.
...
llvm-svn: 66770
2009-03-12 04:10:09 +00:00
Daniel Dunbar
c800391fb9
Driver: Add definitions for all the gcc options the current ccc
...
understands.
llvm-svn: 66769
2009-03-12 03:55:01 +00:00
Zhongxing Xu
5a6fee9fb8
Use getAsRecordType() to get around sugar types.
...
llvm-svn: 66768
2009-03-12 03:45:35 +00:00
Daniel Dunbar
c727e9310d
Driver: Tweak option naming/def:
...
- Use OPT_ prefix for ids.
- Reference groups and aliases by shortend id (on the theory that
this is more readable).
- Rename the special option ids to more protected names.
llvm-svn: 66767
2009-03-12 03:42:54 +00:00
Nick Lewycky
c46949c278
Regenerate.
...
llvm-svn: 66766
2009-03-12 03:34:33 +00:00
Nick Lewycky
ca433d8a84
Set ARCH to x86 on mixed 32/64-bit Linux systems.
...
Remove the explicit if OS = Darwin test around the setting of -m32/-m64.
llvm-svn: 66765
2009-03-12 03:34:19 +00:00
Daniel Dunbar
a27669f1d8
ccc: Cleanup arguments a bit; we don't need a separate group for
...
-fblocks, and there were some duplicate options scattered in.
llvm-svn: 66764
2009-03-12 03:28:55 +00:00
Sanjiv Gupta
8bb50e2344
Forgot to check-in this as part of 7761.
...
llvm-svn: 66763
2009-03-12 03:20:07 +00:00
Daniel Dunbar
a61bb4d198
Fix uninitialized use in GetAddrOfGlobalBlock, reenable assert.
...
- Mike, please verify.
llvm-svn: 66762
2009-03-12 03:07:24 +00:00
Sanjiv Gupta
f883419b2f
Banksel optimization is now based on the section names of symbols, since the symbols in one section will always be put into one bank.
...
llvm-svn: 66761
2009-03-12 02:10:45 +00:00
Zhongxing Xu
ca026916f4
Add comments to test case.
...
llvm-svn: 66760
2009-03-12 01:55:38 +00:00
Daniel Dunbar
71dc375142
Driver: Reorder arguments in Options.def so option name is first.
...
llvm-svn: 66759
2009-03-12 01:46:53 +00:00
Daniel Dunbar
2c3939cb5d
Driver: Add ArgList::hasArg, for testing for the presence of an
...
argument matching some Option::ID.
llvm-svn: 66758
2009-03-12 01:36:44 +00:00
Daniel Dunbar
8fa943436b
Driver: Add Option::getId and Option::matches taking an option
...
identifier; we will want to use the latter in situations where we just
want to check for a match, but not load options unnecessarily.
llvm-svn: 66757
2009-03-12 01:34:20 +00:00
Daniel Dunbar
adca11c2dd
Driver: Add default index (=0) for Arg::getValue and add Arg::claim
...
(will be used to emit "command line argument unused" diagnostics).
llvm-svn: 66756
2009-03-12 01:32:10 +00:00
Dale Johannesen
9cdb9bb3e5
Allow for switch values bigger than 64 bits.
...
llvm-svn: 66751
2009-03-12 01:20:06 +00:00
Daniel Dunbar
aa75c9d8d8
Add StringMap::lookup.
...
llvm-svn: 66750
2009-03-12 01:16:06 +00:00
Dale Johannesen
5a41b2def5
Fix some nondeterministic behavior when forwarding
...
from a switch table. Multiple table entries that
branch to the same place were being sorted by the
pointer value of the ConstantInt*; changed to sort
by the actual value of the ConstantInt.
llvm-svn: 66749
2009-03-12 01:00:26 +00:00
Evan Cheng
690b635aa6
Also pass -gcc-tool-args when building a shared object.
...
llvm-svn: 66746
2009-03-12 00:53:34 +00:00