Andrew Trick
89fc5a6627
...in light of recent activity related to llvm.memcpy flags. I want to
...
prevent an llvm developer from mistakenly thinking that just because the
intrinsic has volatile flags that volatile operations can be converted
to or folded into them.
Platforms may rely on volatile loads and stores of natively supported
data width to be executed as single instruction. When compiling
C, this expectation likely holds for l-values of volatile primitive
types with native hardware support, but not necessarily for aggregate
types. The frontend upholds these expectations, which are not
specified in the IR.
llvm-svn: 173974
2013-01-30 21:19:35 +00:00
Hal Finkel
efb305e54c
Add definitions for the PPC a2q core marked as having QPX available
...
This is the first commit of a large series which will add support for the
QPX vector instruction set to the PowerPC backend. This instruction set is
used on the IBM Blue Gene/Q supercomputers.
llvm-svn: 173973
2013-01-30 21:17:42 +00:00
Eli Bendersky
0b85ba7d9e
Remove a mention of TargetInstrDescriptor, which no longer exists in the code
...
llvm-svn: 173971
2013-01-30 20:54:21 +00:00
Argyrios Kyrtzidis
a94bd438f8
Revert "[preprocessor] Don't warn about "disabled expansion of recursive macro""
...
This reverts commit r173952
llvm-svn: 173970
2013-01-30 20:42:17 +00:00
Sean Silva
1330eccb5f
[docs] Guide prospective TableGen backend writers.
...
Boilerplate is often the hardest part of getting started with these
kinds of things, so throw them a bone.
llvm-svn: 173969
2013-01-30 20:39:46 +00:00
Michael J. Spencer
b3c04d28c8
[ELF] Fix circular initialization bug.
...
llvm-svn: 173968
2013-01-30 20:36:56 +00:00
Michael J. Spencer
901fd6a4c8
[ELF] Use the target's LayoutHandler.
...
llvm-svn: 173966
2013-01-30 20:05:27 +00:00
Richard Trieu
90c31f51c6
Handle passing non-Qualtypes to %diff better. Instead of asserting, fall back
...
to printing the default case. This is a fix for PR15023.
llvm-svn: 173965
2013-01-30 20:04:31 +00:00
Tanya Lattner
0f86433efb
Add OpenCL error that a kernel function must have void return type. Includes a test case.
...
llvm-svn: 173963
2013-01-30 19:48:52 +00:00
Bill Wendling
866fc41060
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty.
...
llvm-svn: 173962
2013-01-30 19:39:21 +00:00
Jordan Rose
9588a02b77
Fix comment in test/Lexer/utf8-invalid.c for updates in r173959.
...
llvm-svn: 173961
2013-01-30 19:29:14 +00:00
Eli Bendersky
faf5e3e6b0
Clean up whitespace and indentation a bit
...
llvm-svn: 173960
2013-01-30 19:24:23 +00:00
Jordan Rose
f649795f84
Fix r173881 to properly skip invalid UTF-8 characters in raw lexing and -E.
...
This caused hangs as we processed the same invalid byte over and over.
<rdar://problem/13115651>
llvm-svn: 173959
2013-01-30 19:21:12 +00:00
Anna Zaks
c84d151892
[analyzer] Make shallow mode more shallow.
...
Redefine the shallow mode to inline all functions for which we have a
definite definition (ipa=inlining). However, only inline functions that
are up to 4 basic blocks large and cut the max exploded nodes generated
per top level function in half.
This makes shallow faster and allows us to keep inlining small
functions. For example, we would keep inlining wrapper functions and
constructors/destructors.
With the new shallow, it takes 104s to analyze sqlite3, whereas
the deep mode is 658s and previous shallow is 209s.
llvm-svn: 173958
2013-01-30 19:12:39 +00:00
Anna Zaks
66b9f1660e
[analyzer] Use analyzer config for max-inlinable-size option.
...
llvm-svn: 173957
2013-01-30 19:12:36 +00:00
Anna Zaks
be60830378
[analyzer] Move report false positive suppression to report visitors.
...
llvm-svn: 173956
2013-01-30 19:12:34 +00:00
Anna Zaks
70aa53180d
[analyzer] Remove further references to analyzer-ipa.
...
Thanks Jordan!
llvm-svn: 173955
2013-01-30 19:12:26 +00:00
Ted Kremenek
23813454e9
scan-build: When using Xcode 4.6, use build settings for doing proper build interposition.
...
llvm-svn: 173954
2013-01-30 19:10:24 +00:00
Ted Kremenek
f2ca8ec2b9
Hoist retrieval of Expr* into caller. No functionality change.
...
Just makes the code a little cleaner, and easier to reason about.
llvm-svn: 173953
2013-01-30 19:10:21 +00:00
Argyrios Kyrtzidis
8c8684bbe1
[preprocessor] Don't warn about "disabled expansion of recursive macro"
...
for "#define X X".
This is a pattern that, for example, stdbool.h uses.
rdar://12435773
llvm-svn: 173952
2013-01-30 18:55:52 +00:00
Jordan Rose
4cf4f8a5d4
[analyzer] Model trivial copy/move ctors with an aggregate bind.
...
This is faster for the analyzer to process than inlining the constructor
and performing a member-wise copy, and it also solves the problem of
warning when a partially-initialized POD struct is copied.
Before:
CGPoint p;
p.x = 0;
CGPoint p2 = p; <-- assigned value is garbage or undefined
After:
CGPoint p;
p.x = 0;
CGPoint p2 = p; // no-warning
This matches our behavior in C, where we don't see a field-by-field copy.
<rdar://problem/12305288>
llvm-svn: 173951
2013-01-30 18:16:06 +00:00
Dmitri Gribenko
2625cf06ff
Documentation: fix escaping in JSON example
...
llvm-svn: 173950
2013-01-30 17:58:39 +00:00
Dmitri Gribenko
b46dc57feb
Documentation: add a link to Bear, a tool to help with JSON DB
...
Patch by Laszlo Nagy
llvm-svn: 173949
2013-01-30 17:58:14 +00:00
James Dennett
a11a4e7ec6
Documentation: fix link to ExecuteAction(), which was previously typoed as
...
"ExecutionAction()".
llvm-svn: 173948
2013-01-30 17:53:07 +00:00
Enrico Granata
54f279fff6
<rdar://problem/12552374> & <rdar://problem/13100674>
...
The vtable pointer field is not necessarily a pointer and hence cannot be used for validation
llvm-svn: 173947
2013-01-30 17:44:16 +00:00
Manman Ren
81dcc62805
Linker: correctly link in dbg.declare
...
Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14 ), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27 , metadata !28 ), !dbg !29
!27 = metadata !{null}
With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27 ), !dbg !28
Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.
llvm-svn: 173946
2013-01-30 17:42:15 +00:00
Eli Bendersky
2e2ce49e59
Add a special ARM trap encoding for NaCl.
...
More details in this thread: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130128/163783.html
Patch by JF Bastien
llvm-svn: 173943
2013-01-30 16:30:19 +00:00
Shankar Easwaran
e07245cdfc
hexagon targetinfo changes for getting the relocation kind from string and vice versa
...
llvm-svn: 173942
2013-01-30 16:05:43 +00:00
Logan Chien
a436e4c7e4
Add missing header and test cases for r173939.
...
llvm-svn: 173941
2013-01-30 15:48:50 +00:00
Logan Chien
2bcc42c730
Override virtual function for ARM EH directives.
...
llvm-svn: 173939
2013-01-30 15:39:04 +00:00
Shankar Easwaran
ddb122811b
simplify hexagon relocations handling
...
llvm-svn: 173938
2013-01-30 15:38:41 +00:00
Dmitri Gribenko
aa073de21a
llvm/Basic/ConvertUTF.h now exposes all functions without macro tricks
...
llvm-svn: 173937
2013-01-30 15:12:30 +00:00
Dmitri Gribenko
3c5210b2b8
LLDB uses ConvertUTF16toUTF8, remove #ifdef
...
llvm-svn: 173936
2013-01-30 15:10:12 +00:00
Dmitri Gribenko
024aa8539f
UTF conversion routines were moved from clang/Basic to llvm/Support
...
llvm-svn: 173935
2013-01-30 15:05:59 +00:00
Dmitri Gribenko
efe3038fbf
Comment parsing: fold named character references test into other HTML tests
...
llvm-svn: 173934
2013-01-30 14:44:47 +00:00
Dmitry Vyukov
00e0236665
asan/tsan: manually define FUTEX constants, because <linux/futes.h> header is broken on some linux distributions
...
llvm-svn: 173933
2013-01-30 14:39:27 +00:00
Dmitry Vyukov
087efd23d6
tsan: fix CPP_WEAK definition (it must be the other way around)
...
llvm-svn: 173932
2013-01-30 14:38:44 +00:00
Dmitri Gribenko
28800da1b3
Comment parsing: resolve more named character references
...
This reimplements r173850 with a better approach:
(1) use a TableGen-generated matcher instead of doing a linear search;
(2) avoid allocations for new strings by converting code points to string
iterals with TableGen.
llvm-svn: 173931
2013-01-30 14:29:28 +00:00
Alexey Samsonov
32832e6176
[Sanitizer] include sanitizer_common headers when building interception library
...
llvm-svn: 173930
2013-01-30 14:27:41 +00:00
Alexey Samsonov
c500132a93
[Sanitizer] Add change missed in r173926
...
llvm-svn: 173929
2013-01-30 13:19:15 +00:00
Evgeniy Stepanov
358698279d
[sanitizer] Further split private and public sanitizer headers.
...
And make msan_interface.h C-compatible.
llvm-svn: 173928
2013-01-30 13:12:08 +00:00
Dmitri Gribenko
b1c1f90314
Revert unintended change
...
llvm-svn: 173927
2013-01-30 12:40:40 +00:00
Alexey Samsonov
0d92533b29
Use LLVM_BUILD_TYPE instead of CMAKE_BUILD_TYPE in compiler-rt unit tests to match the behavior of llvm unittests
...
llvm-svn: 173926
2013-01-30 12:18:49 +00:00
Dmitri Gribenko
37bf6d9c4d
Index/special-html-characters.m: mark this as XFAIL for valgrind
...
Fix is being discussed on cfe-dev.
llvm-svn: 173925
2013-01-30 12:17:33 +00:00
Dmitri Gribenko
9feeef40f5
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support
...
This is required to use them in TableGen.
llvm-svn: 173924
2013-01-30 12:06:08 +00:00
Dmitri Gribenko
b311f4e84a
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support
...
This is required to use them in TableGen.
llvm-svn: 173923
2013-01-30 12:05:05 +00:00
Michael J. Spencer
23d23953b3
[ELF][x86-64] Add TargetLayout.
...
llvm-svn: 173922
2013-01-30 10:43:25 +00:00
Michael J. Spencer
8254185eea
Whitespace.
...
llvm-svn: 173921
2013-01-30 10:43:10 +00:00
Evgeniy Stepanov
5725e5b715
[msan] Remove an extra #ifdef.
...
__has_feature is always defined at this point.
llvm-svn: 173920
2013-01-30 09:56:11 +00:00
Daniel Jasper
21cdc848f4
Don't touch unchanged file for in-place edit.
...
This fixes llvm.org/PR15087.
llvm-svn: 173919
2013-01-30 09:52:38 +00:00