Commit Graph

222523 Commits

Author SHA1 Message Date
Chad Rosier c46ef8876b [AArch64] Remove redundant calls and clang format. NFC.
llvm-svn: 260260
2016-02-09 19:33:42 +00:00
Colin LeMahieu 1c79d9be6e [Hexagon] Fixing relocation generation and adding tests.
llvm-svn: 260259
2016-02-09 19:18:02 +00:00
Colin LeMahieu ea211422ba [MC] Adding GOTREL expression variant.
llvm-svn: 260258
2016-02-09 19:17:34 +00:00
Chad Rosier 11eedc98af [AArch64] Hoist now common logic. NFC.
llvm-svn: 260257
2016-02-09 19:17:18 +00:00
Chad Rosier d7363db659 [AArch64] Rename variable to make it clear we're merging here, not pairing.
llvm-svn: 260256
2016-02-09 19:09:22 +00:00
Argyrios Kyrtzidis ca4ad1937c [libclang] indexing: make sure to not visit init-list expressions twice.
llvm-svn: 260255
2016-02-09 19:07:24 +00:00
Argyrios Kyrtzidis 49385e8bd5 [libclang] indexing: handle 'TopLevelDeclInObjCContainers' at the point where they are reported.
It isn't much benefit and doesn't worth the complexity to try to handle them after the container is encountered.

llvm-svn: 260254
2016-02-09 19:07:21 +00:00
Argyrios Kyrtzidis a4cffec19e [libclang] indexing: for a synthesized property reference have the parent be the ObjC implementation decl.
llvm-svn: 260253
2016-02-09 19:07:19 +00:00
Argyrios Kyrtzidis 4c3131d6eb [Frontend] Handle ASTConsumer::shouldSkipFunctionBody via the MultiplexConsumer.
llvm-svn: 260252
2016-02-09 19:07:16 +00:00
Argyrios Kyrtzidis c382abfd73 [ASTUnit] Change the parameter of ASTUnit::LoadFromCompilerInvocationAction to accept a more general FrontendAction.
llvm-svn: 260251
2016-02-09 19:07:13 +00:00
Argyrios Kyrtzidis af75b19736 [libclang] indexing: Have the semantic container of synthesized ObjC getter/setter methods be the implementation decl.
Matches the behavior of other ObjC methods.

llvm-svn: 260250
2016-02-09 19:07:07 +00:00
Chad Rosier b5933d7bde [AArch64] Separage the codegen logic for widening vs. pairing. NFC.
llvm-svn: 260249
2016-02-09 19:02:12 +00:00
Pete Cooper 35c3318edc Aligned __stub_helper section to 4-bytes.
ld64 aligns most of the stub's to 2 byte alignment, expect for
the stub helper common atoms which are 4 byte aligned.

This adds a new field to StubInfo which tracks this alignment
and ensures that this is the alignment we get in the final image.

rdar://problem/24570220

llvm-svn: 260248
2016-02-09 18:56:37 +00:00
Jim Ingham cc3a4595f7 Mention the --all-files option in the -p help string.
llvm-svn: 260247
2016-02-09 18:53:49 +00:00
David Blaikie 2eabcc988f Simplify EnterTokenStream API to make it more robust for memory management
While this won't help fix things like the bug that r260219 addressed, it
seems like good tidy up to have anyway.

(it might be nice if "makeArrayRef" always produced a MutableArrayRef &
let it decay to an ArrayRef when needed - then I'd use that for the
MutableArrayRefs in this patch)

If we had std::dynarray I'd use that instead of unique_ptr+size_t,
ideally (but then it'd have to be threaded down through the Preprocessor
all the way - no idea how painful that would be)

llvm-svn: 260246
2016-02-09 18:52:09 +00:00
Simon Atanasyan cb1175c7db [llvm-readobj][ELF] Show MIPS GOT content when there is another zero-sized section at the same address
It is possible to have .got section and one or more zero-sized section
at the same address. This patch first checks that GOT (or GOT PLT)
section should have non-zero size using corresponding dynamic tags. Then
it looks up not empty section at the specified address.

Differential Revision: http://reviews.llvm.org/D16968

llvm-svn: 260245
2016-02-09 18:45:35 +00:00
Sanjoy Das 10c8a04b80 [FunctionAttrs] Fix SCC logic around operand bundles
FunctionAttrs does an "optimistic" analysis of SCCs as a unit, which
means normally it is able to disregard calls from an SCC into itself.
However, calls and invokes with operand bundles are allowed to have
memory effects not fully described by the memory effects on the call
target, so we can't be optimistic around operand-bundled calls from an
SCC into itself.

llvm-svn: 260244
2016-02-09 18:40:40 +00:00
Kevin Enderby 2058e9dff0 Fix a formatting problems with llvm-size and the -m option.
It was using format() with a string for 64-bit types but was
passed a 32-bit type in places when printing values for
32-bit Mach-O files.

rdar://24542509

