summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Hoist the emission of parseable fixits into a helper method, simplifyingChandler Carruth2011-09-021-38/+38
| | | | | | and reducing indentation through the clever use of early exits. ;] llvm-svn: 139001
* [analyzer] Remove lingering CFRefCount creation, which would have resulted ↵Jordy Rose2011-09-021-12/+3
| | | | | | in a leak. There's room for improvement here... llvm-svn: 139000
* [analyzer] Fix member initialization order. No functionality change.Jordy Rose2011-09-021-1/+1
| | | | llvm-svn: 138999
* [analyzer] Move the knowledge of whether or not GC is enabled for the ↵Jordy Rose2011-09-0230-172/+162
| | | | | | | | | | current analysis from CFRefCount to ExprEngine. Remove TransferFuncs from ExprEngine and AnalysisConsumer. Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly. llvm-svn: 138998
* Make IC_VEX* not inherit from IC_*. Prevents instructions with no VEX form ↵Craig Topper2011-09-022-26/+26
| | | | | | from disassembling to their non-VEX form. Also prevents weak filter collisons that were keeping valid VEX instructions from decoding properly. Make VEX_L* not inherit from VEX_* because the VEX.L bit always important. This stops packed int VEX encodings from being disassembled when specified with VEX.L=1. Fixes PR10831 and PR10806. llvm-svn: 138997
* Added alpha .debug_names and .debug_types support in the DWARF parser.Greg Clayton2011-09-025-31/+151
| | | | llvm-svn: 138996
* Move the warning for different enum comparisons and the warning for using ↵Richard Trieu2011-09-021-61/+88
| | | | | | NULL as a non-pointer in a binary operation into separate functions. llvm-svn: 138995
* Reduce code duplication for pointer comparisons in CheckCompareOperands().Richard Trieu2011-09-021-72/+84
| | | | llvm-svn: 138994
* Pull out incomplete pointer type checking code, used from arithmetic ↵Richard Trieu2011-09-021-24/+22
| | | | | | checking functions, into its own function. llvm-svn: 138993
* Refactor CheckConditionalOperands() by moving chunks of code to helper ↵Richard Trieu2011-09-021-163/+227
| | | | | | functions making a slimmer function. llvm-svn: 138992
* Perform the upgrading of the old EH to the new EH in a more sane manner.Bill Wendling2011-09-021-34/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | Perform the upgrading in steps. * First, create a map of the invokes to the EH intrinsics. * Next, take that mapping and determine if the invoke's unwind destination has a single predecessor. If not, then create a new empty block to hold the new landingpad instruction. * Create a landingpad instruction into the uwnind destination. Fill it with the values from the old selector. Map the old intrinsic calls to the new landingpad values (there may be multiple landingpad instructions per instrinic call pairs). * Go through the old intrinsic calls, create a PHI node when necessary, and then replace their values with the new values from the landingpad instructions. * Delete all dead instructions. * ??? * Profit! llvm-svn: 138990
* Update to new EH scheme.Bill Wendling2011-09-021-95/+34
| | | | llvm-svn: 138989
* Added the ability for DWARF locations to use the ABI plug-ins to resolveGreg Clayton2011-09-029-322/+451
| | | | | | | | register names when dumping variable locations and location lists. Also did some cleanup where "int" types were being used for "lldb::RegisterKind" values. llvm-svn: 138988
* Refactor CheckAddressOfOperand() by pulling out redundant code and moving ↵Richard Trieu2011-09-022-10/+16
| | | | | | hard coding strings from SemaExpr.cpp to DiagnosticSemaKinds.td. llvm-svn: 138987
* Always construct an ASTReader with a non-NULL ASTContext andDouglas Gregor2011-09-025-60/+7
| | | | | | | | | Preprocessor, eliminating the constructor that was used by ASTUnit (which didn't provide an ASTContext or Prepreprocessor). Ensuring that both objects are non-NULL will simplify module loading (but none of that is done yet). llvm-svn: 138986
* Extend the ASTContext constructor to delay the initialization ofDouglas Gregor2011-09-0242-227/+258
| | | | | | | | builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). llvm-svn: 138985
* Allow the preprocessor to be constructed without performing target-Douglas Gregor2011-09-016-85/+130
| | | | | | | | and language-specific initialization. Use this to allow ASTUnit to create a preprocessor object *before* loading the AST file. No actual functionality change. llvm-svn: 138983
* Merge the ARM disassembler header into the implementation file, since it is ↵Owen Anderson2011-09-012-85/+54
| | | | | | not externally exposed. llvm-svn: 138982
* Added files I forget to checkin with my last checkin.Greg Clayton2011-09-012-0/+235
| | | | llvm-svn: 138981
* Fix 80 columns violations.Owen Anderson2011-09-011-449/+655
| | | | llvm-svn: 138980
* Added support for accessing and loading our new .debug_names and .debug_typesGreg Clayton2011-09-019-35/+278
| | | | | | | | | | | | | | | | | | DWARF accelerator table sections to the DWARF parser. These sections are similar to the .debug_pubnames and .debug_pubtypes, but they are designed to be hash tables that are saved to disc in a way that the sections can just be loaded into memory and used without any work on the debugger side. The .debug_pubnames and .debug_pubtypes sections are not ordered, contain a copy of the name in the section itself which makes these sections quite large, they only include publicly exported names (so no static functions, no types defined inside functions), many compilers put different information in them making them very unreliable so most debugger ignore these sections and parse the DWARF on their own. The tables must also be parsed and sorted in order to be used effectively. The new sections can be quickly loaded and very efficiently be used to do name to DIE lookups with very little up front work. The format of these new sections will be changing while we work out the bugs, but we hope to have really fast name to DIE lookups soon. llvm-svn: 138979
* Up version number by 1. This is a 'minor version' update.Howard Hinnant2011-09-011-1/+1
| | | | llvm-svn: 138978
* Revert r131152, r129796, r129761. This code is currently consideredDan Gohman2011-09-015-52/+56
| | | | | | | | to be unreliable on platforms which require memcpy calls, and it is complicating broader legalize cleanups. It is hoped that these cleanups will make memcpy byval easier to implement in the future. llvm-svn: 138977
* Don't drop alignment info on local common symbols.Benjamin Kramer2011-09-0119-38/+80
| | | | | | | | | | | - On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. llvm-svn: 138976
* Refactor CheckAdditionOperands(), CheckSubtractionOperands(), and ↵Richard Trieu2011-09-011-21/+29
| | | | | | CheckIncrementDecrementOperand() in SemaExpr.cpp to move reused code to separate functions. llvm-svn: 138975
* Null-initialize to shut up -Wuninitialized warnings.Eli Friedman2011-09-011-1/+1
| | | | llvm-svn: 138974
* Fix apparent build error caused by r138948 on certain versions of GCC with ↵James Molloy2011-09-012-21/+36
| | | | | | -Werror. Sorry for the inconvenience. llvm-svn: 138973
* Don't try keeping a 'LeadingEmptyMacroLoc' in NullStmt. This failsArgyrios Kyrtzidis2011-09-018-28/+15
| | | | | | in the face of buffering C++/ObjC method bodies. llvm-svn: 138972
* [arcmt] Clear out temporary dirs in the tests or we may get failures because ↵Argyrios Kyrtzidis2011-09-013-0/+3
| | | | | | of leftovers. llvm-svn: 138971
* Don't try to emit unsupported templated friend declarations. They're unsupportedNick Lewycky2011-09-012-2/+15
| | | | | | | and may very well be dependent-types, triggering an assertion in debug info codegen. llvm-svn: 138970
* Extend the self-reference warning to catch when a constructor references ↵Richard Trieu2011-09-014-13/+141
| | | | | | | | | itself upon initialization, such as using itself within its own copy constructor. struct S {}; S s(s); llvm-svn: 138969
* Reduce indentation. No functionality change.Bill Wendling2011-09-011-17/+18
| | | | llvm-svn: 138968
* Change worklist driven deletion to be an iterative process.Bill Wendling2011-09-012-42/+12
| | | | | | Duncan noticed this! llvm-svn: 138967
* Fix test; sorry for any inconvenience.Eli Friedman2011-09-011-2/+2
| | | | llvm-svn: 138966
* Fix an issue with the IR sink pass found by inspection. (I'm not sure ↵Eli Friedman2011-09-012-7/+22
| | | | | | anyone is actually using this, but might as well fix it since I found the issue.) llvm-svn: 138965
* Add missing newline.Eli Friedman2011-09-011-1/+1
| | | | llvm-svn: 138964
* Fix the build for us -Werror users.Nick Lewycky2011-09-012-37/+24
| | | | | | | Remove broken emacs mode major notation marking a C++ file as C. No functionality change. llvm-svn: 138963
* Make isSafeToSpeculativelyExecute() return the right answer for some new ↵Eli Friedman2011-09-011-0/+4
| | | | | | instructions. Found by inspection; not sure what practical impact, if any, this has. llvm-svn: 138962
* Reimplemented much of <istream> such that single character extractions do ↵Howard Hinnant2011-09-016-217/+177
| | | | | | not check to see if this is the last character in the stream and thus never set eofbit. This fixes http://llvm.org/bugs/show_bug.cgi?id=10817 . This fix requires a recompiled libc++.dylib to be fully implemented. The recompiled libc++.dylib is ABI compatible with that shipped on Lion. llvm-svn: 138961
* [arcmt] Fix test/ARCMT/remove-statements.m regression due toArgyrios Kyrtzidis2011-09-016-33/+88
| | | | | | | | Objective-C method buffering(rdar://10056942) Turned out the same issue existed for C++ inline methods. llvm-svn: 138960
* Teach ASTContext and Preprocessor to hold on to references to the sameDouglas Gregor2011-09-017-14/+17
| | | | | | | | | LangOptions, rather than making distinct copies of LangOptions. Granted, LangOptions doesn't actually get modified, but this will eventually make it easier to construct ASTContext and Preprocessor before we know all of the LangOptions. llvm-svn: 138959
* default property synthesis is off by defaultFariborz Jahanian2011-09-011-1/+1
| | | | | | for now. llvm-svn: 138958
* Make test slightly trickierDouglas Gregor2011-09-011-0/+3
| | | | llvm-svn: 138957
* XFAIL this test on arm until the backend is fixed.Benjamin Kramer2011-09-011-0/+3
| | | | llvm-svn: 138955
* This test depends on cmov being available.Benjamin Kramer2011-09-011-1/+1
| | | | llvm-svn: 138954
* Permit remat of partial register defs when it is safe.Jakob Stoklund Olesen2011-09-012-5/+34
| | | | | | | | | | | | | | | | | An instruction may define part of a register where the other bits are undefined. In that case, it is safe to rematerialize the instruction. For example: %vreg2:ssub_0<def> = VLDRS <cp#0>, 0, pred:14, pred:%noreg, %vreg2<imp-def> The extra <imp-def> operand indicates that the instruction does not read the other parts of the virtual register, so a remat is safe. This patch simply allows multiple def operands for the virtual register. It is MI->readsVirtualRegister() that determines if we depend on a previous value so remat is impossible. llvm-svn: 138953
* ARM 'rscs' mnemonic is carry-setting 'rsc', not 'rs' with a 'cs' condition code.Jim Grosbach2011-09-012-1/+3
| | | | llvm-svn: 138952
* Fix vbroadcast matching logic to early unmatch if the node doesn't haveBruno Cardoso Lopes2011-09-012-1/+15
| | | | | | only one use. Fix PR10825. llvm-svn: 138951
* Forgot to write out the NULL terminator when putting C string value intoGreg Clayton2011-09-012-1/+2
| | | | | | | | a data using DataEncoder. Added DataEncoder to the lldb-forward.h file. llvm-svn: 138950
* Added a DataEncoder class for the new IR evaluation expression parser so itGreg Clayton2011-09-013-0/+814
| | | | | | can reserve a block of memory and store stuff into it. llvm-svn: 138949
OpenPOWER on IntegriCloud