Evan Cheng
6b8fae1777
Add a variant of AnalyzeCallOperands that can be used by fast isel.
...
llvm-svn: 55838
2008-09-05 16:59:26 +00:00
Duncan Sands
3a52056d4d
Use removeAllCalledFunctions rather than removing
...
edges one by one by hand.
llvm-svn: 55836
2008-09-05 14:56:53 +00:00
Duncan Sands
7c8fb1ad93
Remove trailing whitespace.
...
llvm-svn: 55835
2008-09-05 12:37:12 +00:00
Duncan Sands
9f4b4a5901
Strip trailing whitespace.
...
llvm-svn: 55834
2008-09-05 12:31:56 +00:00
Argyrios Kyrtzidis
2545aeb710
Support "typeof unary-expression" (GNU C++ extension).
...
llvm-svn: 55833
2008-09-05 11:26:19 +00:00
Argyrios Kyrtzidis
971dd236f0
Set different header search paths for the Windows platform.
...
llvm-svn: 55832
2008-09-05 09:41:20 +00:00
Duncan Sands
6dd02b5219
Make this pass return that it made a change if
...
it modifies a functions attributes.
llvm-svn: 55831
2008-09-05 09:08:37 +00:00
Argyrios Kyrtzidis
624cab87dc
Add header search paths for Mingw32 (GCC version 4).
...
llvm-svn: 55830
2008-09-05 09:03:53 +00:00
Argyrios Kyrtzidis
91c3f526dc
Line endings: CRLF -> LF
...
llvm-svn: 55829
2008-09-05 08:53:53 +00:00
Duncan Sands
4d50e984bb
"Fix" PR2762. The testcase now crashes codegen
...
elsewhere due to a missing pattern for
v2f64 = sint_to_fp v2i32. That is PR2687.
llvm-svn: 55828
2008-09-05 08:13:35 +00:00
Daniel Dunbar
7de5e3b111
Fix placement of const on a number of X86 builtins.
...
llvm-svn: 55827
2008-09-05 05:56:16 +00:00
Daniel Dunbar
0335024c4a
Test case for previous commit (Workaround gcc bug causing crash on our
...
preprocessed outputs)
llvm-svn: 55826
2008-09-05 03:23:51 +00:00
Daniel Dunbar
98e0e535bd
Workaround gcc bug causing crash on our preprocessed outputs.
...
- gcc is not happy if we start a preprocessed file with
#line 1 "XXX" 1
- Workaround by making sure file starts with a simple #line change.
Also, factored WriteLineInfo out.
Also, fixed bug where FileType was not being correctly updated.
llvm-svn: 55825
2008-09-05 03:22:57 +00:00
Dan Gohman
921ddd69ba
Fix a search+replace-o.
...
llvm-svn: 55824
2008-09-05 01:58:21 +00:00
Dale Johannesen
f2a52bbee5
Add -flimit-float-precision to enable some faster,
...
but less accurate (non-IEEE) code sequences for
certain math library functions. Add the first of
several such expansions. Don't worry, if you don't
turn it on it won't affect you.
llvm-svn: 55823
2008-09-05 01:48:15 +00:00
Ted Kremenek
cb36325316
Remove stale comments.
...
llvm-svn: 55822
2008-09-05 01:38:34 +00:00
Ted Kremenek
47923c7e59
Remove "NextDecl" from RecordDecl. This change touches many files that where RecordDecl or CXXRecordDecl was constructed, always with an argument of 'NULL' for the previous declaration.
...
The motivation behind this change is that chaining the RecordDecls is simply unnecessary. Once we create multiple RecordDecls for the same struct/union/class, clients that care about all the declarations of the same struct can build a back map by seeing which Decls refer to the same RecordType.
llvm-svn: 55821
2008-09-05 01:34:33 +00:00
Dan Gohman
09faf81b6c
Check a comparion's operand type for legality before
...
expanding its operands.
llvm-svn: 55820
2008-09-05 01:33:56 +00:00
Dan Gohman
ffd89d40d2
Fix X86FastISel code for comparisons and conditional branches
...
to check the result of getRegForValue before using it, and
to check for illegal operand types.
llvm-svn: 55819
2008-09-05 01:15:35 +00:00
Dan Gohman
ea56bdde34
FastISel support for unreachable.
...
llvm-svn: 55818
2008-09-05 01:08:41 +00:00
Dan Gohman
5b4a9f4a69
In FastISel mode, the scheduler may be invoked multiple times
...
in the same block. Fix the entry-block handling to only run at
at the beginning of the entry block, and not any other times.
llvm-svn: 55817
2008-09-05 01:07:48 +00:00
Dan Gohman
a5753b31be
X86FastISel support for conditional branches.
...
llvm-svn: 55816
2008-09-05 01:06:14 +00:00
Daniel Dunbar
2ffee610da
Set sext/zext on function result.
...
- <rdar://problem/6156739>
llvm-svn: 55815
2008-09-05 00:57:45 +00:00
Owen Anderson
50288e3c99
Add initial support for selecting constant materializations that require constant
...
pool loads on X86 in fast isel. This isn't actually used yet.
llvm-svn: 55814
2008-09-05 00:06:23 +00:00
Ted Kremenek
c92c134563
Patch to scan-build by Jordan Breeding:
...
- Don't remove $BaseDir; may be unsafe
- Always create HTML directory with parents
llvm-svn: 55813
2008-09-04 23:56:36 +00:00
Daniel Dunbar
449a339ffd
Set function attributes (sext, zext, etc.) on Objective-C methods.
...
llvm-svn: 55812
2008-09-04 23:41:35 +00:00
Dan Gohman
09fdbcf400
X86FastISel support for ICmpInst and FCmpInst.
...
llvm-svn: 55811
2008-09-04 23:26:51 +00:00
Ted Kremenek
f82dab1a7a
Updated checker build.
...
llvm-svn: 55810
2008-09-04 23:13:30 +00:00
Devang Patel
8af98cdf73
update.
...
llvm-svn: 55809
2008-09-04 23:10:26 +00:00
Devang Patel
caacdbab3d
Document function notes.
...
llvm-svn: 55808
2008-09-04 23:05:13 +00:00
Evan Cheng
6c94b99c62
For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries.
...
llvm-svn: 55807
2008-09-04 22:59:58 +00:00
Devang Patel
40519f0370
A loop may be unswitched multiple times. Reconstruct dom info. at the end.
...
llvm-svn: 55806
2008-09-04 22:43:59 +00:00
Daniel Dunbar
98982ef954
Fix unintended use of doxygen comment strings.
...
llvm-svn: 55805
2008-09-04 21:54:53 +00:00
Daniel Dunbar
56b936ba32
Fix infinite loop in for ... in code generation.
...
- Patch via Thomas Clement, thanks!
llvm-svn: 55804
2008-09-04 21:54:37 +00:00
Ted Kremenek
72c06446bb
Added test case for the dead stores checker that was originally an FP reported in PR 2763.
...
llvm-svn: 55801
2008-09-04 21:52:52 +00:00
Ted Kremenek
b0746ca90b
Fix CFG construction bug:
...
- Within for loops, 'continue' should jump to a basic block containing the
increment code
llvm-svn: 55800
2008-09-04 21:48:47 +00:00
Dale Johannesen
462a071c38
Adjust tests to expect new math intrinsics to be
...
emitted only when errno is not in use.
llvm-svn: 55797
2008-09-04 21:24:28 +00:00
Devang Patel
b9d5e02811
If function notes say optimize for size, then adjust alignment.
...
llvm-svn: 55794
2008-09-04 21:03:41 +00:00
Dan Gohman
5eba3bcac6
Add an include of SmallSet.h.
...
llvm-svn: 55793
2008-09-04 20:49:27 +00:00
Devang Patel
00ec74616b
Initialize loop data first.
...
llvm-svn: 55792
2008-09-04 20:36:36 +00:00
Daniel Dunbar
217836527c
Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
...
in a more obvious fashion.
llvm-svn: 55791
2008-09-04 20:26:14 +00:00
Daniel Dunbar
c7dfbfd544
Prevent invalid warnings about incomplete implementations for methods
...
which are inherited from base clases or protocols.
llvm-svn: 55790
2008-09-04 20:01:15 +00:00
Duncan Sands
21a57993dc
Neaten this up a bit. No functionality change.
...
llvm-svn: 55789
2008-09-04 19:16:20 +00:00
Devang Patel
d52071540c
Do not unswitch if the function notes say we're optimizing this function for size.
...
llvm-svn: 55786
2008-09-04 18:55:13 +00:00
Andrew Lenharth
19fb2aba50
try to seperate the mechanism into something others can use
...
llvm-svn: 55785
2008-09-04 18:51:26 +00:00
Dale Johannesen
57d3d8aba2
Adjust libcalls tests to expect intrinsic for exp2
...
llvm-svn: 55784
2008-09-04 18:44:20 +00:00
Nuno Lopes
92c4bc8873
fix running tests with valgrind (there were a lot of bogus failures and warnings)
...
currently clang passes all tests under valgrind with the leak checker disabled :P (and fails most otherwise)
llvm-svn: 55782
2008-09-04 18:33:57 +00:00
Dale Johannesen
fe1bb7964c
Add intrinsic forms of pow and exp2. The non-intrinsic
...
forms remain to handle older IR files, but will go away soon.
llvm-svn: 55781
2008-09-04 18:30:46 +00:00
Ted Kremenek
e9354c6029
scan-build:
...
- Only set the environment variable 'CXX' if the user specifies --use-c++.
- Fix regression when setting LDPLUSPLUS: add a 'which' to determine the location of g++. This regression was pointed out by Jordan Breeding!
llvm-svn: 55780
2008-09-04 17:52:41 +00:00
Dan Gohman
a79db30d28
Tidy up several unbeseeming casts from pointer to intptr_t.
...
llvm-svn: 55779
2008-09-04 17:05:41 +00:00