Ted Kremenek
5a6ef49e70
Added GDM query functions "contains" for the data types that support the "Contains" method.
...
llvm-svn: 60505
2008-12-03 20:49:14 +00:00
Ted Kremenek
217dc8de69
Added partial specialization of GRStatePartialTrait<T> with T = ImmutableSet<...>.
...
llvm-svn: 60504
2008-12-03 20:48:33 +00:00
Sebastian Redl
faf6808e7a
Overload resolution for the operator new function. Member version is still untested.
...
llvm-svn: 60503
2008-12-03 20:26:15 +00:00
Ted Kremenek
cd7cc1ec0b
Properly "include" abs_path.
...
llvm-svn: 60502
2008-12-03 19:50:37 +00:00
Chris Lattner
dc3f6f2c12
Factor some code into a new FoldSingleEntryPHINodes method.
...
llvm-svn: 60501
2008-12-03 19:44:02 +00:00
Dan Gohman
0c91a5f56c
Fix an inconsistency in a comment.
...
llvm-svn: 60500
2008-12-03 19:38:38 +00:00
Evan Cheng
1339e72d97
Use mmx (punpckldq VR64, (mmx_v_set0)) to clear high 32-bits of a VR64 register.
...
llvm-svn: 60499
2008-12-03 19:38:05 +00:00
Dan Gohman
434a3ca8e9
Don't charge the full latency for anti and output dependencies. This is
...
an area where eventually it would be good to use target-dependent
information.
llvm-svn: 60498
2008-12-03 19:37:34 +00:00
Dale Johannesen
5d84f685a8
A step towards geting linux ppc to work (see PR 3099)
...
llvm-svn: 60497
2008-12-03 19:33:10 +00:00
Dan Gohman
444baea236
When looking for anti-dependences on the critical path, don't bother
...
examining non-anti-dependence edges.
llvm-svn: 60496
2008-12-03 19:32:26 +00:00
Dan Gohman
1a32dda4aa
Add a comment about callee-saved registers.
...
llvm-svn: 60495
2008-12-03 19:30:13 +00:00
Dale Johannesen
d49ceff6ba
Fix a really wrong comment.
...
llvm-svn: 60494
2008-12-03 19:25:46 +00:00
Ted Kremenek
6cd08e42e4
Use abs_path to resolve symbolic links and '..' in report table.
...
llvm-svn: 60493
2008-12-03 19:19:23 +00:00
Chris Lattner
8820ca5560
fix a really incorrect comment.
...
llvm-svn: 60492
2008-12-03 19:18:54 +00:00
Ted Kremenek
eda6c23984
Don't have special treatment from pruning the common suffices of files in /Developer, /usr, etc.
...
llvm-svn: 60491
2008-12-03 19:16:58 +00:00
Ted Kremenek
fff9f4aaaf
BasicConstraintManager:
...
- Fix nonsensical logic in AssumeSymGE. When comparing 'sym >= constant' and the
constant is the maximum integer value, add the constraint that 'sym ==
constant' when the path is deemed feasible. All other cases are feasible.
- Improve AssumeSymGT. When comparing 'sym > constant' and constant is the
maximum integer value we know the path is infeasible.
- Add test case for this enhancement to AssumeSymGT.
llvm-svn: 60490
2008-12-03 19:06:30 +00:00
Ted Kremenek
f935cfe277
BasicConstraintManager:
...
- Fix nonsensical logic in AssumeSymLE. When comparing 'sym <= constant' and the
constant is the minimum integer value, add the constraint that 'sym ==
constant' when the path is deemed feasible. All other cases are feasible.
- Improve AssumeSymLT to address <rdar://problem/6407949>. When comparing
'sym < constant' and constant is the minimum integer value we know the
path is infeasible.
- Add test case for <rdar://problem/6407949>.
llvm-svn: 60489
2008-12-03 18:56:12 +00:00
Dan Gohman
3f86b51333
Split foldMemoryOperand into public non-virtual and protected virtual
...
parts, and add target-independent code to add/preserve
MachineMemOperands.
llvm-svn: 60488
2008-12-03 18:43:12 +00:00
Dan Gohman
69cc2cbbff
Rename isSimpleLoad to canFoldAsLoad, to better reflect its meaning.
...
llvm-svn: 60487
2008-12-03 18:15:48 +00:00
Dan Gohman
78407ac8e5
Extend X86's addFrameReference to add a MachineMemOperand for
...
the frame reference. This will help post-RA scheduling determine
that spills to distinct stack slots are independent.
llvm-svn: 60486
2008-12-03 18:11:40 +00:00
Rafael Espindola
74dc32d422
Fix some tests. The grep for "il" was matching "file".
...
llvm-svn: 60485
2008-12-03 17:14:56 +00:00
Dan Gohman
810daf7e93
Update a comment.
...
llvm-svn: 60484
2008-12-03 17:10:41 +00:00
Sebastian Redl
9c33e96813
Fix typo in index operator overloading.
...
llvm-svn: 60483
2008-12-03 16:32:40 +00:00
Duncan Sands
f52e518d05
Only check that the result of the mapping was not
...
a new node if the node was actually remapped.
llvm-svn: 60482
2008-12-03 12:36:16 +00:00
Rafael Espindola
cda011b5ad
Fix bug 3140.
...
Print a single parameter .file directive if we have an ELF target.
llvm-svn: 60480
2008-12-03 11:01:37 +00:00
Richard Osborne
feece7edab
Add support for ISD::TRAP to the XCore backend
...
llvm-svn: 60479
2008-12-03 10:59:16 +00:00
Evan Cheng
501089f6f4
Refactor code. No functionality change.
...
llvm-svn: 60478
2008-12-03 08:38:43 +00:00
Bill Wendling
f8d1ef9842
CC should only be a ConstantSDNode at this point. Just use 'cast' instead of 'dyn_cast'.
...
llvm-svn: 60477
2008-12-03 08:32:02 +00:00
Evan Cheng
b5a97ff651
Fix test.
...
llvm-svn: 60476
2008-12-03 08:20:45 +00:00
Chris Lattner
350fc5721d
testcase for br undef folding.
...
llvm-svn: 60471
2008-12-03 07:48:27 +00:00
Chris Lattner
595c7279bd
Teach jump threading some more simple tricks:
...
1) have it fold "br undef", which does occur with
surprising frequency as jump threading iterates.
2) teach j-t to delete dead blocks. This removes the successor
edges, reducing the in-edges of other blocks, allowing
recursive simplification.
3) Fold things like:
br COND, BBX, BBY
BBX:
br COND, BBZ, BBW
which also happens because jump threading iterates.
llvm-svn: 60470
2008-12-03 07:48:08 +00:00
Chris Lattner
37e0136fef
third time is the charm.
...
llvm-svn: 60469
2008-12-03 07:45:15 +00:00
Chris Lattner
c04a1ffa9a
fix assertion.
...
llvm-svn: 60468
2008-12-03 07:43:05 +00:00
Chris Lattner
50532410d1
don't spew tons of stuff to the output. This testcase is *not* for
...
loop deletion (it is for a ton of passes), which is very bad.
llvm-svn: 60465
2008-12-03 06:41:50 +00:00
Chris Lattner
7eb270ed03
Rename DeleteBlockIfDead to DeleteDeadBlock and make it
...
unconditionally delete the block. All likely clients will
do the checking anyway.
llvm-svn: 60464
2008-12-03 06:40:52 +00:00
Chris Lattner
bcc904a67c
Factor some code out of SimplifyCFG, forming a new
...
DeleteBlockIfDead method.
llvm-svn: 60463
2008-12-03 06:37:44 +00:00
Anders Carlsson
6a113d9ddb
If a global var decl has an initializer, make sure to always set its linkage to external.
...
llvm-svn: 60462
2008-12-03 05:51:23 +00:00
Dan Gohman
cc78cdf275
Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86's
...
foldMemoryOperand how to "fold" them, by converting them into constant-pool
loads. When they aren't folded, they use xorps/cmpeqd, but for example when
register pressure is high, they may now be folded as memory operands, which
reduces register pressure.
Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will
remat it instead of copying zeros around (V_SETALLONES was already marked).
llvm-svn: 60461
2008-12-03 05:21:24 +00:00
Bill Wendling
e3402692d8
Change label to 'carry' for unsigned adds.
...
llvm-svn: 60460
2008-12-03 02:43:12 +00:00
Dan Gohman
ae3ba45eb2
Add a sanity-check to tablegen to catch the case where isSimpleLoad
...
is set but mayLoad is not set. Fix all the problems this turned up.
Change code to not use isSimpleLoad instead of mayLoad unless it
really wants isSimpleLoad.
llvm-svn: 60459
2008-12-03 02:30:17 +00:00
Dan Gohman
ac5392c596
Fix a missing #include.
...
llvm-svn: 60458
2008-12-03 02:10:00 +00:00
Dan Gohman
a3d9eb0131
Add an explicit keyword.
...
llvm-svn: 60457
2008-12-03 01:55:47 +00:00
Dan Gohman
9810e76b30
Replace a #include with a forward-declaration.
...
llvm-svn: 60456
2008-12-03 01:53:18 +00:00
Dan Gohman
0c8df671ac
Fix this comment to reflect that it applies to types other
...
than just i32.
llvm-svn: 60455
2008-12-03 01:39:44 +00:00
Dan Gohman
5d3d1f69e1
Fix byval arguments in the fastcc calling convention. The fastcc convention
...
delegates to the regular x86-32 convention which handles byval, but only
after it handles a few cases, and it's necessary to handle byval before
handling those cases. This fixes PR3122 (and rdar://6400815), llvm-gcc
miscompiling LLVM.
llvm-svn: 60453
2008-12-03 01:28:04 +00:00
Ted Kremenek
73a4d28758
PTH:
...
Use an array instead of a DenseMap to cache persistent IDs -> IdentifierInfo*. This leads to a 4% speedup at -fsyntax-only using PTH.
llvm-svn: 60452
2008-12-03 01:16:39 +00:00
Dan Gohman
971c88f3b2
Add nounwind attributes to this test.
...
llvm-svn: 60451
2008-12-03 01:10:18 +00:00
Steve Naroff
f326f4056e
More support for rewriting property getter/setters.
...
llvm-svn: 60450
2008-12-03 00:56:33 +00:00
Dale Johannesen
b43a689520
testcases for recent dag combiner changes
...
llvm-svn: 60449
2008-12-03 00:52:41 +00:00
Ted Kremenek
e1fc020e65
Update Xcode project.
...
llvm-svn: 60448
2008-12-03 00:38:43 +00:00