Douglas Gregor
8b2d2fe234
Allow reference binding of a reference of Objective-C object type to
...
an lvalue of another, compatible Objective-C object type (e.g., a
subclass). Introduce a new initialization sequence step kind to
describe this binding, along with a new cast kind. Fixes PR7741.
llvm-svn: 110513
2010-08-07 11:51:51 +00:00
Benjamin Kramer
be05173105
Shrink PassNameParser's binary size with array_pod_sort.
...
llvm-svn: 110512
2010-08-07 11:45:42 +00:00
John McCall
7cd1d97e33
Inline a special case of EmitAggregateCopy into EmitNullInitialization
...
to avoid the awesome-but-wrong-in-this-case assertion in the canon EAC.
Fixes PR7834.
Also fix a subtle address-space bug in the memset path.
llvm-svn: 110511
2010-08-07 08:21:30 +00:00
John McCall
853700437b
Note that a CXXConstructExpr is zeroing when dumping it.
...
llvm-svn: 110510
2010-08-07 06:38:55 +00:00
John McCall
cf14216509
Store inheritance paths after CastExprs instead of inside them.
...
This takes some trickery since CastExpr has subclasses (and indeed,
is abstract).
Also, smoosh the CastKind into the bitfield from Expr.
Drops two words of storage from Expr in the common case of expressions
which don't need inheritance paths. Avoids a separate allocation and
another word of overhead in cases needing inheritance paths. Also has
the advantage of not leaking memory, since destructors for AST nodes are
never run.
llvm-svn: 110507
2010-08-07 06:22:56 +00:00
Owen Anderson
a5a3ff586f
Remove layering violation.
...
llvm-svn: 110505
2010-08-07 06:01:13 +00:00
Owen Anderson
1a9078b862
Add an inverse() method to ConstantRange.
...
llvm-svn: 110504
2010-08-07 05:47:46 +00:00
Nick Lewycky
5caa7c58db
Fix typo.
...
llvm-svn: 110502
2010-08-07 05:25:29 +00:00
Dan Gohman
6b99da0aab
Remove assignPassManager's default arguments. It's really
...
confusing to have different arguments for the same virtual
function at different levels of the class hierarchy.
llvm-svn: 110500
2010-08-07 01:25:32 +00:00
Dan Gohman
a19631f437
More #include cleanups.
...
llvm-svn: 110499
2010-08-07 01:18:18 +00:00
Dan Gohman
1b4a087317
Delete this explicit assignment operator; it's equivalent to
...
the implicit one.
llvm-svn: 110498
2010-08-07 01:17:47 +00:00
Johnny Chen
9289a65f75
Commented out "import traceback".
...
llvm-svn: 110497
2010-08-07 01:13:18 +00:00
Dan Gohman
027ad43794
Oops, check in this file too.
...
llvm-svn: 110496
2010-08-07 01:04:15 +00:00
Dan Gohman
404c58847e
Tidy up PMStack. Add a bunch of consts, use std::vector instead of
...
std::deque, since this is a stack and only supports push/pop on
one end, and remove an unimplemented declaration.
llvm-svn: 110495
2010-08-07 00:53:01 +00:00
Dan Gohman
093b42fc7c
Tidy some #includes and forward-declarations, and move the C binding code
...
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.
llvm-svn: 110494
2010-08-07 00:43:20 +00:00
Owen Anderson
07d0637000
Add a convenience constructor.
...
llvm-svn: 110493
2010-08-07 00:42:06 +00:00
Dan Gohman
71b30e0db6
Make AnalysisImpls private.
...
llvm-svn: 110492
2010-08-07 00:34:52 +00:00
Dale Johannesen
a3bd31a923
Use sdmem and sse_load_f64 (etc.) for the vector
...
form of CMPSD (etc.) Matching a 128-bit memory
operand is wrong, the instruction uses only 64 bits
(same as ADDSD etc.) 8193553.
llvm-svn: 110491
2010-08-07 00:33:42 +00:00
Chris Lattner
8139c98cf9
Correct -ftrapv to trap on errors, instead of calling the
...
__overflow_handler entrypoint that David Chisnall made up.
Calling __overflow_handler is not part of the contract of
-ftrapv provided by GCC, and should never have been checked
in in the first place.
According to:
http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8699
David is using this for some of arbitrary precision integer stuff
or something, which is not an appropriate thing to implement on
this.
llvm-svn: 110490
2010-08-07 00:20:46 +00:00
Owen Anderson
0398607714
Don't attempt the PRE inline asm calls, since we don't value number them yet. Fixes PR7835.
...
llvm-svn: 110489
2010-08-07 00:20:35 +00:00
Owen Anderson
b650ad0861
Add a predicate to determine if a call is an inline asm statement.
...
llvm-svn: 110488
2010-08-07 00:19:59 +00:00
Johnny Chen
f5957e0603
Putting out messages about the number of test cases to be run before running the
...
whole test suite.
llvm-svn: 110487
2010-08-07 00:16:07 +00:00
Eli Friedman
964dbda0e9
PR7837: For qualified id's, make sure the decl context is complete if not
...
dependent in ActOnIdExpression. (This issue only shows up with member
operators because an operator is never a type.)
llvm-svn: 110486
2010-08-06 23:41:47 +00:00
Rafael Espindola
f16a9bc5b9
Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
...
some default values that are not used.
llvm-svn: 110485
2010-08-06 23:03:52 +00:00
Tom Care
925501c548
Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations)
...
- Added IdempotentOperationChecker to experimental analyses for testing purposes
- Updated test cases to explictly call the checker
llvm-svn: 110482
2010-08-06 22:23:07 +00:00
Jakob Stoklund Olesen
45e07c8fc5
Lazily defer duplicating the live interval we are splitting until we know it is
...
necessary.
Sometimes, live range splitting doesn't shrink the current interval, but simply
changes some instructions to use a new interval. That makes the original more
suitable for spilling. In this case, we don't need to duplicate the original.
llvm-svn: 110481
2010-08-06 22:17:33 +00:00
Bruno Cardoso Lopes
93cc666a58
Patterns to match AVX 256-bit vzero intrinsics
...
llvm-svn: 110480
2010-08-06 22:10:01 +00:00
Dan Gohman
0f7892b8ae
Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")
...
instead, as an example of what this looks like.
llvm-svn: 110478
2010-08-06 21:48:06 +00:00
Michael J. Spencer
4f50b97fd8
llc: Clarify -mc-relax-all description.
...
llvm-svn: 110477
2010-08-06 21:37:45 +00:00
Jim Grosbach
8e4e2aaa2f
tidy up
...
llvm-svn: 110476
2010-08-06 21:31:35 +00:00
Daniel Dunbar
bcb332475c
MC: Add default value for AddrSpace argument to EmitValue.
...
llvm-svn: 110475
2010-08-06 21:24:05 +00:00
Ted Kremenek
e08cd386b0
Fix leaks of ExplicitSpecializationInfo objects by allocating them with 'new (ASTContext)' instead of 'new'.
...
llvm-svn: 110474
2010-08-06 21:12:58 +00:00
Ted Kremenek
0bbf24d579
Fix 80 col. violations.
...
llvm-svn: 110473
2010-08-06 21:12:55 +00:00
Ted Kremenek
63dc1f4694
Nest variable declaration into into 'if' condition, thus restricting the scope of the variable and condensing the code.
...
llvm-svn: 110472
2010-08-06 21:12:53 +00:00
Ted Kremenek
b0c67c85db
Use 'GenerateNode()' instead of 'GenerateSink()' when reporting a leak. A leak is not a hard enough bug to stop analyzing a path.
...
llvm-svn: 110471
2010-08-06 21:12:49 +00:00
Johnny Chen
ead526a056
Added more comments about unittest2.
...
llvm-svn: 110470
2010-08-06 21:07:38 +00:00
Bruno Cardoso Lopes
3d6a3a0ede
Patterns to match AVX 256-bit permutation intrinsics
...
llvm-svn: 110468
2010-08-06 20:03:27 +00:00
Stuart Hastings
5afa738d7f
Test case for r110459. Radar 8264751. Test case by Fariborz Jahanian!
...
llvm-svn: 110467
2010-08-06 19:02:24 +00:00
Jim Grosbach
da27eb246d
Cleanup comment wording
...
llvm-svn: 110466
2010-08-06 18:59:07 +00:00
Jim Grosbach
4603d09660
Remove empty processFunctionBeforeFrameFinalized(). The default
...
implementation of the function is equivalent, so no need to provide
the target-specific version until/unless it needs to do something.
llvm-svn: 110465
2010-08-06 18:57:24 +00:00
Jakob Stoklund Olesen
1dfca4e4bb
Keep the MachiuneFunctionPass pointer around. It is useful for verification.
...
llvm-svn: 110464
2010-08-06 18:47:06 +00:00
Jakob Stoklund Olesen
8c0f693150
Add LiveInterval::RenumberValues - Garbage collection for VNInfos.
...
After heavy editing of a live interval, it is much easier to simply renumber the
live values instead of trying to keep track of the unused ones.
llvm-svn: 110463
2010-08-06 18:46:59 +00:00
Owen Anderson
a7aed18624
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
llvm-svn: 110460
2010-08-06 18:33:48 +00:00
Dan Gohman
e68958fcdf
Implement a proper getModRefInfo for va_arg.
...
llvm-svn: 110458
2010-08-06 18:24:38 +00:00
Jim Grosbach
0cb2c7a25e
spelling
...
llvm-svn: 110457
2010-08-06 18:24:36 +00:00
Dan Gohman
6b4671b208
Be more conservative in the face of volatile.
...
llvm-svn: 110456
2010-08-06 18:11:28 +00:00
Dan Gohman
23976df6f2
Fix a comment.
...
llvm-svn: 110455
2010-08-06 18:10:45 +00:00
Jakob Stoklund Olesen
8147d7a6b9
Add more verification of LiveIntervals.
...
llvm-svn: 110454
2010-08-06 18:04:19 +00:00
Jakob Stoklund Olesen
7e0de5ef8e
Fix swapped COPY operands.
...
llvm-svn: 110453
2010-08-06 18:04:17 +00:00
Jakob Stoklund Olesen
0e7752407c
Don't try to verify LiveIntervals for physical registers.
...
When a physical register is in use, some alias of that register has a live
interval with a relevant live range. That is the sad state of intervals after
physreg coalescing of subregs, and it is good enough for correct register
allocation.
llvm-svn: 110452
2010-08-06 18:04:14 +00:00