platform/upstream/llvm.git
8 years agoPR26349: correctly check whether a digit sequence is empty in the presence of digit...
Richard Smith [Tue, 9 Feb 2016 22:34:35 +0000 (22:34 +0000)]
PR26349: correctly check whether a digit sequence is empty in the presence of digit separators.

llvm-svn: 260307

8 years agoProxy task fix: task_state stack push condition on fork
Jonathan Peyton [Tue, 9 Feb 2016 22:32:41 +0000 (22:32 +0000)]
Proxy task fix: task_state stack push condition on fork

The problem is that the master's thread state was not saved before entering a
parallel region so it does not remember tasks when it returns.

llvm-svn: 260306

8 years ago[mips] Extend MipsAsmParser class to handle %got(sym + const) expressions
Simon Atanasyan [Tue, 9 Feb 2016 22:31:49 +0000 (22:31 +0000)]
[mips] Extend MipsAsmParser class to handle %got(sym + const) expressions

Now the parser supports `%got(sym)` expressions only but `%got(sym + const)`
variant is also valid and accepted by GAS.

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

llvm-svn: 260305

8 years agoconfigure: Remove llvm 3.6 defines
Jan Vesely [Tue, 9 Feb 2016 22:17:48 +0000 (22:17 +0000)]
configure: Remove llvm 3.6 defines

we require llvm 3.7

reviewer: tstellard
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 260304

8 years agoconfigure: Remove cl_khr_fp64 for device that don't support doubles
Jan Vesely [Tue, 9 Feb 2016 22:17:46 +0000 (22:17 +0000)]
configure: Remove cl_khr_fp64 for device that don't support doubles

Also remove definitions if provided by clang (3.7+)
This halves the size of builtin.opt.{cedar,barts}.bc

reviewer: tstellard
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 260303

8 years agoconfigure: Introduce per device defines
Jan Vesely [Tue, 9 Feb 2016 22:17:45 +0000 (22:17 +0000)]
configure: Introduce per device defines

Make cl_khr_fp64 define per-device.
This patch does not change the generated Makefile (for llvm 3.6, 3.7)

v2: Make the device defines per LLVM version, 'all' for all versions

reviewer: tstellard
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 260302

8 years agomath: Fix log2 vectorization on non-fp64 hw
Jan Vesely [Tue, 9 Feb 2016 22:17:42 +0000 (22:17 +0000)]
math: Fix log2 vectorization on non-fp64 hw

reviewer: tstellard
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 260301

8 years agoHave Mac builds use @rpath when supported in CMake
Jonathan Peyton [Tue, 9 Feb 2016 22:15:30 +0000 (22:15 +0000)]
Have Mac builds use @rpath when supported in CMake

The -install_name linker flag will use "@rpath/" when supported in CMake
which is the recommended usage for dynamic libraries on Mac OSX.

llvm-svn: 260300

8 years agoDon't complete a class type just to test if it is a class. Code in CompilerType and...
Greg Clayton [Tue, 9 Feb 2016 22:09:26 +0000 (22:09 +0000)]
Don't complete a class type just to test if it is a class. Code in CompilerType and in clang::QualType knows how to complete a type if it needs to.

llvm-svn: 260299

8 years ago[MemoryBuiltins] Fix an issue with hasNoAliasAttr
Sanjoy Das [Tue, 9 Feb 2016 21:54:18 +0000 (21:54 +0000)]
[MemoryBuiltins] Fix an issue with hasNoAliasAttr

Summary:
`hasNoAliasAttr` is buggy: it checks to see if the called function has
a `noalias` attribute, which is incorrect since functions are not even
allowed to have the `noalias` attribute.  The comment on its only
caller, `llvm::isNoAliasFn`, makes it pretty clear that the intention
to do the `noalias` check on the return value, and not the callee.

