Hal Finkel
b58ce85ecc
Add -mqpx and -mno-qpx feature flags to toggle use of the PPC QPX vector instruction set
...
I've renamed the altivec test to ppc-features (because now there is more than one feature to test).
llvm-svn: 174204
2013-02-01 18:44:19 +00:00
Chad Rosier
dbf46a16c7
[driver] Don't try to generate diagnostic information for dsymutil crashes.
...
Part of rdar://13134273
llvm-svn: 174203
2013-02-01 18:30:26 +00:00
Alexander Kornienko
b98f6e5bd0
Micro change: moved '{' for better readability (+don't confuse -Wimplicit-fallthrough)
...
llvm-svn: 174202
2013-02-01 18:28:04 +00:00
Dmitri Gribenko
d2f96ef091
Fix indent
...
llvm-svn: 174201
2013-02-01 18:18:00 +00:00
Shankar Easwaran
a47495898c
remove duplicate strings from the string table
...
llvm-svn: 174200
2013-02-01 18:06:15 +00:00
Shankar Easwaran
d476528e3d
add alignment to .got/.got.plt/.plt sections & fix tests
...
llvm-svn: 174199
2013-02-01 18:03:32 +00:00
Chad Rosier
12d7800a9b
Use a continue to simplify loop and reduce indentation. No functional change.
...
llvm-svn: 174198
2013-02-01 17:49:07 +00:00
Dmitri Gribenko
f7d563c160
Fix comments: these are not trailing comments
...
llvm-svn: 174197
2013-02-01 17:25:11 +00:00
Jyotsna Verma
10f5c2db4e
Hexagon: Test case to confirm generation of indexed loads with zero offset.
...
llvm-svn: 174196
2013-02-01 16:40:06 +00:00
Dmitri Gribenko
946aca8524
libclang: document the purpose of createNull()
...
llvm-svn: 174195
2013-02-01 16:38:41 +00:00
Dmitri Gribenko
74f3e1e028
libclang: add comments for CXStringFlag
...
llvm-svn: 174194
2013-02-01 16:36:31 +00:00
Jyotsna Verma
2ceafa6684
Replace LDriu*[bhdw]_indexed_V4 instructions with "def Pats".
...
llvm-svn: 174193
2013-02-01 16:36:16 +00:00
Argyrios Kyrtzidis
71c1af8760
[modules] Introduce ModuleFile::DirectImportLoc which is the source location
...
where the module was explicitly or implicitly imported in the local translation unit.
llvm-svn: 174192
2013-02-01 16:36:14 +00:00
Argyrios Kyrtzidis
125df0589b
For ModuleLoader::makeModuleVisible() also pass the source location where the
...
module import occurred.
llvm-svn: 174191
2013-02-01 16:36:12 +00:00
Argyrios Kyrtzidis
22c22f5f9a
Introduce SourceManager::PredefinesFileID, to allow each checking of whether
...
a source location came from the predefines buffer.
llvm-svn: 174190
2013-02-01 16:36:07 +00:00
Alexey Samsonov
4985b8766e
[Sanitizer] use u32 instead of mode_t, which is defined in Darwin headers
...
llvm-svn: 174189
2013-02-01 16:32:18 +00:00
Alexey Samsonov
2e50809961
[ASan] remove debug output from the test
...
llvm-svn: 174188
2013-02-01 16:06:25 +00:00
Alexey Samsonov
39313b780d
[Sanitizer] make internal_open have the same interface as libc version
...
llvm-svn: 174187
2013-02-01 15:58:46 +00:00
Jyotsna Verma
d6eda1c227
Add appropriate TSFlags to the instructions that must be always extended.
...
llvm-svn: 174186
2013-02-01 15:54:43 +00:00
Bill Schmidt
b02158d474
Add check for @foo
...
llvm-svn: 174185
2013-02-01 15:52:51 +00:00
Dmitry Vyukov
1fab680c1b
tsan: catch races on fd in more cases
...
llvm-svn: 174184
2013-02-01 15:52:35 +00:00
Bill Schmidt
3e439e4223
Fix a string not seen without asserts
...
llvm-svn: 174183
2013-02-01 15:41:02 +00:00
Alexander Kornienko
527fa4f24f
Fixed segmentation fault when a CFGBlock has NULL successor.
...
llvm-svn: 174182
2013-02-01 15:39:20 +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
Alexey Samsonov
84cf6a4333
[TSan] remove artifacts from gotsan build in 'make clean' command
...
llvm-svn: 174180
2013-02-01 15:30:36 +00:00
Benjamin Kramer
c05aa958b1
InstSimplify: stripAndComputeConstantOffsets can be called with vectors of pointers too.
...
Prepare it for vectors of pointers and handle simple cases. We don't handle
complicated cases because accumulateConstantOffset bails on pointer vectors.
Fixes selfhost on i386.
llvm-svn: 174179
2013-02-01 15:21:10 +00:00
Shankar Easwaran
f23fc86ca8
add proper copyright header
...
llvm-svn: 174178
2013-02-01 15:05:11 +00:00
Tim Northover
111b6cb37b
Remove currently unused register decoder from AArch64.
...
This should fix a warning when building this backend.
llvm-svn: 174177
2013-02-01 14:55:05 +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
Dmitry Vyukov
87c6bb9716
tsan: even if races between atomic and plain memory accesses are turned off (report_atomic_races=0),
...
still report races between atomic accesses and free().
llvm-svn: 174175
2013-02-01 14:41:58 +00:00
Dmitri Gribenko
36a6dd04ef
libclang: itroduce cxstring::createEmpty()
...
llvm-svn: 174174
2013-02-01 14:21:22 +00:00
Dmitri Gribenko
f98dfbae94
libclang: introduce cxstring::createNull()
...
llvm-svn: 174173
2013-02-01 14:13:32 +00:00
Manuel Klimek
191c093af1
Re-design the convenience interfaces on MatchFinder.
...
First, this implements a match() method on MatchFinder; this allows us
to get rid of the findAll implementation, as findAll is really a special
case of recursive matchers on match.
Instead of findAll, provide a convenience function match() that lets
users iterate easily over the results instead of needing to implement
callbacks.
llvm-svn: 174172
2013-02-01 13:41:35 +00:00
Alexander Kornienko
540bacb1b9
Use const visitors in ASTDumper.
...
http://llvm-reviews.chandlerc.com/D355
Patch by Philip Craig!
llvm-svn: 174171
2013-02-01 12:35:51 +00:00
Tim Northover
e3d4236402
Add explicit triples to AArch64 tests
...
Only Linux is supported at the moment, and other platforms quickly fault. As a
result these tests would fail on non-Linux hosts. It may be worth making the
tests more generic again as more platforms are supported.
llvm-svn: 174170
2013-02-01 11:40:47 +00:00
Daniel Jasper
83d4e783b0
Hopefully fix windows build due to non-standard pair implementation.
...
llvm-svn: 174169
2013-02-01 11:28:16 +00:00
Dmitry Vyukov
628df38e95
tsan: say that the memory access is atomic in reports
...
llvm-svn: 174168
2013-02-01 11:10:53 +00:00
Dmitry Vyukov
aa6af4ddd1
tsan: remember 2 stack frames for atomics (caller and atomic itself)
...
llvm-svn: 174167
2013-02-01 11:01:17 +00:00
Daniel Jasper
4b866274c3
Revamp of the basic layouting algorithm in clang-format.
...
In order to end up with good solutions, clang-format needs to try
"all" combinations of line breaks, evaluate them and select the
best one. Before, we have done this using a DFS with memoization
and cut-off conditions. However, this approach is very limited
as shown by the huge static initializer in the attachment of
llvm.org/PR14959.
Instead, this new implementation uses a variant of Dijkstra's
algorithm to do a prioritized BFS over the solution space.
Some numbers:
lib/Format/TokenAnnotator.cpp: 1.5s -> 0.15s
Attachment of PR14959: 10min+ (didn't finish) -> 10s
No functional changes intended.
llvm-svn: 174166
2013-02-01 11:00:45 +00:00
Dmitry Vyukov
52f0e4e1a0
tsan: add flag to not report races between atomic and plain memory accesses
...
llvm-svn: 174165
2013-02-01 10:06:56 +00:00
Dmitry Vyukov
71242b064e
tsan: flip is_write bit in shadow to is_read
...
this makes calculation of interesting predicates faster
llvm-svn: 174164
2013-02-01 10:02:55 +00:00
Dmitry Vyukov
ba4291480d
tsan: detect races between plain and atomic memory accesses
...
llvm-svn: 174163
2013-02-01 09:42:06 +00:00
Michael J. Spencer
18950a174e
[Docs] Update status :)
...
llvm-svn: 174162
2013-02-01 09:20:24 +00:00
Michael J. Spencer
08b49bf27e
[ELF][x86-64] Fix ifunc and add test.
...
In an previous commit I managed to completely disable the IRELATIVE relocation
writing code. I also used the wrong addend for the static relocation. Fix both
these issues and add a test. This test is quite brittle because there's no way
to do arithmetic on variables in FileCheck.
llvm-svn: 174161
2013-02-01 09:14:21 +00:00
Richard Smith
9eaab4be04
Fix diagnostic for bad alignas use: it can't be applied to functions.
...
llvm-svn: 174160
2013-02-01 08:25:07 +00:00
Nick Lewycky
9c7eb1d887
Add a new -Wundefined-inline warning for inline functions which are used but not
...
defined. Fixes PR14993!
llvm-svn: 174158
2013-02-01 08:13:20 +00:00
Richard Smith
848e1f1960
Implement [dcl.align]p5 and C11 6.7.5/4: alignas cannot underalign.
...
Also support alignas(0), which C++11 and C11 require us to ignore.
llvm-svn: 174157
2013-02-01 08:12:08 +00:00
Nadav Rotem
4349f6963e
Revert r174152. The shift amount may overflow and in that case this transformation is illegal.
...
llvm-svn: 174156
2013-02-01 07:59:33 +00:00
Michael J. Spencer
b5d6f5e988
[ELF][x86-64] Implement static relocation model for TLS.
...
This implements the static relocation model for GOT accesses to TLS.
llvm-svn: 174155
2013-02-01 07:14:14 +00:00
Michael J. Spencer
b0ed8e80d8
[ELF][x86-84] Add static TLS support.
...
llvm-svn: 174154
2013-02-01 07:13:49 +00:00