summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr toJohn McCall2012-03-1049-565/+280
| | | | | | | | track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. llvm-svn: 152491
* Refactor some methods to look through bitcasts and GEPs on pointers intoChandler Carruth2012-03-103-34/+66
| | | | | | | | | | a common collection of methods on Value, and share their implementation. We had two variations in two different places already, and I need the third variation for inline cost estimation. Reviewed by Duncan Sands on IRC, but further comments here welcome. llvm-svn: 152490
* Slightly tweak this condition. "isTransparentContext()" was checking whether anNick Lewycky2012-03-102-2/+6
| | | | | | | | enum is scoped or not, which is not relevant here. Instead, phrase the loop in the same terms that the standard uses, instead of this awkward set of conditions that is *nearly* equal. llvm-svn: 152489
* Could not find this in C99. Perhaps this rule comes from a DR, but in any caseNick Lewycky2012-03-101-0/+1
| | | | | | | please annotate it with a note explaining why this wrong-seeming behaviour is correct. llvm-svn: 152488
* Fix disasm of iret, sysexit, and sysret when displayed with Intel syntax.Bill Wendling2012-03-102-5/+27
| | | | | | Patch by Kay Tiong Khoo! llvm-svn: 152487
* Implement a more intelligent way of spilling uses across an invoke boundary.Bill Wendling2012-03-101-32/+82
| | | | | | | | | | | | | The old way of determine when and where to spill a value that was used inside of a landing pad resulted in spilling that value everywhere and not just at the invoke edge. This algorithm determines which values are used within a landing pad. It then spills those values before the invoke and reloads them before the uses. This should prevent excessive spilling in many cases, e.g. inside of loops. <rdar://problem/10609139> llvm-svn: 152486
* Only make a call to a copy constructor elidable if in fact we areDouglas Gregor2012-03-102-1/+42
| | | | | | doing a copy. Fixes PR12139. llvm-svn: 152485
* [llvm.py] Define enumerations from Core.h; add OpCode classGregory Szorc2012-03-103-2/+265
| | | | llvm-svn: 152483
* [llvm.py] Implement interface to object filesGregory Szorc2012-03-1010-144/+620
| | | | | | | It is now possible to load object files and scan over sections, symbols, and relocations! Includes test code with partial coverage. llvm-svn: 152482
* [Sema] A tag decl that is marked as invalid and is used in a decl-spec,Argyrios Kyrtzidis2012-03-103-5/+11
| | | | | | | | should not impede creating a proper TypeLoc info for the decl-spec. This improves our semantic error recovery. llvm-svn: 152481
* Remove the part of test/Sema/pragma-pack-2.c that has irregular "#pragma pack"s.Argyrios Kyrtzidis2012-03-101-46/+0
| | | | | | | | | | | Before r151307 this part worked without compiler errors but now it only verifies that our handling of irregular pragmas is broken compared to gcc, it has no practical usefulness; it creates invalid structs that cannot be used for 'offsetof' testing. If we later decide to handle irregular pragmas without compiler errors we can put back this part. llvm-svn: 152480
* Unify the BlockDeclRefExpr and DeclRefExpr paths so thatJohn McCall2012-03-106-52/+285
| | | | | | | | we correctly emit loads of BlockDeclRefExprs even when they don't qualify as ODR-uses. I think I'm adequately convinced that BlockDeclRefExpr can die. llvm-svn: 152479
* Fix the dumping of BlockExprs.John McCall2012-03-101-1/+4
| | | | llvm-svn: 152478
* Hardened the process of reading the program counterSean Callanan2012-03-101-1/+6
| | | | | | on behalf of a DWARF expression. llvm-svn: 152477
* test/Rewriter/rewrite-modern-ivars-2.mm: Add "-triple i386-apple-darwin9".NAKAMURA Takumi2012-03-101-2/+2
| | | | llvm-svn: 152476
* Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer2012-03-101-1/+2
| | | | llvm-svn: 152475
* Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer2012-03-103-13/+14
| | | | llvm-svn: 152474
* Meta classes can't have dynamic types...Jim Ingham2012-03-101-1/+17
| | | | | | <rdar://problem/11021925> llvm-svn: 152473
* ...And finished the job.Sean Callanan2012-03-101-1/+2
| | | | llvm-svn: 152472
* Hardened isObjCObjectPointerType() against NULLs.Sean Callanan2012-03-101-0/+2
| | | | llvm-svn: 152471
* Make sure the accessors for overridden methods don't return inherited ↵Eli Friedman2012-03-102-4/+18
| | | | | | constructors. Fixes PR12219. llvm-svn: 152470
* objc modern rewriter: don't export @package ivar symbols.Fariborz Jahanian2012-03-101-1/+2
| | | | llvm-svn: 152469
* [analyzer] fix regression in analyzer of NOT actually aborting on Stmts it ↵Ted Kremenek2012-03-109-28/+140
| | | | | | | | | | | doesn't understand. We registered as aborted, but didn't treat such cases as sinks in the ExplodedGraph. Along the way, add basic support for CXXCatchStmt, expanding the set of code we actually analyze (hopefully correctly). Fixes: <rdar://problem/10892489> llvm-svn: 152468
* [asan] use O(log(N)) algorithm instead of O(N) in __asan_get_ownershipKostya Serebryany2012-03-105-15/+62
| | | | llvm-svn: 152467
* Bump lldb version to lldb-127.Jason Molenda2012-03-104-18/+18
| | | | llvm-svn: 152465
* Bump debugserver version to 177.Jason Molenda2012-03-101-6/+6
| | | | llvm-svn: 152464
* Re-enable the use of the ARMDisassembler framework when building debugserver ↵Jason Molenda2012-03-101-0/+9
| | | | | | | | | | for ios. Greg disabled this back in 2012-01-10 r147886 but we still need to use it. <rdar://problem/11016745> llvm-svn: 152463
* IRgen/ABI/x86_64: Avoid passing small structs using byval sometimes.Daniel Dunbar2012-03-103-13/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - We do this when it is easy to determine that the backend will pass them on the stack properly by itself. Currently LLVM codegen is really bad in some cases with byval, for example, on the test case here (which is derived from Sema code, which likes to pass SourceLocations around):: struct s47 { unsigned a; }; void f47(int,int,int,int,int,int,struct s47); void test47(int a, struct s47 b) { f47(a, a, a, a, a, a, b); } we used to emit code like this:: ... movl %esi, -8(%rbp) movl -8(%rbp), %ecx movl %ecx, (%rsp) ... to handle moving the struct onto the stack, which is just appalling. Now we generate:: movl %esi, (%rsp) which seems better, no? llvm-svn: 152462
* Minor change to my last rewrite patch.Fariborz Jahanian2012-03-101-1/+6
| | | | llvm-svn: 152461
* Report the defining instruction.Jakob Stoklund Olesen2012-03-101-4/+3
| | | | llvm-svn: 152460
* objc modern rewriter: Mark class and ivar definitions with __declspec(dllexport)Fariborz Jahanian2012-03-101-2/+2
| | | | | | // rdar://11023563 llvm-svn: 152459
* Add SSA verification to MachineVerifier.Jakob Stoklund Olesen2012-03-101-2/+12
| | | | | | Somehow we never verified SSA dominance before. llvm-svn: 152458
* Use SmallPtrSet instead of DenseSet.Jakob Stoklund Olesen2012-03-101-3/+4
| | | | llvm-svn: 152457
* Qualifiers on a canonical array type go on the outermost type, not theDouglas Gregor2012-03-102-6/+5
| | | | | | innermost type. Fixes PR12142. llvm-svn: 152456
* Assign APValues by swapping from a temporary. Removes a bunch of unnecessaryRichard Smith2012-03-103-48/+64
| | | | | | | | copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor. llvm-svn: 152455
* Give dagcombiner's worklist some inline capacity.Benjamin Kramer2012-03-101-3/+2
| | | | llvm-svn: 152454
* Fix the process of getting the ObjC runtime - if we ask for it too early (in ↵Jim Ingham2012-03-103-15/+14
| | | | | | | | | the process of handling the load notification for the first load) then we will set it the runtime to NULL and won't re-search for it. Added a way for the dynamic loader to force a re-search, since it knows the world has changed. llvm-svn: 152453
* Do not custom lower i64 nodes if i64 is not a legal type. Move lines that setAkira Hatanaka2012-03-101-11/+14
| | | | | | operation action of nodes. llvm-svn: 152452
* objective-c modern rewriter. More fixes related to rewritingFariborz Jahanian2012-03-092-18/+117
| | | | | | ivars in the modern rewriter. llvm-svn: 152451
* Lower SETCC nodes during legalization. Previously, it was lowered in DAG ↵Akira Hatanaka2012-03-092-20/+16
| | | | | | combine pass. llvm-svn: 152450
* Assert on SSA errors in LiveVariables.Jakob Stoklund Olesen2012-03-091-0/+1
| | | | | | All uses of a virtual register must be dominated by its def. llvm-svn: 152449
* Teach RetainCountChecker about mixing method families with explicit ↵Ted Kremenek2012-03-092-0/+50
| | | | | | annotations. Fixes <rdar://problem/10824732>. llvm-svn: 152448
* Remove unused header files.Akira Hatanaka2012-03-091-2/+0
| | | | llvm-svn: 152447
* Document the conversion from a lambda closure type to a block pointerDouglas Gregor2012-03-091-0/+57
| | | | | | in Objective-C++. llvm-svn: 152446
* misched: handle scheduler that insert instructions at empty region boundaries.Andrew Trick2012-03-091-3/+12
| | | | | | And add comments, since this is obviously confusing. llvm-svn: 152445
* Improve diagnostics for UCNs referring to control characters and members of theRichard Smith2012-03-097-28/+158
| | | | | | | | | | basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done. This seems too minor to warrant a release note to me. Let me know if you disagree. llvm-svn: 152444
* Add the missing call to Error when a bad X86 scale expression is parsed.Kevin Enderby2012-03-092-1/+7
| | | | llvm-svn: 152443
* [Sema] Fix a diag change to include a range that appeared intended, but neverDaniel Dunbar2012-03-091-1/+2
| | | | | | actually happened. llvm-svn: 152442
* Update comment after r152140. Clarify a bit too.Nico Weber2012-03-091-1/+2
| | | | llvm-svn: 152441
* [analyzer] Add support for NoRedundancy inlining mode.Anna Zaks2012-03-098-44/+66
| | | | | | | | | | | We do not reanalyze a function, which has already been analyzed as an inlined callee. As per PRELIMINARY testing, this gives over 50% run time reduction on some benchmarks without decreasing of the number of bugs found. Turning the mode on by default. llvm-svn: 152440
OpenPOWER on IntegriCloud