summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC
Commit message (Collapse)AuthorAgeFilesLines
* [opaque pointer type] Update test cases now that the type for an invoke is ↵David Blaikie2015-04-241-1/+1
| | | | | | just a function type, not a pointer-to-function type llvm-svn: 235756
* Revert "Revert r234581, it might have caused a few miscompiles in Chromium."David Majnemer2015-04-227-13/+190
| | | | | | | | This reverts commit r234700. It turns out that the lifetime markers were not the cause of Chromium failing but a bug which was uncovered by optimizations exposed by the markers. llvm-svn: 235553
* [opaque pointer types] Explicit non-pointer type for call expressionsDavid Blaikie2015-04-1610-18/+18
| | | | | | (migration for recent LLVM change to textual IR for calls) llvm-svn: 235147
* Revert r234581, it might have caused a few miscompiles in Chromium.Nico Weber2015-04-117-190/+13
| | | | | | | If the revert helps, I'll get a repro this Monday. Else I'll put the change back in. llvm-svn: 234700
* Remove threshold for inserting lifetime markers for named temporariesArnaud A. de Grandmaison2015-04-107-13/+190
| | | | | | | | | | | | | | | | | | | Now that TailRecursionElimination has been fixed with r222354, the threshold on size for lifetime marker insertion can be removed. This only affects named temporary though, as the patch for unnamed temporaries is still in progress. My previous commit (r222993) was not handling debuginfo correctly, but this could only be seen with some asan tests. Basically, lifetime markers are just instrumentation for the compiler's usage and should not affect debug information; however, the cleanup infrastructure was assuming it contained only destructors, i.e. actual code to be executed, and was setting the breakpoint for the end of the function to the closing '}', and not the return statement, in order to show some destructors have been called when leaving the function. This is wrong when the cleanups are only lifetime markers, and this is now fixed. llvm-svn: 234581
* [Objective-C patch] Patch to fix a crash in IRGen because Fariborz Jahanian2015-04-061-0/+21
| | | | | | | | of incorrect AST when a compound literal of Objective-C property access is used to initialize a vertor of floats. rdar://20407999 llvm-svn: 234176
* [Objective-C metadata patch]. Patch to allocate one more space for Fariborz Jahanian2015-03-311-0/+17
| | | | | | Protocol objects in OBJC2. rdar://20286356 llvm-svn: 233766
* Test case updates for explicit type parameter to the gep operatorDavid Blaikie2015-03-139-21/+21
| | | | llvm-svn: 232187
* DebugInfo: Move new hierarchy into place (clang)Duncan P. N. Exon Smith2015-03-0329-80/+198
| | | | | | | Update testcases for LLVM change in r231082 to use the new debug info hierarchy. llvm-svn: 231083
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-2738-371/+371
| | | | llvm-svn: 230795
* Update Clang tests to handle explicitly typed gep changes in LLVM.David Blaikie2015-02-2715-116/+116
| | | | llvm-svn: 230783
* Remove trailing whitespace to help make test compatible with typeless ↵David Blaikie2015-02-151-1/+1
| | | | | | pointer migration llvm-svn: 229271
* DebugInfo: Attribute cleanup code to the end of the scope, not the end of ↵David Blaikie2015-02-041-7/+5
| | | | | | | | | | | | | | | | | | the function. Now if you break on a dtor and go 'up' in your debugger (or you get an asan failure in a dtor) during an exception unwind, you'll have more context. Instead of all dtors appearing to be called from the '}' of the function, they'll be attributed to the end of the scope of the variable, the same as the non-exceptional dtor call. This doesn't /quite/ remove all uses of CurEHLocation (which might be nice to remove, for a few reasons) - it's still used to choose the location for some other work in the landing pad. It'd be nice to attribute that code to the same location as the exception calls within the block and to remove CurEHLocation. llvm-svn: 228181
* test: Make encode-test-5.m's output not dependent on its filenameDavid Majnemer2015-02-021-1/+1
| | | | | | | Pipe the file into clang instead of passing the file path on the command line. llvm-svn: 227896
* FileCheck'ize CodeGenObjC testDavid Majnemer2015-02-021-6/+11
| | | | | | This fixes PR22437. llvm-svn: 227843
* IR: Move MDLocation into place (clang testcases)Duncan P. N. Exon Smith2015-01-144-24/+24
| | | | | | Update testcases to match LLVM change in r226048. llvm-svn: 226049
* IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith2014-12-1520-78/+78
| | | | | | Match LLVM changes from r224257. llvm-svn: 224259
* Have the driver and the target code agree on what the default ABIEric Christopher2014-12-052-6/+6
| | | | | | | | | is for each machine. Fix up darwin tests that were testing for aapcs on armv7-ios when the actual ABI is apcs. Should be no user visible change without -cc1. llvm-svn: 223429
* Revert "Remove threshold for lifetime marker insertion of named temporaries"Arnaud A. de Grandmaison2014-12-017-191/+3
| | | | | | Revert r222993 while I investigate some MemorySanitizer failures. llvm-svn: 222995
* Remove threshold for lifetime marker insertion of named temporariesArnaud A. de Grandmaison2014-12-017-3/+191
| | | | | | | | | Now that TailRecursionElimination has been fixed with r222354, the threshold on size for lifetime marker insertion can be removed. This only affects named temporary though, as the patch for unnamed temporaries is still in progress. llvm-svn: 222993
* relax this testcase to not depend on a specific alignment.Adrian Prantl2014-11-211-1/+1
| | | | llvm-svn: 222490
* Debug info for blocks: Fix a bug caught by the Verifier.Adrian Prantl2014-11-211-0/+26
| | | | | | | | | | | | When emitting nested block definitions, the insert-at-point variant of DIBuilder::insertDeclare() could be called with the insertion point set to the end-of-BasicBlock sentinel, causing the parent pointer of the CallInst to be set to the intentionally bogus value of the sentinel. Fixed by conditionally invoking the correct version of insertDeclare(). rdar://problem/19034882 llvm-svn: 222487
* Don't manually insert L prefixes.Rafael Espindola2014-11-0628-159/+159
| | | | | | Simply marking the symbol private conveys the desire to hide them to LLVM. llvm-svn: 221451
* Use FileCheck.Rafael Espindola2014-11-061-3/+4
| | | | llvm-svn: 221435
* Delete dead test.Rafael Espindola2014-11-061-19/+0
| | | | llvm-svn: 221434
* Debug info: Emit the correct type for the __FuncPtr field in a blockAdrian Prantl2014-11-051-0/+18
| | | | | | | | descriptor. rdar://problem/15984431 llvm-svn: 221326
* Objective-C. revert patch for rdar://17554063.Fariborz Jahanian2014-10-282-28/+16
| | | | llvm-svn: 220812
* DebugInfo: Omit scopes in -gmlt to reduce metadata size (on disk and in memory)David Blaikie2014-10-221-1/+1
| | | | | | | I haven't done any actual impact analysis of this change as it's a strict improvement, but I'd be curious to know how much it helps. llvm-svn: 220408
* CodeGen: correct block mangling in ObjCSaleem Abdulrasool2014-10-141-0/+29
| | | | | | | | | | | | Mangling for blocks defined within blocks in an ObjectiveC context were also broken by SVN r219393. Because the code in mangleName assumed that the code was either C or C++, we would trigger assertions when trying to mangle the inner blocks in an ObjectiveC context. Add a test and use the ObjectiveC specific mangling when dealing with an ObjectiveC method declaration. llvm-svn: 219697
* Revert "Remove threshold on object size for inserting lifetime begin / end"Arnaud A. de Grandmaison2014-10-087-191/+3
| | | | | | Revert this patch while I investigate some sanitizer failures off-line. llvm-svn: 219307
* Remove threshold on object size for inserting lifetime begin / endArnaud A. de Grandmaison2014-10-087-3/+191
| | | | | | | | | Boostrapping LLVM+Clang+LLDB without threshold on object size for lifetime markers insertion has shown there was no significant change in compile time, so let the stack slot colorizer do its optimization for all slots. llvm-svn: 219303
* Revert "Revert "DI: LLVM schema change: fold constants into string""Duncan P. N. Exon Smith2014-10-0313-26/+28
| | | | | | | | | | | | | | This reverts commit r218917, effectively reapplying r218913. Original commit message follows. -- Update debug info testcases for an LLVM metadata schema change to fold metadata constant operands into a single `MDString`. Part of PR17891. llvm-svn: 219011
* Revert "DI: LLVM schema change: fold constants into string"Duncan P. N. Exon Smith2014-10-0213-28/+26
| | | | | | This reverts commit r218913 while I investigate some bots. llvm-svn: 218917
* DI: LLVM schema change: fold constants into stringDuncan P. N. Exon Smith2014-10-0213-26/+28
| | | | | | | | | Update debug info testcases for an LLVM metadata schema change to fold metadata constant operands into a single `MDString`. Part of PR17891. llvm-svn: 218913
* Update CGDebugInfo to the updated API in LLVM.Adrian Prantl2014-10-015-11/+11
| | | | | | | | | | Complex address expressions are no longer part of DIVariable, but rather an extra argument to the debug intrinsics. http://reviews.llvm.org/D4919 rdar://problem/17994491 llvm-svn: 218788
* Reverting r218777 while investigating buildbot breakage.Adrian Prantl2014-10-015-11/+11
| | | | | | "Update CGDebugInfo to the updated API in LLVM." llvm-svn: 218781
* Update CGDebugInfo to the updated API in LLVM.Adrian Prantl2014-10-015-11/+11
| | | | | | | | | | Complex address expressions are no longer part of DIVariable, but rather an extra argument to the debug intrinsics. http://reviews.llvm.org/D4919 rdar://problem/17994491 llvm-svn: 218777
* Allow protocols to be just declared.Rafael Espindola2014-09-121-0/+17
| | | | llvm-svn: 217704
* Debug info: Only emit C++ accessibility specifiers when they are divergingAdrian Prantl2014-08-291-2/+2
| | | | | | | | from the default for the containing type. rdar://problem/18154959 llvm-svn: 216800
* Objective-C IRGen. Fixes an assertion crash caused by inconsistentFariborz Jahanian2014-08-281-0/+18
| | | | | | | | linkage related to generation of OBJC_SELECTOR_REFERENCES symbol needed in generation of call to 'super' in a class method. // rdar://18150301 llvm-svn: 216676
* Objective-C. Fixes an assert where because of capturedFariborz Jahanian2014-08-121-0/+25
| | | | | | | | variable in block is over-aligned with an align attribute causing block metadata size not be multiple of alignment. rdar://17878679 llvm-svn: 215449
* Debuginfo: Correctly tag variadic ObjC methods with ↵Frederic Riss2014-08-121-0/+16
| | | | | | | | DW_TAG_unspecified_parameter. Fixes rdar://13690847 llvm-svn: 215423
* Objective-C ARC. Use of non-retain/autorelease APIFariborz Jahanian2014-08-082-9/+14
| | | | | | | for building Objective-C array literals in ARC mode. rdar://17554063 llvm-svn: 215232
* Objective-C arc. Switch the Objective-C dictionary literal in ARC modeFariborz Jahanian2014-08-072-5/+8
| | | | | | | to use non-retain/autorelease API variants of ObjC objects. wip. rdar://17554063 llvm-svn: 215146
* Objective-C ARC. More code for Objective-C'sFariborz Jahanian2014-08-061-2/+6
| | | | | | new APIs for literals. nfc. wip. rdar://17554063 llvm-svn: 215043
* Revert "Emit column debug information for loads"Tobias Grosser2014-07-291-3/+3
| | | | | | | | | | | | | | | | This broke the following gdb tests: gdb.base__annota1.exp gdb.base__consecutive.exp gdb.python__py-symtab.exp gdb.reverse__consecutive-precsave.exp gdb.reverse__consecutive-reverse.exp I will look into this. This reverts commit 214162. llvm-svn: 214163
* Emit column debug information for loadsTobias Grosser2014-07-291-3/+3
| | | | | | | | | This allows us to give more precise diagnostics. Diego kindly tested the impact on debug info size: "The increase on average debug sizes is 0.1%. The total file size increase is ~0%." llvm-svn: 214162
* Mark C++ reference parameters as dereferenceableHal Finkel2014-07-181-2/+2
| | | | | | | | | | | | | | Because references must be initialized using some evaluated expression, they must point to something, and a callee can assume the reference parameter is dereferenceable. Taking advantage of a new attribute just added to LLVM, mark them as such. Because dereferenceability in addrspace(0) implies nonnull in the backend, we don't need both attributes. However, we need to know the size of the object to use the dereferenceable attribute, so for incomplete types we still emit only nonnull. llvm-svn: 213386
* Objective-C. Introducing __attribute__((objc_runtime_name("runtimename"))Fariborz Jahanian2014-07-163-0/+174
| | | | | | | | | to be applied to class or protocols. This will direct IRGen for Objective-C metadata to use the new name in various places where class and protocol names are needed. rdar:// 17631257 llvm-svn: 213167
* Improve test of my previous patch. rdar://17633301Fariborz Jahanian2014-07-151-2/+3
| | | | llvm-svn: 213081
OpenPOWER on IntegriCloud