llvm-svn: 260243
2016-02-09 18:33:15 +00:00
Chad Rosier 24c46ad50f [AArch64] Cleanup to simplify logic when widening vs. pairing loads/stores. NFC.
The logic to pair instructions and merge narrow instructions has become cloogy
and error prone.  This patch beings to unravel these two similar, but distinct
optimizations.

llvm-svn: 260242
2016-02-09 18:10:20 +00:00
Reid Kleckner d809be40d2 Revert "Avoid forcing emission of delayed dllexported classes on template instantiation"
This reverts commit r260194.

It caused PR26549. There's probably a better way to do this also.

llvm-svn: 260241
2016-02-09 17:48:27 +00:00
Sanjay Patel 62dde825d8 [x86] make getOneTrueElt() a helper function ; NFC
As mentioned in http://reviews.llvm.org/D16828 , the related masked load transform
will need this logic, so I'm moving it out to make that patch smaller.

llvm-svn: 260240
2016-02-09 17:39:58 +00:00
Pavel Labath b625a0e1bc Fix invalid shift operator overload in Scalar
Summary: This also fixes an infinite recursion between lldb_private::operator>> () and Scalar::operator>>= ().

Reviewers: sagar, tberghammer, labath

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D16868

Patch by Marianne Mailhot-Sarrasin

llvm-svn: 260239
2016-02-09 17:28:01 +00:00
David Majnemer 470ee61e01 [MS ABI] Cleanup emitVTableDefinitions
Use the VFTable components to determine whether or not we should emit
RTTI data instead of duplicating the VFTableBuilder's logic.

llvm-svn: 260238
2016-02-09 17:27:52 +00:00
Vasileios Kalintiris cca79b8700 Introduce a cmake module to figure out whether we need to link with libatomic.
Summary:
This fixes the tests under std/atomics for 32-bit MIPS CPUs where the
8-byte atomic operations call into the libatomic library.

Reviewers: dsanders, mclow.lists, EricWF, jroelofs, joerg

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D16613

llvm-svn: 260235
2016-02-09 17:00:38 +00:00
Daniel Sanders f6678a635c [lsan] Run the tests for each supported arch and suffix each one to distinguish them.
Summary:
Previously, the tests only ran for the 64-bit equivalent of the default target
(see -m64).
Given the supported architecture list only contains 64-bit targets, this happens
to work out the same as the supported targets in most cases but may matter for
X86_64/X86_64h on Darwin.

For other targets, the practical effect is that the test names contain the
architecture. This resolves some confusion when lsan tests fail since their
name no longer implies that they are trying to test the default target.

Reviewers: samsonov

Subscribers: tberghammer, danalbert, llvm-commits, srhines

Differential Revision: http://reviews.llvm.org/D16859

llvm-svn: 260232
2016-02-09 16:22:39 +00:00
Daniel Sanders 922f95ce4b [dfsan] Run the tests for each supported arch and suffix each one to distinguish them.
Summary:
Previously, the tests only ran for the 64-bit equivalent of the default target
(see -m64).
Given the supported architecture list only contains 64-bit targets, this happens
to work out the same as the supported targets in most cases but may matter for
X86_64/X86_64h on Darwin.

For other targets, the practical effect is that the test names contain the
architecture. This resolves some confusion when msan tests fail since their
name no longer implies that they are trying to test the default target.

Reviewers: samsonov

Subscribers: tberghammer, danalbert, llvm-commits, srhines

Differential Revision: http://reviews.llvm.org/D16856

llvm-svn: 260231
2016-02-09 16:20:37 +00:00
Daniel Sanders 958d69e0fc [msan] Run the tests for each supported arch and suffix each one to distinguish them.
Summary:
Previously, the tests only ran for the 64-bit equivalent of the default target
(see -m64).
Given the supported architecture list only contains 64-bit targets, this happens
to work out the same as the supported targets in most cases but may matter for
X86_64/X86_64h on Darwin.

For other targets, the practical effect is that the test names contain the
architecture. This resolves some confusion when msan tests fail since their
name no longer implies that they are trying to test the default target.

Reviewers: samsonov

Subscribers: tberghammer, danalbert, srhines, llvm-commits

Differential Revision: http://reviews.llvm.org/D16855

llvm-svn: 260230
2016-02-09 16:18:15 +00:00
Daniel Sanders f1884ccb59 [sanitizer_common] Correct the nits that should have been committed as part of r260227.
llvm-svn: 260229
2016-02-09 16:14:31 +00:00
Chad Rosier 5c6a66ce34 [AArch64] Rename variable to improve readability. NFC.
llvm-svn: 260228
2016-02-09 15:59:57 +00:00
Daniel Sanders 07f854e726 [sanitizer_common] Add suffix to lit testsuite name to distinguish subtargets.
Summary:
This fixes duplicate test names in the test results, so:
  PASS: SanitizerCommon-asan :: fopen_nullptr.c (304 of 431)
  PASS: SanitizerCommon-asan :: fopen_nullptr.c (305 of 431)