Unfortunately I couldn't find a way to test this upstream -- fixing
this does not change the observable behavior of any of the passes that
use this.  This is not very surprising, since `noalias` does not tell
anything about the contents of the allocated memory (so, e.g., you
still cannot fold loads).  I'll be happy to be proven wrong though.

Reviewers: chandlerc, reames

Subscribers: mcrosier, llvm-commits

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

llvm-svn: 260298

8 years agoELF: Add 'using namespace llvm::dwarf'.
Rui Ueyama [Tue, 9 Feb 2016 21:46:11 +0000 (21:46 +0000)]
ELF: Add 'using namespace llvm::dwarf'.

Most constants defined in llvm::dwarf namespace start with "DW_".
We don't have to worry about name conflicts.

llvm-svn: 260297

8 years ago[Verifier] Add checks for masked.load and masked.store intrinsics
Philip Reames [Tue, 9 Feb 2016 21:43:12 +0000 (21:43 +0000)]
[Verifier] Add checks for masked.load and masked.store intrinsics

While trying to track down what appears to be a LoopVectorizer bug, I noticed that we had no validation of the correctness of calls emitted to @llvm.masked.load and @llvm.masked.store.  This meant malformed IR was showing up much much later than it should.  Hopefully, having Verifier rules in place will make this easier to isolate.

llvm-svn: 260296

8 years ago[SelectionDAG] make getMemBasePlusOffset() accessible; NFCI
Sanjay Patel [Tue, 9 Feb 2016 21:42:04 +0000 (21:42 +0000)]
[SelectionDAG] make getMemBasePlusOffset() accessible; NFCI

I reinvented this functionality in http://reviews.llvm.org/D16828 because it was
hidden away as a static function. The changes in x86 are not based on a complete
audit. I suspect there are other possible uses there, and there are almost certainly
more potential users in other targets.

llvm-svn: 260295

8 years agoELF: Add .eh_frame 'P', 'R' and 'L' augmentation characters.
Rui Ueyama [Tue, 9 Feb 2016 21:41:01 +0000 (21:41 +0000)]
ELF: Add .eh_frame 'P', 'R' and 'L' augmentation characters.

This basically reverts commit r260073 because it is found that
augmentation strings don't always start with "zR". It is reported
as https://llvm.org/bugs/show_bug.cgi?id=26541.

llvm-svn: 260294

8 years agoThis brings back commit r259578.
Rafael Espindola [Tue, 9 Feb 2016 21:39:49 +0000 (21:39 +0000)]
This brings back commit r259578.

But now it follows the llvm style, uses an early return and doesn't
include a file named 1.o.

llvm-svn: 260293

8 years agoFix incorrect usage of `str` in _match_decorator_property.
Zachary Turner [Tue, 9 Feb 2016 21:36:38 +0000 (21:36 +0000)]
Fix incorrect usage of `str` in _match_decorator_property.

llvm-svn: 260292

8 years agoRemove skipIf<compiler> decorators.
Zachary Turner [Tue, 9 Feb 2016 21:36:32 +0000 (21:36 +0000)]
Remove skipIf<compiler> decorators.

These were supposed to have been removed in a previous patch,
but I missed them.

llvm-svn: 260291

8 years agoRemove decorators related to debug info types.
Zachary Turner [Tue, 9 Feb 2016 21:36:23 +0000 (21:36 +0000)]
Remove decorators related to debug info types.

All existing usages were ported over to the common decorators.

llvm-svn: 260290

8 years agoDelete all the xfail / skip decorators for specific compilers.
Zachary Turner [Tue, 9 Feb 2016 21:36:15 +0000 (21:36 +0000)]
Delete all the xfail / skip decorators for specific compilers.

Ported everything over to using expectedFailureAll.

llvm-svn: 260289

8 years agoRemove expected failure and skip decorators for host os.
Zachary Turner [Tue, 9 Feb 2016 21:36:02 +0000 (21:36 +0000)]
Remove expected failure and skip decorators for host os.

All decorator invocations are updated to use the generic
expectedFailureAll and skipIf decorators.

