summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Object]David Meyer2012-03-099-17/+48
| | | | | | Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big llvm-svn: 152435
* Revert r152430 "[AST] Mark ASTContext::getTypeInfo and some friends asDaniel Dunbar2012-03-091-6/+4
| | | | | | | LLVM_READONLY.", getTypeInfo() is totally not READONLY, which I should have probably noticed given that I made it so mere hours ago. Oops. llvm-svn: 152434
* Add a helper to get a CXXConstructExpr from a CXXNewExpr.Matt Beaumont-Gay2012-03-091-0/+5
| | | | llvm-svn: 152433
* Improve our semantic error recovery.Argyrios Kyrtzidis2012-03-094-15/+47
| | | | | | | | | | | | | | | | | When an error made a record member invalid, the record would stay as "isBeingDefined" and not "completeDefinition". Even easily recoverable errors ended up propagating records in such "beingDefined" state, for example: struct A { ~A() const; // expected-error {{'const' qualifier is not allowed on a destructor}} }; struct B : A {}; // A & B would stay as "not complete definition" and "being defined". This weird state was impending lookups in the records and hitting assertion in the ASTWriter. Part of rdar://11007039 llvm-svn: 152432
* [AST] Mark Expr::Ignore*() functions as LLVM_READONLY.Daniel Dunbar2012-03-091-15/+17
| | | | llvm-svn: 152431
* [AST] Mark ASTContext::getTypeInfo and some friends as LLVM_READONLY.Daniel Dunbar2012-03-091-4/+6
| | | | llvm-svn: 152430
* [AST] Mark Expr::getExprLoc() as LLVM_READONLY.Daniel Dunbar2012-03-092-10/+14
| | | | llvm-svn: 152429
* [Sema] Remove dead getSourceRange() call, caught by Clang after markingDaniel Dunbar2012-03-091-2/+1
| | | | | | LLVM_READONLY. llvm-svn: 152428
* Handle the case where we get called to determine the ObjC runtime version ↵Jim Ingham2012-03-091-2/+11
| | | | | | | | | BEFORE the loader code has winnowed all the unloaded libraries from the process module list. <rdar://problem/11015223> llvm-svn: 152427
* [AST/etc] Mark {getSourceRange(),getStartLoc(),getEndLoc()} as LLVM_READONLY.Daniel Dunbar2012-03-0921-211/+237
| | | | | | | | | | | | | | | | - The theory here is that we have these functions sprinkled in all over the place. This should allow the optimizer to at least realize it can still do load CSE across these calls. - I blindly marked all instances as such, even though the optimizer can infer this attribute in some instances (some of the inline ones) as that was easier and also, when given the choice between thinking and not thinking, I prefer the latter. You might think this is mere frivolity, but actually this is good for a .7 - 1.1% speedup on 403.gcc/combine.c, JSC/Interpreter.cpp, OGF/NSBezierPath-OAExtensions.m. llvm-svn: 152426
* Add statistics on removed switch cases, and fix the phi statisticDuncan Sands2012-03-091-1/+5
| | | | | | to count the number of phis changed, not the number visited. llvm-svn: 152425
* Add user-defined literals to release notes.Richard Smith2012-03-091-0/+1
| | | | llvm-svn: 152424
* Fixing a problem with the NSSet summary provider; plus, providing a further ↵Enrico Granata2012-03-092-2/+6
| | | | | | optimization to the whole Cocoa formatters infrastructure llvm-svn: 152423
* [llvm.py] Make ObjectFile destructor workGregory Szorc2012-03-093-17/+33
| | | | | | Previous code had a double free in MemoryBuffer. The tests now pass. llvm-svn: 152422
* When identifying exit nodes for the reverse-CFG reverse-post-orderDan Gohman2012-03-093-6/+221
| | | | | | | | | traversal, consider nodes for which the only successors are backedges which the traversal is ignoring to be exit nodes. This fixes a problem where the bottom-up traversal was failing to visit split blocks along split loop backedges. This fixes rdar://10989035. llvm-svn: 152421
* lldb support: under debugger support flag, when sending messageFariborz Jahanian2012-03-093-0/+27
| | | | | | | to forward class, and assigning to an 'id' type var, message sends default to 'id'. // rdar"//10988847 llvm-svn: 152420
* [AST/Sema/libclang] Replace getSourceRange().getBegin() with getLocStart().Daniel Dunbar2012-03-0911-162/+162
| | | | | | | | | - getSourceRange().getBegin() is about as awesome a pattern as .copy().size(). I already killed the hot paths so this doesn't seem to impact performance on my tests-of-the-day, but it is a much more sensible (and shorter) pattern. llvm-svn: 152419
* [AST/Sema] Add ↵Daniel Dunbar2012-03-093-0/+11
| | | | | | {CXXBaseSpecifier,Declarator,DeclSpec,TypeLoc,UnqualifiedId}::getLoc{Start,End}. llvm-svn: 152418
* Enable / silence -Wunused-parameter.Howard Hinnant2012-03-094-10/+12
| | | | llvm-svn: 152415
* Fix the x86 disassembler to at least print the lock prefix if it is the firstKevin Enderby2012-03-093-3/+15
| | | | | | | prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
* [Support] Drop verbose _ATTRIBUTE from LLVM_ATTRIBUTE_{READONLY,READNONE} macroDaniel Dunbar2012-03-092-10/+10
| | | | | | names. llvm-svn: 152413
* [AST] Define a few more key getLocStart() implementations.Daniel Dunbar2012-03-093-0/+23
| | | | | | | - This cuts the # of getSourceRange calls by 60% on OGF/NSBezierPath-OAExtensions.m. llvm-svn: 152412
* [AST] Reimplement Stmt::getLoc{Start,End} to dispatch to subclass overloads.Daniel Dunbar2012-03-093-3/+71
| | | | | | | | - getSourceRange() can be very expensive, we should try to avoid it if at all possible. In conjunction with the previous commit I measured a ~2% speedup on 403.gcc/combine.c and a 3% speedup on OmniGroupFrameworks/NSBezierPath-OAExtensions.m. llvm-svn: 152411
* [AST] Add {DeclRefExpr,MemberExpr,ImplicitCastExpr}::{getLocStart,getLocEnd} ↵Daniel Dunbar2012-03-092-14/+36
| | | | | | | | methods. - There are probably a lot more of these worth adding, but these are a start at hitting some of the exprs for which getSourceRange().getBegin() is a poor substitute for getLocStart(). llvm-svn: 152410
* [AST] Add DeclaratioName::getLoc{Start,End} for consistency.Daniel Dunbar2012-03-091-0/+7
| | | | llvm-svn: 152409
* [Basic] Rename LangOptions::NoInline to NoInlineDefine, to make things a bitDaniel Dunbar2012-03-093-3/+3
| | | | | | more obvious. llvm-svn: 152408
* TableGen/CodeEmitterGen.cpp: Fix an expression of generating bitmask.NAKAMURA Takumi2012-03-091-1/+1
| | | | | | ~0U might be i32 on 32-bit hosts, then (uint64_t)~0U might not be expected as (i64)0xFFFFFFFF_FFFFFFFF, but as (i64)0x00000000_FFFFFFFF. llvm-svn: 152407
* test/MC/X86/lit.local.cfg: Fix up to detect 'X86' in targets.NAKAMURA Takumi2012-03-091-0/+11
| | | | llvm-svn: 152406
* Eliminate switch cases that can never match, for example removes allDuncan Sands2012-03-092-1/+186
| | | | | | | negative switch cases if the branch condition is known to be positive. Inspired by a recent improvement to GCC's VRP. llvm-svn: 152405
* Harden test for 32 bit platforms, where size_t is unsigned int (not unsigned ↵Benjamin Kramer2012-03-091-5/+5
| | | | | | long). llvm-svn: 152404
* -Wformat-non-iso: warn about positional arguments (pr12017)Hans Wennborg2012-03-0910-41/+68
| | | | | | | | | This renames the -Wformat-non-standard flag to -Wformat-non-iso, rewords the current warnings a bit (pointing out that a format string is not supported by ISO C rather than being "non standard"), and adds a warning about positional arguments. llvm-svn: 152403
* Fix statement printing for raw and template user-defined literals.Richard Smith2012-03-092-6/+28
| | | | llvm-svn: 152401
* Add support for r600 (AMD GPUs HD2XXX - HD6XXX) target triplet.Anton Korobeynikov2012-03-092-0/+11
| | | | | | Patch by Tom Stellard! llvm-svn: 152400
* Factor out the analysis of addition and subtraction in ComputeMaskedBits. ReuseNick Lewycky2012-03-091-83/+123
| | | | | | it to analyze extractvalue(llvm.[us](add|sub).with.overflow.*) intrinsics! llvm-svn: 152398
* [llvm.py] Initial skeleton for Python LLVM bindingsGregory Szorc2012-03-097-0/+361
| | | | | | | | | | | | | | | This contains a semi-functional skeleton for the implementation of the LLVM bindings for Python. The API for the Object.h interface is roughly designed but not implemented. MemoryBufferRef is implemented and actually appears to work! The ObjectFile unit test fails with a segmentation fault because the LLVM library isn't being properly initialized. The build system doesn't know about this code yet, so no alerts should fire. llvm-svn: 152397
* User-defined literals are done.Richard Smith2012-03-094-4/+13
| | | | llvm-svn: 152396
* Literal operator suffixes and regular names live in separate namespaces.Richard Smith2012-03-093-3/+23
| | | | llvm-svn: 152395
* Literal operators can't have default arguments.Richard Smith2012-03-094-7/+16
| | | | llvm-svn: 152394
* misched: handle scheduling region boundaries nicely.Andrew Trick2012-03-091-4/+11
| | | | llvm-svn: 152393
* Support for raw and template forms of numeric user-defined literals,Richard Smith2012-03-0921-128/+562
| | | | | | and lots of tidying up. llvm-svn: 152392
* Use uint16_t to store opcodes in static tables in X86 backend.Craig Topper2012-03-093-24/+30
| | | | llvm-svn: 152391
* Fix undefined behavior in the Mips backend.Ahmed Charles2012-03-092-15/+15
| | | | llvm-svn: 152390
* Fix MSVC incompatibilities.Michael J. Spencer2012-03-096-39/+52
| | | | llvm-svn: 152389
* StringRef is not null terminated.Michael J. Spencer2012-03-091-2/+2
| | | | llvm-svn: 152388
* Use llvm/Support/DataTypes instead of stdint.hMichael J. Spencer2012-03-092-2/+2
| | | | llvm-svn: 152387
* Use nullptr instead of NULL, and remove use of VLA.Michael J. Spencer2012-03-092-7/+8
| | | | llvm-svn: 152386
* Bumping Xcode project versions for lldb-126 and debugserver-176.Greg Clayton2012-03-094-18/+18
| | | | llvm-svn: 152384
* Bumping Xcode project versions for lldb-126 and debugserver-176.Greg Clayton2012-03-091-6/+6
| | | | llvm-svn: 152383
* misched interface: rename Begin/End to RegionBegin/RegionEnd since they are ↵Andrew Trick2012-03-094-20/+20
| | | | | | not private. llvm-svn: 152382
* <rdar://problem/11016907>Greg Clayton2012-03-093-733/+1109
| | | | | | | | Get function boundaries from the LC_FUNCTION_STARTS load command. This helps to determine symbol sizes and also allows us to be able to debug stripped binaries. If you have a stack backtrace that goes through a function that has been stripped from the symbol table, the variables for any functions above that stack frame will most likely be incorrect. It can also affect our ability to step in/out/through of a function. llvm-svn: 152381
OpenPOWER on IntegriCloud