is now:
  PASS: SanitizerCommon-asan-i386-Linux :: fopen_nullptr.c (282 of 431)             
  PASS: SanitizerCommon-asan-x86_64-Linux :: fopen_nullptr.c (316 of 431)

Reviewers: samsonov

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D16850

llvm-svn: 260227
2016-02-09 15:52:35 +00:00
Chad Rosier 4f28e50dc8 [AArch64] Remove stale comment.
llvm-svn: 260226
2016-02-09 15:51:33 +00:00
Daniel Marjamaki 4d228679df [clang-tidy] Add -target in misc-misplaced-widening-cast test so it will work on various bots
llvm-svn: 260225
2016-02-09 15:43:05 +00:00
Rafael Espindola a0a65f973a Use the plt entry as the address of some symbols.
This is the function equivalent of a copy relocation.

Since functions are expected to change sizes, we cannot use copy
relocations. In situations where one would be needed, what is done
instead is:
* Create a plt entry
* Output an undefined symbol whose addr is the plt entry.

The dynamic linker makes sure any shared library uses the plt entry as
the function address.

llvm-svn: 260224
2016-02-09 15:11:01 +00:00
Daniel Marjamaki ad3293744a [clang-tidy] Add 'misc-misplaced-widening-cast' check.
Reviewers: alexfh

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D16310

llvm-svn: 260223
2016-02-09 14:08:49 +00:00
Aaron Ballman 880a65bba5 Registering the gnuNullExpr AST matcher as a dynamic matcher so that it is available from clang-query.
llvm-svn: 260222
2016-02-09 14:04:49 +00:00
Teresa Johnson eb74c2aa3b Fix comment for MD5Hash.
llvm-svn: 260221
2016-02-09 13:28:44 +00:00
Alexey Bataev 6e2ee6dbbf [OPENMP] Fix test incompatibility with arm buildbots.
llvm-svn: 260220
2016-02-09 12:16:42 +00:00
Alexey Bataev 56f5ad161a Fix possible OOB access found by buildbot
llvm-svn: 260219
2016-02-09 11:01:58 +00:00
Manuel Klimek de99290e0a Add AST matcher reference to documentation directory when building HTML docs.
llvm-svn: 260218
2016-02-09 10:59:21 +00:00
Gabor Horvath f7c39d56b6 [clang-tidy] Make readability-container-size-empty work with inline namespaces. Fix PR25812.
llvm-svn: 260217
2016-02-09 10:20:48 +00:00
Tamas Berghammer bf8f8073dc Fix a typo in an xfail decorator in TestExprsChar
llvm-svn: 260216
2016-02-09 10:10:42 +00:00
Alexey Bataev 13b509cd92 [OPENMP] Allow to use the variable in the same 'threadprivate'
directive.

llvm-svn: 260215
2016-02-09 09:41:42 +00:00
Alexey Bataev 3e6c45a41c Do not mark variable as threadprivate if it was marked already.
llvm-svn: 260214
2016-02-09 09:41:33 +00:00
Alexey Bataev 376b4a4690 [OPENMP] Allow to reference threadprivate variable in same directive.
llvm-svn: 260213
2016-02-09 09:41:09 +00:00
Gabor Horvath a4fd3beaa2 [clang-tidy] Replace a custom ASTMatcher with a built-in one.
llvm-svn: 260212
2016-02-09 09:26:11 +00:00
Alexey Bataev 6ee07eab03 Fixed preprocessed output of the first token for pragmas.
Clang did not expanded macros in the very first token of the pragmas
during preprocessed output

llvm-svn: 260211
2016-02-09 08:51:26 +00:00
Simon Pilgrim 7e671e06a2 [X86][AVX2] Fix SIGN_EXTEND vector handling on AVX2 targets.
On AVX2 target we are poorly legalizing SIGN_EXTEND ops for which the input's legalized type doesn't have the same number of elements as the destination, resulting in an ANY_EXTEND followed by a SIGN_EXTEND_INREG.

This patch uses the existing SIGN_EXTEND -> SIGN_EXTEND_VECTOR_INREG combine to extend the input to the size of the result and using SIGN_EXTEND_VECTOR_INREG instead.

Differential Revision: http://reviews.llvm.org/D16994

llvm-svn: 260210
2016-02-09 08:19:19 +00:00
NAKAMURA Takumi 3725978b10 lld/test/mach-o/dependency_info.yaml: Forgot to remove XFAIL:win32.
llvm-svn: 260209
2016-02-09 07:44:10 +00:00
NAKAMURA Takumi 9eee62f558 lld/test/mach-o/dependency_info.yaml: Tweak for dos path.
llvm-svn: 260208
2016-02-09 07:30:24 +00:00
NAKAMURA Takumi 127295492d check-lld: Introduce %python.
llvm-svn: 260207
2016-02-09 07:30:18 +00:00