llvm-svn: 260288

8 years agoFix name style.
Rafael Espindola [Tue, 9 Feb 2016 21:35:14 +0000 (21:35 +0000)]
Fix name style.

Functions start with a lower case, variables with an upper case.

llvm-svn: 260287

8 years agoUpdate comment style.
Rafael Espindola [Tue, 9 Feb 2016 21:32:56 +0000 (21:32 +0000)]
Update comment style.

llvm-svn: 260286

8 years agoRevert "Correct size calculations for ELF files"
Rafael Espindola [Tue, 9 Feb 2016 21:30:10 +0000 (21:30 +0000)]
Revert "Correct size calculations for ELF files"

This reverts commit r259578.

There are enough issues with this small patch that it is better to
revert and then commit a fixed version (will be committed shortly).

llvm-svn: 260285

8 years agoIf we set the DYLD_INSERT_LIBRARIES environment variable when launching debugserver...
Greg Clayton [Tue, 9 Feb 2016 21:20:17 +0000 (21:20 +0000)]
If we set the DYLD_INSERT_LIBRARIES environment variable when launching debugserver, for use with /usr/lib/libgmalloc.dylib, then make sure we don't pass this environment variable on to any child processes.

llvm-svn: 260284

8 years ago[AArch64] This check is specific to merging instructions. NFC.
Chad Rosier [Tue, 9 Feb 2016 21:20:12 +0000 (21:20 +0000)]
[AArch64] This check is specific to merging instructions. NFC.

llvm-svn: 260283

8 years agoDon't enable -flimit-debug-info by default for the LLDB Xcode builds. This was put...
Greg Clayton [Tue, 9 Feb 2016 21:18:44 +0000 (21:18 +0000)]
Don't enable -flimit-debug-info by default for the LLDB Xcode builds. This was put in back in 2011 when -flimit-debug-info did a lot less than it does now. With llvm-dsymutil doing ODR type unique stuff we still have reasonably sized dSYM files.

llvm-svn: 260282

8 years agoRemove system-libs.test for now
Ehsan Akhgari [Tue, 9 Feb 2016 21:17:58 +0000 (21:17 +0000)]
Remove system-libs.test for now

This test fails in the ninja-x64-msvc-RA-centos6 builder, so the
UNSUPPORTED: system-windows condition is insufficient.  Removing it
for now; I will investigate how this can be fixed later.

llvm-svn: 260281

8 years agoFix a test added in r260263
Ehsan Akhgari [Tue, 9 Feb 2016 21:10:22 +0000 (21:10 +0000)]
Fix a test added in r260263

llvm-svn: 260280

8 years ago[InstCombine][GC] Handle gc.relocations of vector type
Philip Reames [Tue, 9 Feb 2016 21:09:22 +0000 (21:09 +0000)]
[InstCombine][GC] Handle gc.relocations of vector type

We introduced gc.relocates of vector-of-pointer types a couple of weeks back.  Somehow, I missed updating the InstCombine rule to account for this.  If we hit this code path with a vector-of-pointers gc.relocate, we'd crash on a cast<PointerType>.

I also took the chance to do a bit of code style cleanup.

llvm-svn: 260279

8 years agoAdd Tooling functionality to get a name for a QualType that can be used to name
Richard Smith [Tue, 9 Feb 2016 21:04:04 +0000 (21:04 +0000)]
Add Tooling functionality to get a name for a QualType that can be used to name
that type from the global scope.

Patch by Sterling Augustine, derived (with permission) from code from Cling by
Vassil Vassilev and Philippe Canal.

llvm-svn: 260278

8 years agoSimplify and rename ASTMatchFinder's getCXXRecordDecl to make it more obvious
Richard Smith [Tue, 9 Feb 2016 20:59:05 +0000 (20:59 +0000)]
Simplify and rename ASTMatchFinder's getCXXRecordDecl to make it more obvious
what it's actually trying to do.

