summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Fix for ARM: functions don't have extra attributes there, so {{.*}} is ""Dmitri Gribenko2013-02-171-3/+7
| | | | | | While there, explicitly declare functions to remove warnings. llvm-svn: 175384
* Add test case for r175312.Chad Rosier2013-02-151-0/+6
| | | | llvm-svn: 175313
* Add the 'target-cpu' and 'target-features' attributes to functions.Bill Wendling2013-02-159-58/+58
| | | | | | | The back-end will use these values to reconfigure code generation for different features. llvm-svn: 175308
* Update testcases due to Attribute sorting improvements.Bill Wendling2013-02-1511-64/+64
| | | | llvm-svn: 175253
* [ms-inline asm] Add test case for r175083.Chad Rosier2013-02-131-0/+12
| | | | llvm-svn: 175084
* [ms-inline-asm] Test cases to ensure the AsmRewrite list is sorted (r175021).Chad Rosier2013-02-131-0/+12
| | | | | | Part of rdar://13202662 llvm-svn: 175022
* [ms-inline-asm] Add test cases for the align/emit directives.Chad Rosier2013-02-121-0/+16
| | | | | | Part of rdar://13200215 llvm-svn: 175009
* [ms-inline asm] Update test case now that we are correctly parsing __emit ↵Chad Rosier2013-02-121-2/+2
| | | | | | directives. llvm-svn: 175000
* Typo.Chad Rosier2013-02-121-1/+1
| | | | llvm-svn: 174995
* [ms-inline asm] Add a few test cases for the parsing of hexidecimal integers.Chad Rosier2013-02-121-0/+34
| | | | llvm-svn: 174989
* Update test to not fail with attribute groups.Bill Wendling2013-02-111-2/+2
| | | | llvm-svn: 174866
* Improve filechecking of volatile test.Tim Northover2013-02-081-37/+110
| | | | | | | | | | | | My previous attempt was extremely deficient, allowing more volatiles to be introduced and not even checking all of the ones that are present. This attempt doesn't try to keep track of the values stored or offsets within particular objects, just that the correct objects are accessed in a correctly volatile manner throughout. llvm-svn: 174700
* FileCheckize volatile testTim Northover2013-02-071-3/+37
| | | | llvm-svn: 174627
* Only check for volatile memcpys in test.Tim Northover2013-02-071-1/+1
| | | | | | | | AArch64 handles aggFct's return struct slightly differently, leading to an extra memcpy. This test is fortunately only concerned about volatile copies, so we can modify the grep text to filter it. llvm-svn: 174621
* XFAIL test that's inappropriate for AArch64 ABITim Northover2013-02-071-0/+8
| | | | | | | | Only some ABIs require the "signext" attribute on parameters. On most platforms, however, it's a useful test so it's best not to limit it to some random arbitrary platform. llvm-svn: 174619
* Generalize DebugInfo tests by avoiding explicit metadata numbersDavid Blaikie2013-02-022-4/+4
| | | | | | | | | | | | | | | This addresses several (not all) debug info tests that use explicit metadata numbers. Wherever the same number appeared more than once in a test I used a named match to ensure the same number appeared in all those cases (this may still be overly constraining test cases as they may not have actually cared about that relationship). For one-off numbers I just replaced them with an unnamed regex. This may underconstrain poorly written test cases that were interested in checking that certain metadata nodes were related but didn't actually match on all the related nodes numbers. llvm-svn: 174247
* Add check for @fooBill Schmidt2013-02-011-0/+1
| | | | llvm-svn: 174185
* Fix a string not seen without assertsBill Schmidt2013-02-011-2/+1
| | | | llvm-svn: 174183
* Fix PR14881 by implementing conversion rules between int and complex int.Bill Schmidt2013-02-011-0/+717
| | | | | | | | | | | | | | Prior to the patch, Clang does not properly promote types when a complex integer operand is combined with an integer via a binary operator, or when one is assigned to the other in either order. This patch detects when promotion is needed (and permissible) and generates the necessary code. The test assmes no target has the same size operands for "char" and "long long," and that no target performs arithmetic on char operands without extending them to a larger format first. If there are any targets for which this is not the case, they should be XFAILed. llvm-svn: 174181
* Revise unit testing for -fno-altivec, -mno-altivec.Bill Schmidt2013-02-011-12/+0
| | | | | | | As suggested, reverted the end-to-end test and added variations to an existing Driver test. llvm-svn: 174176
* Enable -fno-altivec, -mno-altivec for PowerPC.Bill Schmidt2013-02-011-0/+12
| | | | | | | | | | | Introduces these negation forms explicitly and uses them to control a new "altivec" target feature for PowerPC. This allows avoiding generating Altivec instructions on processors that support Altivec. The new test case verifies that the Altivec "lvx" instruction is not used when -fno-altivec is present on the command line. llvm-svn: 174140
* Update the tests.Bill Wendling2013-01-3124-112/+112
| | | | | | | This update coincides with r174110. That change ordered the attributes alphabetically. llvm-svn: 174111
* Add support for AArch64 target.Tim Northover2013-01-314-0/+578
| | | | | | | | | | | | | In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174055
* Add indents to AST dumping and removed parenthesis from AST nodes.Richard Trieu2013-01-311-4/+4
| | | | | | | | | | | | | | | | | | | | | Indents were given the color blue when outputting with color. AST dumping now looks like this: Node |-Node | `-Node `-Node `-Node Compared to the previous: (Node (Node (Node)) (Node (Node))) llvm-svn: 174022
* Semantic analysis and CodeGen support for C11's _Noreturn. This is modeled asRichard Smith2013-01-301-1/+7
| | | | | | an attribute for consistency with our other noreturn mechanisms. llvm-svn: 173898
* [ubsan] Implement the -fcatch-undefined-behavior flag using a trappingChad Rosier2013-01-291-0/+149
| | | | | | | | | | | implementation; this is much more inline with the original implementation (i.e., pre-ubsan) and does not require run-time library support. The trapping implementation can be invoked using either '-fcatch-undefined-behavior' or '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error', with the latter being preferred. Eventually, the -fcatch-undefined-behavior' flag will be removed. llvm-svn: 173848
* Modify the tests for the (sorted) order that the attributes come out as now.Bill Wendling2013-01-2911-39/+39
| | | | llvm-svn: 173762
* Tests: remove disabled llvm-gcc invocationsDmitri Gribenko2013-01-281-1/+0
| | | | llvm-svn: 173703
* PR14566: Debug Info: avoid top level lexical blocks in functionsDavid Blaikie2013-01-264-7/+5
| | | | | | | | | | | | | | | One of the gotchas (see changes to CodeGenFunction) was due to the fix in r139416 (for PR10829). This only worked previously because the top level lexical block would set the location to the end of the function, the debug location would be updated (as per r139416), the location would be set to the end of the function again (but that would no-op, since it was the same as the previous location), then the return instruction would be emitted using the debug location. Once the top level lexical block was no longer emitted, the end-of-function location change was causing the debug loc to be updated, regressing that bug. llvm-svn: 173593
* patch for PR9027 and // rdar://11861085Fariborz Jahanian2013-01-251-0/+40
| | | | | | | | | | | Title: [PR9027] volatile struct bug: member is not loaded at -O; This is caused by last flag passed to @llvm.memcpy being false, not honoring that aggregate has at least one 'volatile' data member (even though aggregate itself has not been qualified as 'volatile'. As a result, optimization optimizes away the memcpy altogether. Patch review by John MaCall (I still need to fix up a test though). llvm-svn: 173535
* FileCheck'ize testDmitri Gribenko2013-01-251-7/+26
| | | | llvm-svn: 173396
* FileCheck'ize testDmitri Gribenko2013-01-241-8/+4
| | | | llvm-svn: 173391
* FileCheck'ize testDmitri Gribenko2013-01-241-2/+2
| | | | llvm-svn: 173389
* FileCheck-ify some debug info scope related tests.David Blaikie2013-01-242-2/+10
| | | | llvm-svn: 173379
* [mips] Do not emit i32 padding if target ABI is O32. This was causing backendAkira Hatanaka2013-01-241-10/+22
| | | | | | to pass floating point arguments to be passed in integer registers. llvm-svn: 173375
* Handle universal character names and Unicode characters outside of literals.Jordan Rose2013-01-241-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | This is a missing piece for C99 conformance. This patch handles UCNs by adding a '\\' case to LexTokenInternal and LexIdentifier -- if we see a backslash, we tentatively try to read in a UCN. If the UCN is not syntactically well-formed, we fall back to the old treatment: a backslash followed by an identifier beginning with 'u' (or 'U'). Because the spelling of an identifier with UCNs still has the UCN in it, we need to convert that to UTF-8 in Preprocessor::LookUpIdentifierInfo. Of course, valid code that does *not* use UCNs will see only a very minimal performance hit (checks after each identifier for non-ASCII characters, checks when converting raw_identifiers to identifiers that they do not contain UCNs, and checks when getting the spelling of an identifier that it does not contain a UCN). This patch also adds basic support for actual UTF-8 in the source. This is treated almost exactly the same as UCNs except that we consider stray Unicode characters to be mistakes and offer a fixit to remove them. llvm-svn: 173369
* PowerPC: fix __builtin_eh_return_data_regno returnAdhemerval Zanella2013-01-221-0/+9
| | | | llvm-svn: 173188
* [ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag. MS-styleChad Rosier2013-01-222-2/+2
| | | | | | inline assembly can be enable with -fasm-blocks or -fms-extensions alone. llvm-svn: 173186
* clang/test/CodeGen: Nuke llvm's opt and llvm-dis, and FileCheck-ize two ↵NAKAMURA Takumi2013-01-222-8/+14
| | | | | | tests. -O1 is sufficient here. llvm-svn: 173115
* clang/test/CodeGen/2006-01-13-StackSave.c: Nuke llvm's opt and llvm-dis, and ↵NAKAMURA Takumi2013-01-221-2/+2
| | | | | | | | FileCheck-ize. @llvm.stacksave is emitted regardless of "opt -std-compile-opts". We have optimizers' tests in llvm/test/Transforms. llvm-svn: 173114
* clang/test/CodeGen/blocks-seq.c: FileCheck-ize.NAKAMURA Takumi2013-01-221-10/+8
| | | | llvm-svn: 173113
* [mips] Enable inlining of atomic ops on mips32 and mips64.Akira Hatanaka2013-01-182-35/+49
| | | | llvm-svn: 172855
* clang/test/CodeGen: Suppress a couple of tests on win32. It seems ↵NAKAMURA Takumi2013-01-182-0/+6
| | | | | | -fsanitize-blacklist doesn't accept DOSish pathnames. llvm-svn: 172820
* [ubsan] Add support for -fsanitize-blacklistWill Dietz2013-01-182-0/+30
| | | | llvm-svn: 172808
* [ms-inline asm] Updates and test case for r172743.Chad Rosier2013-01-171-1/+29
| | | | | | Part of rdar://12576868 llvm-svn: 172744
* Fix recent test for more diverse environments.Tim Northover2013-01-161-2/+5
| | | | | | | I think the main issue was the lack of -ffreestanding, which pulled in the host's stdint.h. After that things went rapidly downhill. llvm-svn: 172653
* Correct order of operands forwarding NEON vfma to LLVM fmaTim Northover2013-01-161-0/+16
| | | | llvm-svn: 172650
* Collect both normal and static data members of a class in sourceEric Christopher2013-01-162-3/+3
| | | | | | | | | | order. Describe static data members to metadata using new interfaces. Part of PR14471. Patch by Paul Robinson! llvm-svn: 172591
* Multiprecision subtraction builtins.Michael Gottesman2013-01-141-0/+73
| | | | | | We lower these into 2x chained usub.with.overflow intrinsics. llvm-svn: 172476
* This patch addresses varargs processing for small complex types underBill Schmidt2013-01-141-0/+73
| | | | | | | | | | | | | | | | | | | the 64-bit PowerPC ELF ABI. The ABI requires that the real and imaginary parts of a complex argument each occupy their own doubleword. Arguments smaller than 8 bytes are right-adjusted within the doubleword. Clang expects EmitVAARG() to return a pointer to a structure in which the real and imaginary parts are packed adjacently in memory. To accomplish this, we generate code to load the code appropriately from the varargs location and pack the values into a temporary variable in the form Clang expects, returning a pointer to that structure. The test case demonstrates correct code generation for all "small" complex types on PPC64: int, short, char, and float. llvm-svn: 172438
OpenPOWER on IntegriCloud