Nadav Rotem
1da30944a6
Make clang to mark static stack allocations with lifetime markers to enable a more aggressive stack coloring.
...
Patch by John McCall with help by Shuxin Yang.
rdar://13115369
llvm-svn: 177819
2013-03-23 06:43:35 +00:00
Bill Wendling
b3b4a37138
Use RequireCompleteType() instead of isIncompleteType().
...
isIncompleteType() returns true or false for template types depending on whether
the type is instantiated yet. In this context, that's arbitrary. The better way
to check for a complete type is RequireCompleteType().
Thanks to Eli Friedman for noticing this!
<rdar://problem/12700799>
llvm-svn: 177768
2013-03-22 21:33:46 +00:00
Richard Smith
48366f7af9
ubsan: Pass floating-point arguments to the runtime by value if they fit the
...
value argument. If not, be sure we don't accidentally use a dynamic alloca.
llvm-svn: 177690
2013-03-22 00:47:07 +00:00
Manman Ren
8aa84081e9
Add more testing cases for tbaa.struct
...
Testing cases for structs of structs and unions of structs.
llvm-svn: 177612
2013-03-21 00:09:50 +00:00
Nick Lewycky
6f15b290b5
The flag "-coverage-function-names-in-data" is actually backwards -- we do
...
emit function names in .gcda files by default, and the flag turns that off!
Rename the flag to make it match what it actually does. This keeps the default
format compatible with gcc 4.2.
Also add a test for this flag.
llvm-svn: 177475
2013-03-20 02:14:38 +00:00
Chad Rosier
993bd120bc
Test case for r177439 and r177440.
...
llvm-svn: 177441
2013-03-19 21:12:57 +00:00
Chad Rosier
4f667e88d0
Update test for r177413.
...
llvm-svn: 177414
2013-03-19 17:32:36 +00:00
Richard Smith
4af40c4083
PR15383: When -fsanitize=float-cast-overflow checks a float-to-int conversion,
...
it wasn't taking into account that the float should be truncated *before* the
range check happens. Thus (unsigned)-0.99 and (unsigned char)255.9 have defined
behavior and should not be trapped.
llvm-svn: 177362
2013-03-19 00:01:12 +00:00
Chad Rosier
47abcf83a3
Test case for r177347.
...
llvm-svn: 177349
2013-03-18 23:32:33 +00:00
Bill Wendling
008322f2b0
Update testcase for r177340.
...
llvm-svn: 177344
2013-03-18 23:11:54 +00:00
Bill Wendling
169773f7c7
Really fix the MIPS test.
...
llvm-svn: 176991
2013-03-13 22:44:19 +00:00
Bill Wendling
282f3289d1
Attempt to fix test.
...
llvm-svn: 176987
2013-03-13 22:29:26 +00:00
Reed Kotler
3d5966f31b
Cause the mips16/nomips16 attribute to be passed to LLVM from Clang
...
in the LLVM assembly language output.
llvm-svn: 176971
2013-03-13 20:40:30 +00:00
Anton Yartsev
a3c9ba364e
PR15480: fixed second parameter types of vec_lde, vec_lvebx, vec_lvehx, and vec_lvewx according to AltiVec Programming Interface Manual
...
llvm-svn: 176789
2013-03-10 16:25:43 +00:00
Richard Smith
9b36209e31
When lexing in C11 mode, accept unicode character and string literals, per C11
...
6.4.4.4/1 and 6.4.5/1.
llvm-svn: 176780
2013-03-09 23:56:02 +00:00
John McCall
a8ec7eb9cf
Promote atomic type sizes up to a power of two, capped by
...
MaxAtomicPromoteWidth. Fix a ton of terrible bugs with
_Atomic types and (non-intrinsic-mediated) loads and stores
thereto.
llvm-svn: 176658
2013-03-07 21:37:17 +00:00
John McCall
bea4c3d8c4
Evaluate compound literals directly into the result aggregate
...
when that aggregate isn't potentially aliased.
llvm-svn: 176654
2013-03-07 21:36:54 +00:00
Alexey Samsonov
a1c0a2a2c6
[Sanitize] Don't emit function attribute sanitize_address/thread/memory if the function is blacklisted.
...
llvm-svn: 176550
2013-03-06 10:54:18 +00:00
Jack Carter
beaccddcba
Mips specific inline assembler constraint 'R'
...
'R' An address that can be sued in a non-macro load or store.
Including missing positive test case and fixed typo for r176453.
Thanks to Richard Smith for catching this!
Jack
llvm-svn: 176506
2013-03-05 19:10:54 +00:00
Jack Carter
427b404d0a
Mips specific inline assembler constraint 'R'
...
'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.
llvm-svn: 176453
2013-03-04 21:36:11 +00:00
David Chisnall
168a15188e
Remove unused check from test.
...
llvm-svn: 176422
2013-03-03 17:50:06 +00:00
David Chisnall
ef78c305fa
Improve C11 atomics support:
...
- Generate atomicrmw operations in most of the cases when it's sensible to do
so.
- Don't crash in several common cases (and hopefully don't crash in more of
them).
- Add some better tests.
We now generate significantly better code for things like:
_Atomic(int) x;
...
x++;
On MIPS, this now generates a 4-instruction ll/sc loop, where previously it
generated about 30 instructions in two nested loops. On x86-64, we generate a
single lock incl, instead of a lock cmpxchgl loop (one instruction instead of
ten).
llvm-svn: 176420
2013-03-03 16:02:42 +00:00
Bill Wendling
706469b453
Add more of the command line options as attribute flags.
...
These can be easily queried by the back-end.
llvm-svn: 176304
2013-02-28 22:49:57 +00:00
Bill Wendling
2386bb130c
Reapply r176133 with testcase fixes.
...
llvm-svn: 176145
2013-02-27 00:06:04 +00:00
Bill Wendling
d02fd83182
Fix testcases to not rely upon target-* attributes.
...
llvm-svn: 176135
2013-02-26 23:08:48 +00:00
Kostya Serebryany
4c0fc9931e
Unify clang/llvm attributes for asan/tsan/msan (Clang part)
...
These are two related changes (one in llvm, one in clang).
LLVM:
- rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
- rename thread_safety => sanitize_thread
- rename no_uninitialized_checks -> sanitize_memory
CLANG:
- add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
- add __attribute__((no_sanitize_thread))
- add __attribute__((no_sanitize_memory))
for S in address thread memory
If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
set llvm attribute sanitize_S
llvm-svn: 176076
2013-02-26 06:58:27 +00:00
Will Dietz
11d0a9f278
[ubsan] Emit single check for left shift.
...
Avoids warning twice on same shift.
llvm-svn: 176056
2013-02-25 22:37:49 +00:00
Anna Zaks
0f424b029b
Revert "Add more attributes from the command line to functions."
...
This reverts commit 176009.
The commit is a likely cause of several buildbot failures.
llvm-svn: 176044
2013-02-25 19:51:03 +00:00
Chad Rosier
1ef5d51ade
Add a front-end test case for r176036.
...
llvm-svn: 176038
2013-02-25 19:13:23 +00:00
Eric Christopher
e63c305b72
Add forgotten testcase.
...
llvm-svn: 176032
2013-02-25 18:19:32 +00:00
Bill Wendling
87869db5f5
Add more attributes from the command line to functions.
...
This is an ongoing process. Any command line option which a back-end cares about
should be added here.
llvm-svn: 176009
2013-02-25 07:15:16 +00:00
Logan Chien
5a5a96bfdc
Implement __builtin_eh_return_data_regno() for ARM and MIPS.
...
llvm-svn: 175954
2013-02-23 04:24:36 +00:00
John McCall
185b5ee708
Test that attribute(availability) doesn't override private_extern.
...
rdar://12399248
llvm-svn: 175943
2013-02-23 01:15:17 +00:00
Peter Collingbourne
47f9f2d1e6
Revert r175912, "Add support for coldcc to clang" at John's request.
...
llvm-svn: 175936
2013-02-23 00:06:18 +00:00
Bill Wendling
19457e282e
Update tests so that we don't test for function-only attributes on call sites.
...
llvm-svn: 175921
2013-02-22 21:12:51 +00:00
Peter Collingbourne
f32b3f2c55
Add support for coldcc to clang
...
llvm-svn: 175912
2013-02-22 19:24:35 +00:00
Bill Wendling
e1c4a1babd
Update to use references to attribute groups instead of listing the attributes on the call/invoke instructions.
...
llvm-svn: 175878
2013-02-22 09:10:20 +00:00
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