Commit Graph

1872 Commits

Author SHA1 Message Date
Bill Wendling 5000f2daff Make for x86 to stop it failing on ARM buildbots.
llvm-svn: 175834
2013-02-22 00:04:55 +00:00
Bill Wendling 5ea6a89e52 Try to get buildbots to pass these tests.
llvm-svn: 175784
2013-02-21 19:44:18 +00:00
Bill Wendling 4467d79ad4 Attempt to clean up tests for non-X86 platforms.
llvm-svn: 175652
2013-02-20 19:30:01 +00:00
Chad Rosier 7ef6fd3402 [ms-inline asm] Remove this test while I investigate why eax isn't being clobbered.
llvm-svn: 175637
2013-02-20 17:39:31 +00:00
Bill Wendling c33fc4c004 Modify the tests to use attribute group references instead of listing the
function attributes.

llvm-svn: 175606
2013-02-20 07:22:19 +00:00
Dmitri Gribenko b633eab8cb Fix for ARM: functions don't have extra attributes there, so {{.*}} is ""
While there, explicitly declare functions to remove warnings.

llvm-svn: 175384
2013-02-17 03:06:16 +00:00
Chad Rosier 77d56be3f0 Add test case for r175312.
llvm-svn: 175313
2013-02-15 21:58:41 +00:00
Bill Wendling 985d1c5d15 Add the 'target-cpu' and 'target-features' attributes to functions.
The back-end will use these values to reconfigure code generation for different
features.

llvm-svn: 175308
2013-02-15 21:30:01 +00:00
Bill Wendling 48939ced20 Update testcases due to Attribute sorting improvements.
llvm-svn: 175253
2013-02-15 05:25:49 +00:00
Chad Rosier 5bdd8ed74d [ms-inline asm] Add test case for r175083.
llvm-svn: 175084
2013-02-13 21:34:54 +00:00
Chad Rosier 8356d091bf [ms-inline-asm] Test cases to ensure the AsmRewrite list is sorted (r175021).
Part of rdar://13202662

llvm-svn: 175022
2013-02-13 01:06:08 +00:00
Chad Rosier 3ea602cd30 [ms-inline-asm] Add test cases for the align/emit directives.
Part of rdar://13200215

llvm-svn: 175009
2013-02-12 21:34:14 +00:00
Chad Rosier 868d668e78 [ms-inline asm] Update test case now that we are correctly parsing __emit directives.
llvm-svn: 175000
2013-02-12 19:42:57 +00:00
Chad Rosier e348d2724a Typo.
llvm-svn: 174995
2013-02-12 19:15:05 +00:00
Chad Rosier e90add40a9 [ms-inline asm] Add a few test cases for the parsing of hexidecimal integers.
llvm-svn: 174989
2013-02-12 18:45:21 +00:00
Bill Wendling 832d3c2fac Update test to not fail with attribute groups.
llvm-svn: 174866
2013-02-11 08:35:52 +00:00
Tim Northover d3c543703d Improve filechecking of volatile test.
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
2013-02-08 08:00:13 +00:00
Tim Northover ed9eae90d4 FileCheckize volatile test
llvm-svn: 174627
2013-02-07 15:39:16 +00:00
Tim Northover ffed8fe5c9 Only check for volatile memcpys in test.
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
2013-02-07 15:11:48 +00:00
Tim Northover 7df5c0df3b XFAIL test that's inappropriate for AArch64 ABI
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
2013-02-07 15:11:40 +00:00
David Blaikie f85744235b Generalize DebugInfo tests by avoiding explicit metadata numbers
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
2013-02-02 00:34:26 +00:00
Bill Schmidt b02158d474 Add check for @foo
llvm-svn: 174185
2013-02-01 15:52:51 +00:00
Bill Schmidt 3e439e4223 Fix a string not seen without asserts
llvm-svn: 174183
2013-02-01 15:41:02 +00:00
Bill Schmidt eb03ae268e Fix PR14881 by implementing conversion rules between int and complex int.
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
2013-02-01 15:34:29 +00:00
Bill Schmidt 102bb32bf7 Revise unit testing for -fno-altivec, -mno-altivec.
As suggested, reverted the end-to-end test and added variations to an
existing Driver test.

llvm-svn: 174176
2013-02-01 14:45:29 +00:00
Bill Schmidt 2fe4c67374 Enable -fno-altivec, -mno-altivec for PowerPC.
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
2013-02-01 02:14:03 +00:00
Bill Wendling 85ab57ac5d Update the tests.
This update coincides with r174110. That change ordered the attributes
alphabetically.