llvm-svn: 260277

8 years agoFix the test added in r260266
Ehsan Akhgari [Tue, 9 Feb 2016 20:49:24 +0000 (20:49 +0000)]
Fix the test added in r260266

llvm-svn: 260276

8 years ago[AArch64] AArch64LoadStoreOptimizer: fix bug in pre-inc check iterator
Geoff Berry [Tue, 9 Feb 2016 20:47:21 +0000 (20:47 +0000)]
[AArch64] AArch64LoadStoreOptimizer: fix bug in pre-inc check iterator

Summary:
Fix case where a pre-inc/dec load/store would not be formed if the
add/sub that forms the inc/dec part of the operation was the first
instruction in the block being examined.

Reviewers: mcrosier, jmolloy, t.p.northover, junbuml

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

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

llvm-svn: 260275

8 years ago[AArch64] Bail even earlier if the instructions modifieds the base register. NFC.
Chad Rosier [Tue, 9 Feb 2016 20:44:41 +0000 (20:44 +0000)]
[AArch64] Bail even earlier if the instructions modifieds the base register. NFC.

llvm-svn: 260274

8 years ago[AArch64] Simplify. NFC.
Chad Rosier [Tue, 9 Feb 2016 20:27:45 +0000 (20:27 +0000)]
[AArch64] Simplify. NFC.

llvm-svn: 260273

8 years ago[AArch64] Add an assert to ensure we don't scale an offset that can't be scaled.
Chad Rosier [Tue, 9 Feb 2016 20:18:07 +0000 (20:18 +0000)]
[AArch64] Add an assert to ensure we don't scale an offset that can't be scaled.

llvm-svn: 260272

8 years agoUse __nl_symbol_ptr instead of __got in the stubs pass on x86 archs.
Pete Cooper [Tue, 9 Feb 2016 20:11:17 +0000 (20:11 +0000)]
Use __nl_symbol_ptr instead of __got in the stubs pass on x86 archs.

The non lazy atoms generated in the stubs pass use an image cache to
hold all of the pointers.  On arm archs, this is the __got section,
but on x86 archs it should be __nl_symbol_ptr.

rdar://problem/24572729

llvm-svn: 260271

8 years ago[PGO] Fix issue: explicitly defaulted assignop is not profiled
Xinliang David Li [Tue, 9 Feb 2016 20:02:59 +0000 (20:02 +0000)]
[PGO] Fix issue: explicitly defaulted assignop is not profiled

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

llvm-svn: 260270

8 years agoFix a typo in r260263
Ehsan Akhgari [Tue, 9 Feb 2016 20:02:35 +0000 (20:02 +0000)]
Fix a typo in r260263

llvm-svn: 260269

8 years agoPass /bigobj when building lib/ASTMatchers/Dynamic/Registry.cpp
Reid Kleckner [Tue, 9 Feb 2016 19:53:30 +0000 (19:53 +0000)]
Pass /bigobj when building lib/ASTMatchers/Dynamic/Registry.cpp

This is the third time it has crossed the 2^16 section limit. We've
already spent time optimizing this file to reduce template
instantiations, and it's not clear that there is anymore low hanging
fruit.

llvm-svn: 260267

8 years agoclang-cl: Enable plugins on Windows
Ehsan Akhgari [Tue, 9 Feb 2016 19:43:13 +0000 (19:43 +0000)]
clang-cl: Enable plugins on Windows

llvm-svn: 260266

8 years agoclang-cl: Support loading plugins on Windows
Ehsan Akhgari [Tue, 9 Feb 2016 19:43:11 +0000 (19:43 +0000)]
clang-cl: Support loading plugins on Windows

This builds on the support being added to LLVM to import and export
registries from DLLs.  This will allow us to pick up the registry
entries added in the DLL's copy of FrontendPluginRegistry.

This will allow us to use plugins on Windows using:
$ clang-cl -Xclang -load -Xclang plugin.dll \
           -Xclang -add-plugin -Xclang foo

