summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/arm.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use atexit when __cxa_atexit isn't available instead of adding aJohn McCall2012-04-061-3/+11
| | | | | | | | | global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that. Based on a patch by Nakamura Takumi! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154191 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new Triple::getMacOSXVersion function in another place.Bob Wilson2012-01-311-1/+1
| | | | | | | I removed support for "*-darwin*-iphoneos" triples, since we now have iOS listed as a separate OS in the triples. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149455 91177308-0d34-0410-b5e6-96231b3b80d8
* Get a little bit smarter about killing off the ReturnValue allocaJohn McCall2012-01-291-8/+2
| | | | | | | in the presence of straight-line cleanups. This is a simple but important case, particularly for ARC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149190 91177308-0d34-0410-b5e6-96231b3b80d8
* Throw the switch to convert clang to the new exception handling model!Bill Wendling2011-09-191-4/+6
| | | | | | | | | | | | | | This model uses the 'landingpad' instruction, which is pinned to the top of the landing pad. (A landing pad is defined as the destination of the unwind branch of an invoke instruction.) All of the information needed to generate the correct exception handling metadata during code generation is encoded into the landingpad instruction. The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic call. It's lowered in much the same way as the intrinsic is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140049 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert Clang over to resuming from landing pads with llvm.eh.resume.John McCall2011-05-281-2/+2
| | | | | | | | It's quite likely that this will explode, but I need to know how. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132269 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out r132209; it's breaking nightly tests.Eli Friedman2011-05-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132219 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a new, much improved version of the cleanup hack. We just needJohn McCall2011-05-271-2/+2
| | | | | | | | | | to be careful to emit landing pads that are always prepared to handle a cleanup path. This is correct mostly because of the fix to the LLVM inliner, r132200. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132209 91177308-0d34-0410-b5e6-96231b3b80d8
* The array-size operand to a new-expression is not necessarily a size_t.John McCall2011-05-151-2/+2
| | | | | | | | | It can be larger, it can be smaller, it can be signed, whatever. Handle all the crazy cases with grace and spirit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131378 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure we or together the overflow flags of the multiply and add, so theEli Friedman2011-04-091-1/+2
| | | | | | | | check is triggered appropriately. Reported on cfe-dev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129231 91177308-0d34-0410-b5e6-96231b3b80d8
* Move unnamed_addr after the function arguments on Sabre's request.Rafael Espindola2011-01-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124210 91177308-0d34-0410-b5e6-96231b3b80d8
* Add unnamed_addr to constructors and destructors.Rafael Espindola2011-01-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123197 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement ARM static local initialization guards, which are more compact thanJohn McCall2010-09-081-0/+75
| | | | | | | | Itanium guards and use a slightly different compiled-in API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113330 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-commit r112916 with an additional fix for the self-host failures.John McCall2010-09-031-0/+40
| | | | | | | | I've audited the remaining getFunctionInfo call sites. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112936 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r112916, it's breaking selfhost pretty badly.John McCall2010-09-031-17/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112925 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not safe to use the generic CXXMethodDecl overload of CGT::getFunctionInfoJohn McCall2010-09-031-0/+17
| | | | | | | | | to set up a destructor call, because ABIs can tweak these conventions. Fixes rdar://problem/8386802. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112916 91177308-0d34-0410-b5e6-96231b3b80d8
* Stupid emacs keystroke.John McCall2010-09-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112815 91177308-0d34-0410-b5e6-96231b3b80d8
* Abstract IR generation of array cookies into the C++ ABI class andJohn McCall2010-09-021-2/+150
| | | | | | | | | | | | | | | | implement ARM array cookies. Also fix a few unfortunate bugs: - throwing dtors in deletes prevented the allocation from being deleted - adding the cookie to the new[] size was not being considered for overflow (and, more seriously, was screwing up the earlier checks) - deleting an array via a pointer to array of class type was not causing any destructors to be run and was passing the unadjusted pointer to the deallocator - lots of address-space problems, in case anyone wants to support free store in a variant address space :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112814 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach IR generation to return 'this' from constructors and destructorsJohn McCall2010-08-311-2/+84
| | | | | | | | under the ARM ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112588 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix tests that I missed from my previous commit.Rafael Espindola2010-06-161-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106118 91177308-0d34-0410-b5e6-96231b3b80d8
* emit dtors with the right calling convention in -fno-use-cxa-atexitChris Lattner2010-04-261-0/+20
mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102377 91177308-0d34-0410-b5e6-96231b3b80d8