llvm-svn: 174111
2013-01-31 23:17:12 +00:00
Tim Northover 9bb857a4f1 Add support for AArch64 target.
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
2013-01-31 12:13:10 +00:00
Richard Trieu de5cc7d3d8 Add indents to AST dumping and removed parenthesis from AST nodes.
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
2013-01-31 01:44:26 +00:00
Richard Smith debc59d1f3 Semantic analysis and CodeGen support for C11's _Noreturn. This is modeled as
an attribute for consistency with our other noreturn mechanisms.

llvm-svn: 173898
2013-01-30 05:45:05 +00:00
Chad Rosier ae229d599b [ubsan] Implement the -fcatch-undefined-behavior flag using a trapping
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
2013-01-29 23:31:22 +00:00
Bill Wendling 9806806f39 Modify the tests for the (sorted) order that the attributes come out as now.
llvm-svn: 173762
2013-01-29 03:21:00 +00:00
Dmitri Gribenko a3ecd32bbf Tests: remove disabled llvm-gcc invocations
llvm-svn: 173703
2013-01-28 18:01:33 +00:00
David Blaikie 0a21d0da17 PR14566: Debug Info: avoid top level lexical blocks in functions
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
2013-01-26 22:16:26 +00:00
Fariborz Jahanian 7865220da4 patch for PR9027 and // rdar://11861085
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
2013-01-25 23:57:05 +00:00
Dmitri Gribenko e29dadb640 FileCheck'ize test
llvm-svn: 173396
2013-01-25 00:06:54 +00:00
Dmitri Gribenko dfbd119c8b FileCheck'ize test
llvm-svn: 173391
2013-01-24 23:34:51 +00:00
Dmitri Gribenko 53616ad42d FileCheck'ize test
llvm-svn: 173389
2013-01-24 23:29:37 +00:00
David Blaikie 35d0e27b78 FileCheck-ify some debug info scope related tests.
llvm-svn: 173379
2013-01-24 22:47:48 +00:00
Akira Hatanaka 4f15fb46a1 [mips] Do not emit i32 padding if target ABI is O32. This was causing backend
to pass floating point arguments to be passed in integer registers.

llvm-svn: 173375
2013-01-24 21:47:33 +00:00
Jordan Rose 7f43dddae0 Handle universal character names and Unicode characters outside of literals.
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
2013-01-24 20:50:46 +00:00
Adhemerval Zanella 5d874aeea9 PowerPC: fix __builtin_eh_return_data_regno return
llvm-svn: 173188
2013-01-22 20:02:45 +00:00
Chad Rosier e3aac2c864 [ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag. MS-style
inline assembly can be enable with -fasm-blocks or -fms-extensions alone.

llvm-svn: 173186
2013-01-22 19:38:32 +00:00
NAKAMURA Takumi 7b597946b1 clang/test/CodeGen: Nuke llvm's opt and llvm-dis, and FileCheck-ize two tests. -O1 is sufficient here.
llvm-svn: 173115
2013-01-22 01:51:59 +00:00
NAKAMURA Takumi 73871f6632 clang/test/CodeGen/2006-01-13-StackSave.c: Nuke llvm's opt and llvm-dis, and FileCheck-ize.
@llvm.stacksave is emitted regardless of "opt -std-compile-opts". We have optimizers' tests in llvm/test/Transforms.

llvm-svn: 173114
2013-01-22 01:51:54 +00:00
NAKAMURA Takumi 3bb0aa7625 clang/test/CodeGen/blocks-seq.c: FileCheck-ize.
llvm-svn: 173113
2013-01-22 01:51:48 +00:00
Akira Hatanaka b2206e71e1 [mips] Enable inlining of atomic ops on mips32 and mips64.
llvm-svn: 172855
2013-01-18 21:58:11 +00:00
NAKAMURA Takumi d6a707f20e clang/test/CodeGen: Suppress a couple of tests on win32. It seems -fsanitize-blacklist doesn't accept DOSish pathnames.
llvm-svn: 172820
2013-01-18 14:11:04 +00:00
Will Dietz f54319c891 [ubsan] Add support for -fsanitize-blacklist
llvm-svn: 172808
2013-01-18 11:30:38 +00:00
Chad Rosier e343bc83f0 [ms-inline asm] Updates and test case for r172743.
Part of rdar://12576868

llvm-svn: 172744
2013-01-17 19:22:48 +00:00