Daniel Dunbar
793cc3e0c3
ABITest: Improve test driver marginally, to allow running a specific
...
test index.
llvm-svn: 71295
2009-05-08 23:40:45 +00:00
Evan Cheng
51fa9c7138
Enable loop bb placement optimization.
...
llvm-svn: 71291
2009-05-08 23:35:49 +00:00
Ted Kremenek
8c8fb488e6
retain/release checker: Add stub for HandleAutoreleaseCounts.
...
llvm-svn: 71290
2009-05-08 23:32:51 +00:00
Zhongxing Xu
ca143e73ea
Fix PR4182.
...
llvm-svn: 71288
2009-05-08 23:28:07 +00:00
Dan Gohman
35dc9b65ed
Fix bogus overflow checks by replacing them with actual
...
overflow checks.
llvm-svn: 71284
2009-05-08 23:11:16 +00:00
Ted Kremenek
884a8996c5
retain/release checker: Refactor error-reporting code in EvalDeadSymbols and
...
EvalEndPath. This sets the stage for handling autorelease counts.
llvm-svn: 71283
2009-05-08 23:09:42 +00:00
Evan Cheng
8f43afd3bb
PPC::B and PPC::BCC's target operand may be an immediate.
...
llvm-svn: 71282
2009-05-08 23:09:25 +00:00
Mike Stump
d1b4636717
In non-pic builds, we can use -mdynamic-no-pic for a little more speed.
...
llvm-svn: 71281
2009-05-08 23:08:58 +00:00
Ted Kremenek
c218c84a80
Make BlockEntrace program points taggable.
...
llvm-svn: 71280
2009-05-08 23:08:34 +00:00
Ted Kremenek
c56062d72e
Fix typo in method name.
...
llvm-svn: 71279
2009-05-08 23:07:51 +00:00
Fariborz Jahanian
1bd844da80
Warn if forward class is used as a receiver.
...
llvm-svn: 71278
2009-05-08 23:02:36 +00:00
Dan Gohman
18f026afa6
Use .td for tablegen files, not .ll.
...
llvm-svn: 71277
2009-05-08 23:01:28 +00:00
Mike Stump
90b7cd6a40
Avoid warning in release-asserts build.
...
llvm-svn: 71275
2009-05-08 22:53:06 +00:00
Daniel Dunbar
3a53b857d0
ABITest: Move more of the common Makefile bits into the common
...
Makefile.
llvm-svn: 71274
2009-05-08 22:49:52 +00:00
Daniel Dunbar
811e62c8c1
ABITest: Fix a bug in generating test values for structures w/ no
...
non-padding fields.
llvm-svn: 71273
2009-05-08 22:48:39 +00:00
Daniel Dunbar
b997f3bcc3
x86_64 ABI: Ignore padding bit-fields during classification.
...
- {return-types,single-args}-{32,64} pass the first 1k ABI tests with
bit-fields enabled.
llvm-svn: 71272
2009-05-08 22:26:44 +00:00
Daniel Dunbar
4752783057
Darwin x86_32: When coercing a "single element" structure, make sure
...
to use a wide enough type. This might be wider than the "single
element"'s type in the presence of padding bit-fields.
- Darwin x86_32 now passes the first 1k ABI tests with bit-field
generation enabled.
llvm-svn: 71270
2009-05-08 21:30:11 +00:00
Bill Wendling
8881780832
Mirror how Fast ISel determines if a region.end intrinsic is the end of an
...
inlined function or the end of a function. Before, this was never executing the
"inlined" version of the Record method.
This will become important once the inlined Dwarf writer patch lands.
llvm-svn: 71268
2009-05-08 21:14:49 +00:00
Fariborz Jahanian
3e68a1facc
Fixes a bug in my last patch. Order of types reversed.
...
llvm-svn: 71267
2009-05-08 21:10:00 +00:00
Daniel Dunbar
fdda3501a0
Darwin x86_32: Ignore padding bit-fields when looking for "single
...
element" structures.
llvm-svn: 71266
2009-05-08 21:04:47 +00:00
Dan Gohman
2e55cc5a4a
Fold trunc casts into add-recurrence expressions, allowing the
...
add-recurrence to be exposed. Add a new SCEV folding rule to
help simplify expressions in the presence of these extra truncs.
llvm-svn: 71264
2009-05-08 21:03:19 +00:00
Bill Wendling
fa03b0084a
Compute the offsets of the compile units. We need this so that when we emit a
...
concrete instance of an inlined function, we can get the actual address of the
abstract instance inside of the compile unit.
This isn't currently used, but will be by a future check-in.
llvm-svn: 71263
2009-05-08 21:03:15 +00:00
Dan Gohman
c05bb947c4
Fix another bug in r71252. This code supports GetElementPtr
...
constant exprs as well as instructions.
llvm-svn: 71262
2009-05-08 20:58:38 +00:00
Daniel Dunbar
4861346c44
Darwin x86_32: Improve bit-field handling for returning records.
...
- This turns out to be a no-op now that most of the handling for
everything else is in place.
llvm-svn: 71261
2009-05-08 20:55:49 +00:00
Bill Wendling
9ee6a31bb8
Fix typo.
...
llvm-svn: 71260
2009-05-08 20:49:29 +00:00
Dan Gohman
5122d6152e
Add memoization for getSCEVAtScope results for instructions
...
which are not analyzed with SCEV techniques, which can require
brute-forcing through a large number of instructions. This
fixes a massive compile-time issue on 400.perlbench (in
particular, the loop in MD5Transform).
llvm-svn: 71259
2009-05-08 20:47:27 +00:00
Dan Gohman
b81f47d191
Make the SCEV* form of getSCEVAtScope public, to allow ScalarEvolution
...
clients to use it.
llvm-svn: 71258
2009-05-08 20:38:54 +00:00
Bill Wendling
2dc580c954
Minor clean ups. No functionality change.
...
llvm-svn: 71256
2009-05-08 20:38:02 +00:00
Dan Gohman
2173bd3f34
Fix an error from r71252.
...
llvm-svn: 71255
2009-05-08 20:36:47 +00:00
Bill Wendling
eefdf8970e
Print out nicer dump info for DIDescriptor.
...
llvm-svn: 71253
2009-05-08 20:28:06 +00:00
Dan Gohman
ee750d142d
Factor out the code for creating SCEVs for GEPs into a
...
separate function.
llvm-svn: 71252
2009-05-08 20:26:55 +00:00
Daniel Dunbar
85f4028f2e
Darwin x86_32: Ignore arrays of empty structures inside records.
...
- This eliminates 5/1000 failures on return-types-32, on the current
ABITest config.
llvm-svn: 71250
2009-05-08 20:21:04 +00:00
Fariborz Jahanian
fe9e3940eb
Refactoring of my last patch.
...
llvm-svn: 71248
2009-05-08 20:20:55 +00:00
Dan Gohman
c3a3cb47d2
Implement several new SCEV folding rules for UDiv SCEVs.
...
This fixes an old FIXME, and is needed by some upcoming changes.
llvm-svn: 71247
2009-05-08 20:18:49 +00:00
Daniel Dunbar
51c4bc320e
ABITest: Move default set of test args into common makefile.
...
Also, tweak default list of bit-fields to try.
llvm-svn: 71246
2009-05-08 20:10:52 +00:00
Dan Gohman
bd953333f8
Add a getExitBlock utility function to LoopInfo which returns the
...
exit block of a loop, if there is exactly one, similar to
getExitingBlock.
llvm-svn: 71245
2009-05-08 20:07:23 +00:00
Ted Kremenek
3a0516b25a
retain checker: Track the number of times a tracked object is sent
...
'autorelease'. This isn't used yet to flag errors.
llvm-svn: 71244
2009-05-08 20:01:42 +00:00
Fariborz Jahanian
b2ab73d93c
More type checking for properties, accessors and
...
use of dot-syntax expression. This is to match gcc's.
llvm-svn: 71243
2009-05-08 19:36:34 +00:00
Evan Cheng
6e9959e327
Don't align loop header unless the loop back edge is below the header.
...
llvm-svn: 71242
2009-05-08 19:01:44 +00:00
Anton Korobeynikov
65a58168cc
Factor out cycle-finder code and make it generic.
...
llvm-svn: 71241
2009-05-08 18:51:58 +00:00
Anton Korobeynikov
c94dbf5ba0
Do not emit bit tests if target does not support natively left shift
...
llvm-svn: 71240
2009-05-08 18:51:34 +00:00
Anton Korobeynikov
ea618dd0ba
Allow 8 bit select in custom inserter
...
llvm-svn: 71239
2009-05-08 18:51:21 +00:00
Anton Korobeynikov
e7a9661f31
Properly expand libcalls for urem / srem. Also make code more straightforward.
...
llvm-svn: 71238
2009-05-08 18:51:08 +00:00
Anton Korobeynikov
e2b78115d4
Typo
...
llvm-svn: 71237
2009-05-08 18:50:54 +00:00
Anton Korobeynikov
1484cfe945
Expand UREM / SREM into libcalls
...
llvm-svn: 71236
2009-05-08 18:50:41 +00:00
Anton Korobeynikov
c3e1b392ae
Add 8 bit select
...
llvm-svn: 71235
2009-05-08 18:50:26 +00:00
Anton Korobeynikov
2f910827eb
Provide dummy va_list typedef for msp430
...
llvm-svn: 71233
2009-05-08 18:24:57 +00:00
Chris Lattner
f1d9b91434
Fix PR4152: asm constraint validation happens before dag combine, so we
...
need to work a bit to combine things like (x+c1+c2) into x+c3.
llvm-svn: 71232
2009-05-08 18:23:14 +00:00
Duncan Sands
0267955467
Add some examples to show the difference between
...
the various notions of type size used in LLVM.
llvm-svn: 71230
2009-05-08 17:49:48 +00:00
Chris Lattner
96afab520b
further improvements to gnu objc EH stuff, patch by David Chisnall!
...
llvm-svn: 71227
2009-05-08 17:36:08 +00:00