llvm-svn: 260265

8 years ago[AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass.
Chad Rosier [Tue, 9 Feb 2016 19:42:19 +0000 (19:42 +0000)]
[AArch64] Add a FIXME about invalid KILL markers after the ld/st opt pass.

llvm-svn: 260264

8 years agollvm-config: Add preliminary Windows support
Ehsan Akhgari [Tue, 9 Feb 2016 19:41:14 +0000 (19:41 +0000)]
llvm-config: Add preliminary Windows support

Summary:
This patch adds Windows support for a few of the llvm-config commands,
including cflags, ldflags, libs, and system-libs.

Currently llvm-config is untested, so this patch adds tests for the
commands that it fixes as well.

Reviewers: rnk

Subscribers: llvm-commits

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

llvm-svn: 260263

8 years agoTurn on LLVM_ENABLE_PLUGINS by default on Windows
Ehsan Akhgari [Tue, 9 Feb 2016 19:37:27 +0000 (19:37 +0000)]
Turn on LLVM_ENABLE_PLUGINS by default on Windows

Reviewers: rnk

Subscribers: llvm-commits

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

llvm-svn: 260262

8 years agoAdd support for importing and exporting Registry objects on Windows
Ehsan Akhgari [Tue, 9 Feb 2016 19:37:25 +0000 (19:37 +0000)]
Add support for importing and exporting Registry objects on Windows

On Windows, the DLL containing the registry will get its own global head
and tail variables, so the entries registered in the DLL will be
invisible to the consumer.

In order to solve this, we need to export a getter function from the
plugin DLL per registry and copy over the data inside it.  This patch
adds support for this.  This will be used to support clang plugins on
Windows.

llvm-svn: 260261

8 years ago[AArch64] Remove redundant calls and clang format. NFC.
Chad Rosier [Tue, 9 Feb 2016 19:33:42 +0000 (19:33 +0000)]
[AArch64] Remove redundant calls and clang format. NFC.

llvm-svn: 260260

8 years ago[Hexagon] Fixing relocation generation and adding tests.
Colin LeMahieu [Tue, 9 Feb 2016 19:18:02 +0000 (19:18 +0000)]
[Hexagon] Fixing relocation generation and adding tests.

llvm-svn: 260259

8 years ago[MC] Adding GOTREL expression variant.
Colin LeMahieu [Tue, 9 Feb 2016 19:17:34 +0000 (19:17 +0000)]
[MC] Adding GOTREL expression variant.

llvm-svn: 260258

8 years ago[AArch64] Hoist now common logic. NFC.
Chad Rosier [Tue, 9 Feb 2016 19:17:18 +0000 (19:17 +0000)]
[AArch64] Hoist now common logic. NFC.

llvm-svn: 260257

8 years ago[AArch64] Rename variable to make it clear we're merging here, not pairing.
Chad Rosier [Tue, 9 Feb 2016 19:09:22 +0000 (19:09 +0000)]
[AArch64] Rename variable to make it clear we're merging here, not pairing.

llvm-svn: 260256

8 years ago[libclang] indexing: make sure to not visit init-list expressions twice.
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:24 +0000 (19:07 +0000)]
[libclang] indexing: make sure to not visit init-list expressions twice.

llvm-svn: 260255

8 years ago[libclang] indexing: handle 'TopLevelDeclInObjCContainers' at the point where they...
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:21 +0000 (19:07 +0000)]
[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

8 years ago[libclang] indexing: for a synthesized property reference have the parent be the...
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:19 +0000 (19:07 +0000)]
[libclang] indexing: for a synthesized property reference have the parent be the ObjC implementation decl.

llvm-svn: 260253

8 years ago[Frontend] Handle ASTConsumer::shouldSkipFunctionBody via the MultiplexConsumer.
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:16 +0000 (19:07 +0000)]
[Frontend] Handle ASTConsumer::shouldSkipFunctionBody via the MultiplexConsumer.

