summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-124-4/+4
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131245
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-124-7/+7
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131244
* MCJIT section loading should just skip non-text sections rather thanJim Grosbach2011-05-121-4/+4
| | | | | | | erroring out completely. Some modules produce sections that aren't referenced, so it's friendlier to clients like LLDB to just skip them, at least for now. llvm-svn: 131243
* Do not add AT_APPLE_objc_class_extension attribute if @implementation is not ↵Devang Patel2011-05-122-2/+13
| | | | | | seen. llvm-svn: 131242
* Re-enable branchfolding common code hoisting optimization. Fixed a liveness ↵Evan Cheng2011-05-122-13/+66
| | | | | | test bug and also taught it to update liveins. llvm-svn: 131241
* enable __has_feature(is_standard_layout)Howard Hinnant2011-05-122-0/+6
| | | | llvm-svn: 131240
* Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that ↵Devang Patel2011-05-123-1/+35
| | | | | | | | represent class extension. Radar 9423077. llvm-svn: 131239
* Let Objective-C front-end identify class extension, in dwarf output, using ↵Devang Patel2011-05-124-9/+19
| | | | | | an attribute DW_AT_APPLE_objc_class_extension. llvm-svn: 131238
* LLVM doesn't always optimize away the four loads from this:Bill Wendling2011-05-125-2/+8
| | | | | | | | | | (__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> llvm-svn: 131237
* Construction of the RegisterReaderArg instance should happen after we have a ↵Johnny Chen2011-05-121-2/+2
| | | | | | valid base_addr, not before. llvm-svn: 131236
* Temporarily disable the transformation. It's breaking 186.crafty in some ↵Evan Cheng2011-05-121-0/+4
| | | | | | configuration. llvm-svn: 131235
* The MCJIT memory manager needs to initialize its Module member.Jim Grosbach2011-05-122-2/+2
| | | | llvm-svn: 131234
* Fix setting of isCommutable flag.Akira Hatanaka2011-05-122-16/+25
| | | | llvm-svn: 131233
* reverting test commitJason W Kim2011-05-121-1/+0
| | | | llvm-svn: 131232
* Test commit from MercurialJason W Kim2011-05-121-0/+1
| | | | llvm-svn: 131231
* Add clang_CXXMethod_isVirtual() to libclang, from Erik Verbruggen!Douglas Gregor2011-05-124-0/+22
| | | | llvm-svn: 131230
* CMake builds gold by default since revision 127466. This isOscar Fuentes2011-05-121-2/+4
| | | | | | | | | inconsistent with autoconf, which by default set BINUTILS_INCDIR to empty and exclude gold from target list. Based on a patch by Haitao Li! llvm-svn: 131229
* Properly parse the 'default' and 'delete' keywords.Alexis Hunt2011-05-1211-79/+213
| | | | | | | | | | | | | | | | | They are actually grammatically considered definitions and parsed accordingly. This fixes the outstanding bugs regarding defaulting functions after their declarations. We now really nicely diagnose the following construct (try it!) int foo() = delete, bar; Still todo: Defaulted functions other than default constructors Test cases (including for the above construct) llvm-svn: 131228
* Make it so that we actually generate definitions for explicitlyAlexis Hunt2011-05-123-4/+5
| | | | | | | | | | defaulted default constructors. As it happens, making sure that we handle out-of-line defaulted functions properly will involved making sure that we actually parse them correctly, so that's coming after. llvm-svn: 131224
* Implement deletion of explicitly defaulted default constructors.Alexis Hunt2011-05-123-31/+19
| | | | | | | We still don't parse out-of-line defaults correctly, which is needed to get the full effect out of this patch. llvm-svn: 131223
* Fix crasher spotted in IWYU.Nick Lewycky2011-05-121-1/+2
| | | | llvm-svn: 131222
* Cleaned up the ABI::PrepareTrivialCall() function to take three argumentGreg Clayton2011-05-129-485/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pointers: virtual bool PrepareTrivialCall (Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, lldb::addr_t *arg1_ptr, lldb::addr_t *arg2_ptr, lldb::addr_t *arg3_ptr) const = 0; Prior to this it was: virtual bool PrepareTrivialCall (Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, lldb::addr_t arg, lldb::addr_t *this_arg, lldb::addr_t *cmd_arg) const = 0; This was because the function that called this slowly added more features to be able to call a C++ member function that might have a "this" pointer, and then later added "self + cmd" support for objective C. Cleaning this code up and the code that calls it makes it easier to implement the functions for new targets. The MacOSX_arm::PrepareTrivialCall() is now filled in and ready for testing. llvm-svn: 131221
* PR9899: handle pseudo-destructors correctly in noexcept() expressions.Eli Friedman2011-05-122-1/+7
| | | | llvm-svn: 131220
* Target::EvaluateExpression should suppress stop hooks.Jim Ingham2011-05-122-1/+28
| | | | llvm-svn: 131219
* Remove the custom working directory form the xcscheme.Greg Clayton2011-05-121-1/+7
| | | | llvm-svn: 131218
* Make sure you have an executable module before trying to print its name.Jim Ingham2011-05-121-1/+4
| | | | llvm-svn: 131217
* Make this code more resilient against catch variables which need cleanups.John McCall2011-05-121-3/+4
| | | | llvm-svn: 131215
* Re-commit 131172 with fix. MachineInstr identity checks should check deadEvan Cheng2011-05-125-17/+294
| | | | | | | | | markers. In some cases a register def is dead on one path, but not on another. This is passing Clang self-hosting. llvm-svn: 131214
* Add two utility functions:Johnny Chen2011-05-1211-4/+284
| | | | | | | | | | | o get_parent_frame(frame) o get_args_as_string(frame) to lldbutil.py and create TestFrameUtils.py to exercise the utils. Plus re-arrange the test/python_api/lldbutil to have three directories for testing iteration, process stack traces, and the just added frame utils. llvm-svn: 131213
* Fix typo in comment.Nick Lewycky2011-05-121-1/+1
| | | | llvm-svn: 131212
* Fix PR9902: correctly substitute alias templates within the template in ↵Richard Smith2011-05-122-0/+31
| | | | | | which they are defined: provide an empty list of arguments for each containing template context during substitution. llvm-svn: 131211
* indvars: Added SimplifyIVUsers.Andrew Trick2011-05-121-85/+99
| | | | | | | Interleave IV simplifications. Currently involves EliminateComparison and EliminateRemainder. Next I'll add EliminateExtend. llvm-svn: 131210
* Implement CWG1170, which makes access-control errors into templateDouglas Gregor2011-05-114-3/+53
| | | | | | | argument deduction failures. Only implemented in C++0x, since this is a significant change in behavior from C++98/03. llvm-svn: 131209
* Remove an unused variable and move a couple others inside DEBUG.Matt Beaumont-Gay2011-05-111-6/+6
| | | | llvm-svn: 131208
* When checking for the necessary 'template<>' headers based on theDouglas Gregor2011-05-114-4/+56
| | | | | | | | | | nested of an out-of-line declaration, only require a 'template<>' header for each enclosing class template that hasn't been previously specialized; previously, we were requiring 'template<>' for enclosing class templates and members of class templates that hadn't been previously specialized. Fixes <rdar://problem/9422013>. llvm-svn: 131207
* Place "conflicting distributed object modifiers..." warnings under a -W flag.Ted Kremenek2011-05-111-2/+4
| | | | llvm-svn: 131206
* Address the last bit of relocation flag related divergence betweeenJason W Kim2011-05-112-25/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM and binutils. With this patch, there are no functional differences between the .o produced directly from LLVM versus the .s to .o via GNU as, for relocation tags at least, for both PIC and non-PIC modes. Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is necessary but not sufficient to determine whether the overall codegen mode is PIC or not. Why is this necessary? There is an incompatibility of how relocs are emitted in the .rodata section. Binutils PIC likes to emit certain relocs as section relative offsets. Non-PIC does not do this. So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which forces the objectwriter to pretend that all relocs are for PIC mode. Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected on llc. Todo: There are probably more issues for PIC mode on ARM/MC/ELF... Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s tests as well as expanded to cover the gamut. llvm-svn: 131205
* Commit some missing changes to the previous patch.Alexis Hunt2011-05-112-4/+16
| | | | | | This means we get C++0x jump-across-intializer semantics correct. llvm-svn: 131204
* Implement implicit deletion of default constructors.Alexis Hunt2011-05-118-21/+210
| | | | | | | | Yes, I'm aware that the diagnostics are awful. Tests to follow. llvm-svn: 131203
* Add a Microsoft C test following r131201.Francois Pichet2011-05-111-0/+8
| | | | llvm-svn: 131202
* In Microsoft mode, allow conversion from pointer to integral type no matter ↵Francois Pichet2011-05-112-3/+13
| | | | | | | | | | | what size the integral type is. Necessary to parse MFC code. Example: void f(char *ptr) { char var = (char)ptr; } llvm-svn: 131201
* Turn this into a table, this will make more sense shortly.Eric Christopher2011-05-111-11/+29
| | | | | | Part of rdar://8470697 llvm-svn: 131200
* Corrected some bugs in both memory and the tests. Preparing for being able ↵Howard Hinnant2011-05-113-8/+8
| | | | | | to turn on support for alias templates. llvm-svn: 131199
* Redid nothrow traits in terms of non-nothrow traits when noexcept is availableHoward Hinnant2011-05-112-6/+97
| | | | llvm-svn: 131198
* Move this test to CodeGen/Thumb. rdar://problem/9416774Stuart Hastings2011-05-111-1/+1
| | | | llvm-svn: 131196
* Identify end of prologue (and beginning of function body) using ↵Devang Patel2011-05-113-44/+95
| | | | | | DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
* Moved all code from ArchDefaultUnwindPlan and ArchVolatileRegs into theirGreg Clayton2011-05-1141-1435/+2456
| | | | | | | | | | | | | | | respective ABI plugins as they were plug-ins that supplied ABI specfic info. Also hookep up the UnwindAssemblyInstEmulation so that it can generate the unwind plans for ARM. Changed the way ABI plug-ins are handed out when you get an instance from the plug-in manager. They used to return pointers that would be mananged individually by each client that requested them, but now they are handed out as shared pointers since there is no state in the ABI objects, they can be shared. llvm-svn: 131193
* Avoid hoisting spills when looking at a copy from another register that is alsoJakob Stoklund Olesen2011-05-111-7/+16
| | | | | | | | | | | | | about to be spilled. This can only happen when two extra snippet registers are included in the spill, and there is a copy between them. Hoisting the spill creates problems because the hoist will mark the copy for later dead code elimination, and spilling the second register will turn the copy into a spill. <rdar://problem/9420853> llvm-svn: 131192
* Reduced test case. rdar://problem/9416774Stuart Hastings2011-05-111-36/+36
| | | | llvm-svn: 131191
* Clean up consequences of cut and paste.Fariborz Jahanian2011-05-111-69/+69
| | | | llvm-svn: 131190
OpenPOWER on IntegriCloud