summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Fix this on the bots and make the test more complete by enabling optimizations.Rafael Espindola2011-10-281-3/+2
| | | | llvm-svn: 143223
* Fix PR9614 for functions with the always_inline attribute. Try to keepRafael Espindola2011-10-281-9/+17
| | | | | | the common case (-O0, no always_inline) fast. llvm-svn: 143222
* Move these test from checking assembly to checking LLVM IR. Should fix falloutNick Lewycky2011-10-271-3/+4
| | | | | | from r143097. llvm-svn: 143098
* Fix this tests on the bots.Rafael Espindola2011-10-261-2/+2
| | | | llvm-svn: 143052
* Fix pr9614 by not emitting an available_externally function when it callsRafael Espindola2011-10-261-0/+15
| | | | | | | | | itself via an asm label. available_externally functions are supposed to correspond to an external function, and that is not the case in the examples in pr9614. llvm-svn: 143049
* Remove another Blackfin test.Dan Gohman2011-10-251-1/+0
| | | | llvm-svn: 142894
* Remove more SystemZ (s390) tests.Dan Gohman2011-10-252-13/+0
| | | | llvm-svn: 142883
* Fix PR11073 by adding the argument type information to the decl we constructEric Christopher2011-10-211-0/+9
| | | | | | | | for the function type. Update a testcase accordingly. Patch initially by Anders Waldenborg! llvm-svn: 142700
* Switch tests from grep to FileCheckDouglas Gregor2011-10-211-3/+5
| | | | llvm-svn: 142699
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-211-0/+4
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Add missing newline.Eli Friedman2011-10-171-1/+1
| | | | llvm-svn: 142285
* Initial implementation of __atomic_is_lock_free. The input is the size of ↵Eli Friedman2011-10-171-0/+6
| | | | | | | | an atomic type rather than an atomic type itself just to save some implementation pain; I can change that if it seems worthwhile. I think this is the last hook needed for <atomic> besides defines for ATOMIC_CHAR_LOCK_FREE and friends. llvm-svn: 142281
* The comparison of two vectors should return a signed result. ↵Tanya Lattner2011-10-171-7/+8
| | | | | | | | | hasIntegerRepresentation() used to always return false for vectors, but since it was changed, it also changed the return type of a compare of two unsigned vectors to be unsigned. This patch removes the check for hasIntegerRepresentation since its not needed and returns the appropriate signed type. I added a new test case and updated exisiting test cases that assumed an unsigned result. llvm-svn: 142250
* Missed tests for half FP supportAnton Korobeynikov2011-10-141-0/+283
| | | | llvm-svn: 142017
* Misc fixes for atomics. Biggest fix is doing alignment correctly for ↵Eli Friedman2011-10-141-3/+1
| | | | | | _Atomic types. llvm-svn: 142002
* Harden test for windows paths.Benjamin Kramer2011-10-141-1/+1
| | | | llvm-svn: 141973
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-132-2/+2
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Recommit:Eric Christopher2011-10-131-3/+11
| | | | | | | | | | | | | | | Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. llvm-svn: 141893
* Add returns_twice to functions that are known to return twice. This implementsRafael Espindola2011-10-121-0/+11
| | | | | | the same behavior of gcc by keeping the attribute out of the function type. llvm-svn: 141803
* Revert file/scope handling patches. gdb testing revealed a couple of bugs.Eric Christopher2011-10-121-11/+3
| | | | llvm-svn: 141796
* Start handling debug line and scope information better:Eric Christopher2011-10-111-3/+11
| | | | | | | | | | | Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 llvm-svn: 141732
* PR11062: Make C99 inlining work properly for names with associated builtin ↵Eli Friedman2011-10-111-1/+6
| | | | | | libcalls. llvm-svn: 141723
* Initial implementation of __atomic_* (everything except __atomic_is_lock_free).Eli Friedman2011-10-111-0/+79
| | | | llvm-svn: 141632
* Added natural stack alignment to target-data.c test case.Lang Hames2011-10-111-3/+3
| | | | llvm-svn: 141622
* Propagate __attribute__((returns_twice)) from C to IL.Rafael Espindola2011-10-031-0/+11
| | | | llvm-svn: 141002
* I had meant to locally revert this test.John McCall2011-09-211-1/+1
| | | | llvm-svn: 140243
* ANSI C requires that a call to an unprototyped function type succeedJohn McCall2011-09-216-9/+8
| | | | | | | | | | | | | | | | | if the definition has a non-variadic prototype with compatible parameters. Therefore, the default rule for such calls must be to use a non-variadic convention. Achieve this by casting the callee to the function type with which it is required to be compatible, unless the target specifically opts out and insists that unprototyped calls should use the variadic rules. The only case of that I'm aware of is the x86-64 convention, which passes arguments the same way in both cases but also sets a small amount of extra information; here we seek to maintain compatibility with GCC, which does set this when calling an unprototyped function. Addresses PR10810 and PR10713. llvm-svn: 140241
* Add list initialization for complex numbers in C. Essentially, this allows ↵Eli Friedman2011-09-191-0/+12
| | | | | | | | "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description. <rdar://problem/9397672>. llvm-svn: 140090
* Throw the switch to convert clang to the new exception handling model!Bill Wendling2011-09-191-2/+4
| | | | | | | | | | | | | 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. llvm-svn: 140049
* test/CodeGen/sse-builtins.c: Make this host-independent to unbreak ↵NAKAMURA Takumi2011-09-161-1/+1
| | | | | | | | posix-unlike hosts. Without -ffreestanding, clang tries to seek /usr/include/stdlib.h in host filesystem, even on Windows hosts. llvm-svn: 139899
* Tweak *mmintrin.h so that they don't make any bad assumptions about ↵Eli Friedman2011-09-151-0/+104
| | | | | | | | alignment (which probably has little effect in practice, but better to get it right). Make the load in _mm_loadh_pi and _mm_loadl_pi a single LLVM IR instruction to make optimizing easier for CodeGen. rdar://10054986 llvm-svn: 139874
* Re-commit r139643.Eli Friedman2011-09-132-13/+10
| | | | | | Make clang use Acquire loads and Release stores where necessary. llvm-svn: 139650
* Revert r139643 while I look into it; it's breaking selfhost.Eli Friedman2011-09-132-10/+13
| | | | llvm-svn: 139648
* Make clang use Acquire loads and Release stores where necessary.Eli Friedman2011-09-132-13/+10
| | | | llvm-svn: 139643
* Make this test portable on Win32.Julien Lerouge2011-09-101-3/+0
| | | | llvm-svn: 139464
* Missed a %local use; hopefully this clears this test up.John McCall2011-09-101-7/+8
| | | | llvm-svn: 139462
* clang part of r139458; un-XFAIL testcase.Eli Friedman2011-09-101-1/+0
| | | | llvm-svn: 139460
* Revision 139454 fixed a broken assert in LLVM, which causesRichard Trieu2011-09-101-0/+1
| | | | | | | | a test failure in CodeGen/palignr.c, which has been marked XFAIL for the time being. A bug has been filed at PR10901 for this issue. llvm-svn: 139457
* Make this test not depend on unnecessary details and IR variable names.John McCall2011-09-101-11/+15
| | | | llvm-svn: 139455
* Bring llvm.annotation* intrinsics support back to where it was in llvm-gcc: canJulien Lerouge2011-09-097-11/+173
| | | | | | | annotate global, local variables, struct fields, or arbitrary statements (using the __builtin_annotation), rdar://8037476. llvm-svn: 139423
* Carry the debug information from single exit unified return blockEric Christopher2011-09-091-0/+16
| | | | | | | | along with the new insert point. Fixes PR10829 llvm-svn: 139416
* Treat the weak export of block runtime symbols as a deployment-targetJohn McCall2011-09-091-20/+0
| | | | | | | | feature akin to the ARC runtime checks. Removes a terrible hack where IR gen needed to find the declarations of those symbols in the translation unit. llvm-svn: 139404
* The frexp, modf, and remquo builtins are not 'const'.Jakob Stoklund Olesen2011-09-081-0/+41
| | | | | | | | | | These functions return a second value by writing to a pointer argument, so they cannot be marked 'readnone' which implies that they don't access memory. <rdar://problem/10070234> llvm-svn: 139319
* Make sure the FunctionDecl's created by "#pragma weak" have correct ↵Eli Friedman2011-09-071-4/+11
| | | | | | ParmVarDecl's. PR10878. llvm-svn: 139224
* Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics ↵Eli Friedman2011-09-075-439/+221
| | | | | | | | | | (which will go away). LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything. There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now. I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier. I would appreciate hearing from anyone who is using this intrinsic. llvm-svn: 139216
* Revise test and see if it passes with a release-built clang.Fariborz Jahanian2011-09-021-4/+4
| | | | llvm-svn: 139043
* blocks: Support capturing complex variable in block.Fariborz Jahanian2011-09-021-0/+20
| | | | | | // rdar://10033896 llvm-svn: 139041
* revert patch in r139020Fariborz Jahanian2011-09-021-19/+0
| | | | llvm-svn: 139029
* blocks: Support capturing complex variable in block.Fariborz Jahanian2011-09-021-0/+19
| | | | | | // rdar://10033896 llvm-svn: 139020
* Track whether an AggValueSlot is potentially aliased, and do notJohn McCall2011-08-255-31/+31
| | | | | | | | | | emit call results into potentially aliased slots. This allows us to properly mark indirect return slots as noalias, at the cost of requiring an extra memcpy when assigning an aggregate call result into a l-value. It also brings us into compliance with the x86-64 ABI. llvm-svn: 138599
OpenPOWER on IntegriCloud