llvm-svn: 260252

8 years ago[ASTUnit] Change the parameter of ASTUnit::LoadFromCompilerInvocationAction to accept...
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:13 +0000 (19:07 +0000)]
[ASTUnit] Change the parameter of ASTUnit::LoadFromCompilerInvocationAction to accept a more general FrontendAction.

llvm-svn: 260251

8 years ago[libclang] indexing: Have the semantic container of synthesized ObjC getter/setter...
Argyrios Kyrtzidis [Tue, 9 Feb 2016 19:07:07 +0000 (19:07 +0000)]
[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

8 years ago[AArch64] Separage the codegen logic for widening vs. pairing. NFC.
Chad Rosier [Tue, 9 Feb 2016 19:02:12 +0000 (19:02 +0000)]
[AArch64] Separage the codegen logic for widening vs. pairing. NFC.

llvm-svn: 260249

8 years agoAligned __stub_helper section to 4-bytes.
Pete Cooper [Tue, 9 Feb 2016 18:56:37 +0000 (18:56 +0000)]
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

8 years agoMention the --all-files option in the -p help string.
Jim Ingham [Tue, 9 Feb 2016 18:53:49 +0000 (18:53 +0000)]
Mention the --all-files option in the -p help string.

llvm-svn: 260247

8 years agoSimplify EnterTokenStream API to make it more robust for memory management
David Blaikie [Tue, 9 Feb 2016 18:52:09 +0000 (18:52 +0000)]
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

8 years ago[llvm-readobj][ELF] Show MIPS GOT content when there is another zero-sized section...
Simon Atanasyan [Tue, 9 Feb 2016 18:45:35 +0000 (18:45 +0000)]
[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

8 years ago[FunctionAttrs] Fix SCC logic around operand bundles
Sanjoy Das [Tue, 9 Feb 2016 18:40:40 +0000 (18:40 +0000)]
[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

8 years agoFix a formatting problems with llvm-size and the -m option.
Kevin Enderby [Tue, 9 Feb 2016 18:33:15 +0000 (18:33 +0000)]
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

8 years ago[AArch64] Cleanup to simplify logic when widening vs. pairing loads/stores. NFC.
Chad Rosier [Tue, 9 Feb 2016 18:10:20 +0000 (18:10 +0000)]
[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

8 years agoRevert "Avoid forcing emission of delayed dllexported classes on template instantiation"
Reid Kleckner [Tue, 9 Feb 2016 17:48:27 +0000 (17:48 +0000)]
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

8 years ago[x86] make getOneTrueElt() a helper function ; NFC
Sanjay Patel [Tue, 9 Feb 2016 17:39:58 +0000 (17:39 +0000)]
[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

8 years agoFix invalid shift operator overload in Scalar
Pavel Labath [Tue, 9 Feb 2016 17:28:01 +0000 (17:28 +0000)]
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

8 years ago[MS ABI] Cleanup emitVTableDefinitions
David Majnemer [Tue, 9 Feb 2016 17:27:52 +0000 (17:27 +0000)]
[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

8 years agoIntroduce a cmake module to figure out whether we need to link with libatomic.
Vasileios Kalintiris [Tue, 9 Feb 2016 17:00:38 +0000 (17:00 +0000)]
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

8 years ago[lsan] Run the tests for each supported arch and suffix each one to distinguish them.
Daniel Sanders [Tue, 9 Feb 2016 16:22:39 +0000 (16:22 +0000)]
[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

8 years ago[dfsan] Run the tests for each supported arch and suffix each one to distinguish...
Daniel Sanders [Tue, 9 Feb 2016 16:20:37 +0000 (16:20 +0000)]
[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

8 years ago[msan] Run the tests for each supported arch and suffix each one to distinguish them.
Daniel Sanders [Tue, 9 Feb 2016 16:18:15 +0000 (16:18 +0000)]
[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

8 years ago[sanitizer_common] Correct the nits that should have been committed as part of r260227.
Daniel Sanders [Tue, 9 Feb 2016 16:14:31 +0000 (16:14 +0000)]
[sanitizer_common] Correct the nits that should have been committed as part of r260227.

llvm-svn: 260229

8 years ago[AArch64] Rename variable to improve readability. NFC.
Chad Rosier [Tue, 9 Feb 2016 15:59:57 +0000 (15:59 +0000)]
[AArch64] Rename variable to improve readability. NFC.

llvm-svn: 260228

8 years ago[sanitizer_common] Add suffix to lit testsuite name to distinguish subtargets.
Daniel Sanders [Tue, 9 Feb 2016 15:52:35 +0000 (15:52 +0000)]
[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

8 years ago[AArch64] Remove stale comment.
Chad Rosier [Tue, 9 Feb 2016 15:51:33 +0000 (15:51 +0000)]
[AArch64] Remove stale comment.

llvm-svn: 260226

8 years ago[clang-tidy] Add -target in misc-misplaced-widening-cast test so it will work on...
Daniel Marjamaki [Tue, 9 Feb 2016 15:43:05 +0000 (15:43 +0000)]
[clang-tidy] Add -target in misc-misplaced-widening-cast test so it will work on various bots

llvm-svn: 260225

8 years agoUse the plt entry as the address of some symbols.
Rafael Espindola [Tue, 9 Feb 2016 15:11:01 +0000 (15:11 +0000)]
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

8 years ago[clang-tidy] Add 'misc-misplaced-widening-cast' check.
Daniel Marjamaki [Tue, 9 Feb 2016 14:08:49 +0000 (14:08 +0000)]
[clang-tidy] Add 'misc-misplaced-widening-cast' check.

Reviewers: alexfh

Subscribers: cfe-commits

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

llvm-svn: 260223

8 years agoRegistering the gnuNullExpr AST matcher as a dynamic matcher so that it is available...
Aaron Ballman [Tue, 9 Feb 2016 14:04:49 +0000 (14:04 +0000)]
Registering the gnuNullExpr AST matcher as a dynamic matcher so that it is available from clang-query.

llvm-svn: 260222

8 years agoFix comment for MD5Hash.
Teresa Johnson [Tue, 9 Feb 2016 13:28:44 +0000 (13:28 +0000)]
Fix comment for MD5Hash.

llvm-svn: 260221

8 years ago[OPENMP] Fix test incompatibility with arm buildbots.
Alexey Bataev [Tue, 9 Feb 2016 12:16:42 +0000 (12:16 +0000)]
[OPENMP] Fix test incompatibility with arm buildbots.

llvm-svn: 260220

8 years agoFix possible OOB access found by buildbot
Alexey Bataev [Tue, 9 Feb 2016 11:01:58 +0000 (11:01 +0000)]
Fix possible OOB access found by buildbot

llvm-svn: 260219

8 years agoAdd AST matcher reference to documentation directory when building HTML docs.
Manuel Klimek [Tue, 9 Feb 2016 10:59:21 +0000 (10:59 +0000)]
Add AST matcher reference to documentation directory when building HTML docs.

llvm-svn: 260218

8 years ago[clang-tidy] Make readability-container-size-empty work with inline namespaces. Fix...
Gabor Horvath [Tue, 9 Feb 2016 10:20:48 +0000 (10:20 +0000)]
[clang-tidy] Make readability-container-size-empty work with inline namespaces. Fix PR25812.

llvm-svn: 260217

8 years agoFix a typo in an xfail decorator in TestExprsChar
Tamas Berghammer [Tue, 9 Feb 2016 10:10:42 +0000 (10:10 +0000)]
Fix a typo in an xfail decorator in TestExprsChar

llvm-svn: 260216

8 years ago[OPENMP] Allow to use the variable in the same 'threadprivate'
Alexey Bataev [Tue, 9 Feb 2016 09:41:42 +0000 (09:41 +0000)]
[OPENMP] Allow to use the variable in the same 'threadprivate'
directive.

llvm-svn: 260215

8 years agoDo not mark variable as threadprivate if it was marked already.
Alexey Bataev [Tue, 9 Feb 2016 09:41:33 +0000 (09:41 +0000)]
Do not mark variable as threadprivate if it was marked already.

llvm-svn: 260214

8 years ago[OPENMP] Allow to reference threadprivate variable in same directive.
Alexey Bataev [Tue, 9 Feb 2016 09:41:09 +0000 (09:41 +0000)]
[OPENMP] Allow to reference threadprivate variable in same directive.

llvm-svn: 260213

8 years ago[clang-tidy] Replace a custom ASTMatcher with a built-in one.
Gabor Horvath [Tue, 9 Feb 2016 09:26:11 +0000 (09:26 +0000)]
[clang-tidy] Replace a custom ASTMatcher with a built-in one.

llvm-svn: 260212

8 years agoFixed preprocessed output of the first token for pragmas.
Alexey Bataev [Tue, 9 Feb 2016 08:51:26 +0000 (08:51 +0000)]
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

8 years ago[X86][AVX2] Fix SIGN_EXTEND vector handling on AVX2 targets.
Simon Pilgrim [Tue, 9 Feb 2016 08:19:19 +0000 (08:19 +0000)]
[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

8 years agolld/test/mach-o/dependency_info.yaml: Forgot to remove XFAIL:win32.
NAKAMURA Takumi [Tue, 9 Feb 2016 07:44:10 +0000 (07:44 +0000)]
lld/test/mach-o/dependency_info.yaml: Forgot to remove XFAIL:win32.

llvm-svn: 260209

8 years agolld/test/mach-o/dependency_info.yaml: Tweak for dos path.
NAKAMURA Takumi [Tue, 9 Feb 2016 07:30:24 +0000 (07:30 +0000)]
lld/test/mach-o/dependency_info.yaml: Tweak for dos path.

llvm-svn: 260208

8 years agocheck-lld: Introduce %python.
NAKAMURA Takumi [Tue, 9 Feb 2016 07:30:18 +0000 (07:30 +0000)]
check-lld: Introduce %python.

llvm-svn: 260207

8 years agoIntroduce the feature 'demangler' in check-lld. Mark lld/test/old-elf/X86_64/demangle...
NAKAMURA Takumi [Tue, 9 Feb 2016 07:30:11 +0000 (07:30 +0000)]
Introduce the feature 'demangler' in check-lld. Mark lld/test/old-elf/X86_64/demangle.test as REQUIRES:demangler.

llvm-svn: 260206

8 years agoDisable lld/test/old-elf/group-cmd-search.test on win32. "XFAIL:win32" was insufficient.
NAKAMURA Takumi [Tue, 9 Feb 2016 07:30:04 +0000 (07:30 +0000)]
Disable lld/test/old-elf/group-cmd-search.test on win32. "XFAIL:win32" was insufficient.

llvm-svn: 260205

8 years ago[GCC] GOMP_task: Change argument type of if_cond from int to bool
Jonas Hahnfeld [Tue, 9 Feb 2016 07:07:30 +0000 (07:07 +0000)]
[GCC] GOMP_task: Change argument type of if_cond from int to bool

(libgomp has bool as well)

This was causing a test failure in omp_test_if.c when building with GCC in
Debug mode. I have verified that GCC versions 4.9.2 and 5.3.0 now work and
compile-tested this change with clang 3.7.1 and Intel Compiler 16.0.

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

llvm-svn: 260204

8 years ago[CMake] Updating caches README with explanations of useful cache files.
Chris Bieneman [Tue, 9 Feb 2016 06:49:08 +0000 (06:49 +0000)]
[CMake] Updating caches README with explanations of useful cache files.

This is in response to silvas' post-commit suggestion.

llvm-svn: 260203