Chris Lattner
e2523b287c
when MergeBlockIntoPredecessor merges two blocks, update MemDep if it
...
is floating around in the ether.
llvm-svn: 123223
2011-01-11 08:16:49 +00:00
Chris Lattner
f6ae904e34
Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes
...
phi nodes. It is called from MergeBlockIntoPredecessor which is
called from GVN, which claims to preserve these.
I'm skeptical that this is the actual problem behind PR8954, but
this is a stab in the right direction.
llvm-svn: 123222
2011-01-11 08:13:40 +00:00
Chris Lattner
dfcfcb49fa
random cleanups
...
llvm-svn: 123221
2011-01-11 08:00:40 +00:00
Chris Lattner
054d2a8525
merge tests into one crash.ll test.
...
llvm-svn: 123220
2011-01-11 07:50:07 +00:00
Chris Lattner
63fe78de68
remove a bogus assertion: the latch block of a loop is not
...
neccesarily an uncond branch to the header. This fixes
PR8955 (the assertion tripping).
llvm-svn: 123219
2011-01-11 07:47:59 +00:00
Chris Lattner
23109cb319
the GEP faq says that only inbounds geps are guaranteed to not overflow.
...
llvm-svn: 123218
2011-01-11 06:44:41 +00:00
Ted Kremenek
a00bccc0c5
Rework ExprEngine::processCFGBlockEntrance()
...
to use a node builder. This paves the way
for Checkers to interpose (via a "visit" method)
at the entrance to blocks.
llvm-svn: 123217
2011-01-11 06:37:47 +00:00
Ted Kremenek
f82068a994
Remove several silly methods from ento::CoreEngine
...
that just forwarded to ento::SubEngine.
llvm-svn: 123216
2011-01-11 04:49:40 +00:00
Jakob Stoklund Olesen
087f207009
Revert r123207: "Turn on memdep's verifyRemoved() in an attempt to smoke out the cause of our gcc bootstrap miscompare."
...
It didn't.
llvm-svn: 123215
2011-01-11 04:05:39 +00:00
Douglas Gregor
aec93c6bbe
Ensure that the result type of an Objective-C class message send is
...
complete. However, if it returns a reference type, don't require the
type it refers to to be complete. Fixes <rdar://problem/8807070>.
llvm-svn: 123214
2011-01-11 03:23:19 +00:00
Douglas Gregor
5cde386e5e
When mapping from a function parameter pack to the set of function
...
parameters it expanded to, map exactly the number of function
parameters that were expanded rather than just running to the end of
the instantiated parameter list. This finishes the implementation of
the last sentence of C++0x [temp.deduct.call]p1.
llvm-svn: 123213
2011-01-11 03:14:20 +00:00
Ted Kremenek
f4ef3d3ca1
Rename misc. methods in ento::Worklist to start
...
with lowercase letter.
llvm-svn: 123212
2011-01-11 02:34:50 +00:00
Ted Kremenek
926c96211e
Rename misc. methods in GRSubEngine to start
...
with a lower-case letter. No functionality change.
llvm-svn: 123211
2011-01-11 02:34:45 +00:00
Douglas Gregor
0dd423ef33
Implement the last bullet of [temp.deduct.type]p5 and part of the last
...
sentence of [temp.deduct.call]p1, both of which concern the
non-deducibility of parameter packs not at the end of a
parameter-type-list. The latter isn't fully implemented yet; see the
new FIXME.
llvm-svn: 123210
2011-01-11 01:52:23 +00:00
Michael J. Spencer
0d771edeee
Support/Path: Deprecate PathV1::isDirectory and replace all uses with PathV2::is_directory.
...
llvm-svn: 123209
2011-01-11 01:21:55 +00:00
Michael J. Spencer
e503f89b4b
Replace all uses of PathV1::isDirectory with PathV2::fs::is_directory.
...
llvm-svn: 123208
2011-01-11 01:21:20 +00:00
Jakob Stoklund Olesen
9b6853efd6
Turn on memdep's verifyRemoved() in an attempt to smoke out the cause of our gcc bootstrap miscompare.
...
llvm-svn: 123207
2011-01-11 01:18:03 +00:00
Chandler Carruth
b1e7f557b7
Teach constant folding to perform conversions from constant floating
...
point values to their integer representation through the SSE intrinsic
calls. This is the last part of a README.txt entry for which I have real
world examples.
llvm-svn: 123206
2011-01-11 01:07:24 +00:00
Chandler Carruth
fdf4969149
FileCheck-ize a test, and move a no-longer calling test case to another
...
file and make it actually test something...
llvm-svn: 123205
2011-01-11 01:07:20 +00:00
Douglas Gregor
180dda9b6e
Make sure that we parse a '>>' that closes two template argument lists
...
appropritely when there are no other template arguments.
llvm-svn: 123204
2011-01-11 00:45:18 +00:00
Owen Anderson
d490c2d2ae
Fix a random missed optimization by making InstCombine more aggressive when determining which bits are demanded by
...
a comparison against a constant.
llvm-svn: 123203
2011-01-11 00:36:45 +00:00
Eric Christopher
1bb2c00f65
Move ExpandAtomic into the integer expansion routines - it's only used there.
...
llvm-svn: 123202
2011-01-11 00:36:08 +00:00
Douglas Gregor
94a32477fd
When we're inside a functional cast, '>' is an operator. Fixes PR8912.
...
llvm-svn: 123201
2011-01-11 00:33:19 +00:00
Devang Patel
00c84fd125
Test case for r123199.
...
llvm-svn: 123200
2011-01-11 00:31:01 +00:00
Devang Patel
bc47498973
Fix debug info for __block variable referenced outside of block.
...
llvm-svn: 123199
2011-01-11 00:30:27 +00:00
Douglas Gregor
8008ba75a5
Add testing for unexpanded parameter packs in all of the C++
...
expression kinds. This is (indirectly) a test verifying that the
recursive AST visitor is visiting the children of these expression
nodes.
llvm-svn: 123198
2011-01-11 00:27:36 +00:00
Rafael Espindola
0ee986c1f1
Add unnamed_addr to constructors and destructors.
...
llvm-svn: 123197
2011-01-11 00:26:26 +00:00
Eric Christopher
3904343c68
Even if we don't have 7 bytes of stack space we may need to save and
...
restore the stack pointer from the frame pointer on thumbv6.
Fixes rdar://8819685
llvm-svn: 123196
2011-01-11 00:16:04 +00:00
Bob Wilson
bd4520b535
Move DefaultABIInfo::classifyReturnType where it belongs. No functional change.
...
llvm-svn: 123195
2011-01-10 23:54:17 +00:00
Matt Beaumont-Gay
2083ba400f
Only traverse template argument locations if we actually have explicit
...
template arguments.
llvm-svn: 123194
2011-01-10 23:53:06 +00:00
Eric Christopher
d5bbeba8d0
Expand on the safeness of restoring the sp from the fp a bit more.
...
llvm-svn: 123193
2011-01-10 23:10:59 +00:00
Rafael Espindola
b7f60e3474
Add unnamed_addr when creating artificial string globals. For example, in
...
static const char foo[] = "foo";
static const char *bar = "bar";
the global created to hold "bar" will have it, but foo will not.
llvm-svn: 123192
2011-01-10 22:34:03 +00:00
Dale Johannesen
d2b48119b0
Fix PR 8916 (qv for analysis), at least the immediate problem.
...
There's an inherent tension in DAGCombine between assuming
that things will be put in canonical form, and the Depth
mechanism that disables transformations when recursion gets
too deep. It would not surprise me if there's a lot of little
bugs like this one waiting to be discovered. The mechanism
seems fragile and I'd suggest looking at it from a design viewpoint.
llvm-svn: 123191
2011-01-10 21:53:07 +00:00
Chris Lattner
78cdd2a6c6
+0.0 vs -0.0 differences can be handled by looking at the user of the
...
operation in some cases.
llvm-svn: 123190
2011-01-10 21:01:17 +00:00
Daniel Dunbar
c0e8756ba9
McARM: Flush out hard coded known non-predicated mnemonic list.
...
llvm-svn: 123189
2011-01-10 21:01:03 +00:00
Douglas Gregor
48d2411597
Implement more of C++0x [temp.arg.explicit]p9, allowing extension of
...
pack expansions in template argument lists and function parameter
lists. The implementation of this paragraph should be complete
*except* for cases where we're substituting into one of the unexpanded
packs in a pack expansion; that's a general issue I haven't solved yet.
llvm-svn: 123188
2011-01-10 20:53:55 +00:00
Greg Clayton
02960224aa
Bumped Xcode versions to lldb-39 and debugserver-125.
...
llvm-svn: 123187
2011-01-10 19:28:56 +00:00
Bob Wilson
b39017ad19
Fix a comment typo.
...
llvm-svn: 123184
2011-01-10 18:23:55 +00:00
Bob Wilson
ce3ee6539e
NEON vector support for ARM is in pretty good shape now. Update the docs.
...
llvm-svn: 123183
2011-01-10 17:55:14 +00:00
Douglas Gregor
b94a6177fc
Repent for my copy-and-paste sins, factoring out the code that forms
...
argument packs from a set of deduced arguments, then checks that those
argument packs match previously-deduced argument packs.
llvm-svn: 123182
2011-01-10 17:53:52 +00:00
Johnny Chen
7ad4ac47ca
Fix wrong test case in main.c. Oops!
...
llvm-svn: 123181
2011-01-10 17:44:08 +00:00
Douglas Gregor
a8bd0d94f8
Factor out the code to set up template argument deduction for a set of
...
template argument packs. This also ensures that explicitly-specified
template arguments get properly represented in those cases.
llvm-svn: 123180
2011-01-10 17:35:05 +00:00
Daniel Dunbar
2d01239fe7
McARM: Mark some T2 ...s instructions as codegen only, they aren't real
...
instructions but are restricted pseudo forms.
llvm-svn: 123177
2011-01-10 15:26:39 +00:00
Daniel Dunbar
6e3aedd830
ARM/MC: Mark several '...S' instructions as codegen only, they aren't real
...
instructions but are restricted pseudo forms.
llvm-svn: 123176
2011-01-10 15:26:35 +00:00
Daniel Dunbar
2be732ab5f
MC/ARM/AsmParser: Minor nitty fixes.
...
llvm-svn: 123175
2011-01-10 15:26:21 +00:00
Daniel Dunbar
4035383937
MC/AsmMatcher: Fix indirect 80-col viola.
...
llvm-svn: 123174
2011-01-10 15:26:11 +00:00
Anton Korobeynikov
5fb942a307
Fix merge fallout
...
llvm-svn: 123172
2011-01-10 12:56:18 +00:00
Anton Korobeynikov
441ae5b88c
Update CMake stuff
...
llvm-svn: 123171
2011-01-10 12:39:23 +00:00
Anton Korobeynikov
2f93128109
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.
...
llvm-svn: 123170
2011-01-10 12:39:04 +00:00
Daniel Dunbar
876bb0180f
MC/ARM/AsmParser: Split out SplitMnemonicAndCC().
...
llvm-svn: 123169
2011-01-10 12:24:52 +00:00