platform/upstream/llvm.git
6 years agoFix standalone test-suite run.
Eric Fiselier [Wed, 17 Jan 2018 22:07:09 +0000 (22:07 +0000)]
Fix standalone test-suite run.

This patch updates libc++abi's HandleOutOfTreeLLVM.cmake to match
libc++'s -- and more importantly, to fix a bug where llvm-lit wasn't
found/created when libc++abi was built out-of-tree. This prevented
the test suite from running.

llvm-svn: 322768

6 years ago[LegalizeDAG] Fix ATOMIC_CMP_SWAP_WITH_SUCCESS legalization.
Eli Friedman [Wed, 17 Jan 2018 22:04:36 +0000 (22:04 +0000)]
[LegalizeDAG] Fix ATOMIC_CMP_SWAP_WITH_SUCCESS legalization.

The code wasn't zero-extending correctly, so the comparison could
spuriously fail.

Adds some AArch64 tests to cover this case.

Inspired by D41791.

Differential Revision: https://reviews.llvm.org/D41798

llvm-svn: 322767

6 years ago[polly] [ScopInfo] Don't use isl_val_get_num_si.
Eli Friedman [Wed, 17 Jan 2018 21:59:02 +0000 (21:59 +0000)]
[polly] [ScopInfo] Don't use isl_val_get_num_si.

isl_val_get_num_si crashes on overflow, so don't use it on arbitrary
integers.

Testcase only crashes on platforms where long is 32 bits because of the
signature of isl_val_get_num_si; not sure if it's possible to write a
testcase which crashes if long is 64 bits.

There are a few other places in polly which use isl_val_get_num_si;
they probably need to be fixed as well. I don't think polly uses any
of the other "long" isl APIs in an unsafe manner.

Differential Revision: https://reviews.llvm.org/D42129

llvm-svn: 322766

6 years ago[SCEV] Fix typo. NFC.
Javed Absar [Wed, 17 Jan 2018 21:58:35 +0000 (21:58 +0000)]
[SCEV] Fix typo. NFC.

Fix confusing typo in comment.

llvm-svn: 322765

6 years ago[scudo] Limit by default the TSD pool to 2 on Android
Kostya Kortchinsky [Wed, 17 Jan 2018 21:54:48 +0000 (21:54 +0000)]
[scudo] Limit by default the TSD pool to 2 on Android

Summary:
jemalloc on Android currently uses 2 arenas
(https://android.googlesource.com/platform/external/jemalloc/+/master/Android.bp#64).
Since the Android toolchain absorbs compiler-rt and compiles it as is, we have
to enforce the same limit to somehow stay competitive in terms of memory usage.

The changes could either go in:
- `scudo_platform.h` with a default for Android of 2 (this is the solution
  implemented here);
- in `CMakeLists.txt` adding -DSCUDO_SHARED_TSD_POOL_SIZE=2 for Android.
- something else?

I don't have a strong opinion on how to do it, but it has to be done upstream
anyway.

Reviewers: alekseyshl, eugenis

Reviewed By: alekseyshl, eugenis

Subscribers: srhines, #sanitizers, llvm-commits

Differential Revision: https://reviews.llvm.org/D42194

llvm-svn: 322764

6 years agorootn: Port from amd_builtins
Jan Vesely [Wed, 17 Jan 2018 21:22:14 +0000 (21:22 +0000)]
rootn: Port from amd_builtins

Passes piglit on turks and carrizo
fp64 passes ctx on carrizo

v2: fix formatting
    check fp32 denormal support at runtime

Reviewer: Jeroen Ketema <j.ketema@xs4all.nl>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 322763

6 years agopowr: Port from amd_builtins
Jan Vesely [Wed, 17 Jan 2018 21:22:06 +0000 (21:22 +0000)]
powr: Port from amd_builtins

Passes piglit on turks and carrizo
fp64 passes cts on carrizo

v2: fix formatting
    check fp32 denormal support at runtime

Reviewer: Jeroen Ketema <j.ketema@xs4all.nl>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 322762

6 years agopown: Port from amd_builtins
Jan Vesely [Wed, 17 Jan 2018 21:22:03 +0000 (21:22 +0000)]
pown: Port from amd_builtins

Passes piglit on turks and carrizo
fp64 passes CTS on carrizo

v2: fix formatting
    check fp32 denormal support at runtime

Reviewer: Jeroen Ketema <j.ketema@xs4all.nl>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 322761

6 years agopow: Port from amd_builtins
Jan Vesely [Wed, 17 Jan 2018 21:21:35 +0000 (21:21 +0000)]
pow: Port from amd_builtins

Passes piglit on turks and carrizo
fp64 passes CTS on carrizo

v2: fix formatting
    check fp32 denormal support at runtime

Reviewer: Jeroen Ketema <j.ketema@xs4all.nl>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 322760

6 years ago[clang-tidy] Adding Fuchsia checker for trailing returns
Julie Hockett [Wed, 17 Jan 2018 21:18:15 +0000 (21:18 +0000)]
[clang-tidy] Adding Fuchsia checker for trailing returns

Adds a check to the Fuchsia module to warn if a function has a trailing
return.

See https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md for
reference.

Differential Revision: https://reviews.llvm.org/D42116

llvm-svn: 322759

6 years agoA third attempt to mark TestRdar12408181.py as skipped
Vedant Kumar [Wed, 17 Jan 2018 20:54:39 +0000 (20:54 +0000)]
A third attempt to mark TestRdar12408181.py as skipped

Due to an unfortunate difference between the open source test harness
and our internal harness, applying two @skip... decorators to this test
works in the internal build but not in the open source build.

I've tried another approach to skipping this test and tested it out with
the open source harness. Hopefully this sticks!

rdar://36417163

llvm-svn: 322756

6 years agoReland "[libFuzzer] Support using libc++"
Petr Hosek [Wed, 17 Jan 2018 20:39:14 +0000 (20:39 +0000)]
Reland "[libFuzzer] Support using libc++"

This is needed in case the users of libFuzzer use libc++ in their
code, which the fuzz target (libFuzzer) will be linked against.
When libc++ source is available, we build a private version of it
and link it against libFuzzer which allows using the same static
library against codebases which use both libc++ and libstdc++.

Differential Revision: https://reviews.llvm.org/D37631

llvm-svn: 322755

6 years ago[globalisel][tablegen] Honour priority order within nested instructions.
Daniel Sanders [Wed, 17 Jan 2018 20:34:29 +0000 (20:34 +0000)]
[globalisel][tablegen] Honour priority order within nested instructions.

It appears that we haven't been prioritizing rules that contain nested
instructions properly. InstructionOperandMatcher didn't override
isHigherPriorityThan so it never compared the instructions/operands/predicates
inside nested instructions.

Fixes PR35926. Thanks to Diana Picus for the bug report.

llvm-svn: 322754

6 years ago[analyzer] introduce getSVal(Stmt *) helper on ExplodedNode, make sure the helper...
George Karpenkov [Wed, 17 Jan 2018 20:27:29 +0000 (20:27 +0000)]
[analyzer] introduce getSVal(Stmt *) helper on ExplodedNode, make sure the helper is used consistently

In most cases using
`N->getState()->getSVal(E, N->getLocationContext())`
is ugly, verbose, and also opens up more surface area for bugs if an
inconsistent location context is used.

This patch introduces a helper on an exploded node, and ensures
consistent usage of either `ExplodedNode::getSVal` or
`CheckContext::getSVal` across the codebase.
As a result, a large number of redundant lines is removed.

Differential Revision: https://reviews.llvm.org/D42155

llvm-svn: 322753

6 years ago[analyzer] Make isSubRegionOf reflexive
George Karpenkov [Wed, 17 Jan 2018 20:27:26 +0000 (20:27 +0000)]
[analyzer] Make isSubRegionOf reflexive

All usages of isSubRegionOf separately check for reflexive case, and in
any case, set theory tells us that each set is a subset of itself.

Differential Revision: https://reviews.llvm.org/D42140

llvm-svn: 322752

6 years ago[WebAssembly] Simplify generation of "names" section
Sam Clegg [Wed, 17 Jan 2018 20:19:04 +0000 (20:19 +0000)]
[WebAssembly] Simplify generation of "names" section

Simplify generation of "names" section by simply iterating
over the DefinedFunctions array.

This even fixes some bugs, judging by the test changes required.
Some tests are asserting that functions are named multiple times,
other tests are asserting that the "names" section contains the
function's alias rather than its original name

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42076

llvm-svn: 322751

6 years ago[analyzer] Better UI in html reports for displaying shortcuts help
George Karpenkov [Wed, 17 Jan 2018 20:06:26 +0000 (20:06 +0000)]
[analyzer] Better UI in html reports for displaying shortcuts help

Make the help window accessible, but don't show by default.
Use a different CSS class from macro.

llvm-svn: 322750

6 years ago[clang-format] Replace unordered_set with an array
Krasimir Georgiev [Wed, 17 Jan 2018 20:01:02 +0000 (20:01 +0000)]
[clang-format] Replace unordered_set with an array

Summary: This replaces an unordered_set from r322690 with an array and binary search.

Reviewers: bkramer, benhamilton

Reviewed By: bkramer, benhamilton

Subscribers: jolesiak, benhamilton, klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D42189

llvm-svn: 322749

6 years agoRevert [PowerPC] This reverts commit rL322721
Zaara Syeda [Wed, 17 Jan 2018 20:00:15 +0000 (20:00 +0000)]
Revert [PowerPC] This reverts commit rL322721

Failing build bots. Revert the commit now.

llvm-svn: 322748

6 years ago[MDA] Use common code instead of reimplementing same. [NFC]
Philip Reames [Wed, 17 Jan 2018 19:57:19 +0000 (19:57 +0000)]
[MDA] Use common code instead of reimplementing same. [NFC]

llvm-svn: 322747

6 years ago[ASTMatchers] Add isNoReturn() match narrower for FunctionDeclarations
Roman Lebedev [Wed, 17 Jan 2018 19:40:55 +0000 (19:40 +0000)]
[ASTMatchers] Add isNoReturn() match narrower for FunctionDeclarations

Reviewers: aaron.ballman

Reviewed By: aaron.ballman

Subscribers: dblaikie, klimek, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D41455

llvm-svn: 322746

6 years ago[WebAssembly] Remove DEBUG_FUNCTION_NAME after llvm change
Sam Clegg [Wed, 17 Jan 2018 19:35:16 +0000 (19:35 +0000)]
[WebAssembly] Remove DEBUG_FUNCTION_NAME after llvm change

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42193

llvm-svn: 322745

6 years agolibcxx: Disable CFI in function std::get_temporary_buffer.
Peter Collingbourne [Wed, 17 Jan 2018 19:32:35 +0000 (19:32 +0000)]
libcxx: Disable CFI in function std::get_temporary_buffer.

The specification of this function mandates a cast to uninitialized
T*, which is forbidden under CFI.

Differential Revision: https://reviews.llvm.org/D42146

llvm-svn: 322744

6 years ago[GISel] Make constrainSelectedInstRegOperands() available to the legalizer. NFC
Aditya Nandakumar [Wed, 17 Jan 2018 19:31:33 +0000 (19:31 +0000)]
[GISel] Make constrainSelectedInstRegOperands() available to the legalizer. NFC

https://reviews.llvm.org/D42149

llvm-svn: 322743

6 years ago[DeclPrinter] Fix two cases that crash clang -ast-print.
Artem Belevich [Wed, 17 Jan 2018 19:29:39 +0000 (19:29 +0000)]
[DeclPrinter] Fix two cases that crash clang -ast-print.

Both are related to handling anonymous structures.
* clang didn't handle () around an anonymous struct variable.
* clang also crashed on syntax errors that could lead to other
  syntactic constructs following the declaration of an
  anonymous struct. While the code is invalid, that's not
  a good reason to panic compiler.

Differential Revision: https://reviews.llvm.org/D41788

llvm-svn: 322742

6 years ago[WebAssembly] Remove debug names from symbol table
Sam Clegg [Wed, 17 Jan 2018 19:28:43 +0000 (19:28 +0000)]
[WebAssembly] Remove debug names from symbol table

Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug
data, maybe we'll want somewhere to put it... but having a symbol
that just stores the name of another symbol seems odd.
It means you have multiple Symbols with the same name, one
containing the actual function and another containing the name!

Store the names in a vector on the WasmObjectFile when reading
them in. Also stash them on the WasmFunctions themselves.
The names are //not// "symbol names" or aliases or anything,
they're just the name that a debugger should show against the
function body itself. NB. The WasmObjectFile stores them so that
they can be exported in the YAML losslessly, and hence the tests
can be precise.

Enforce that the CODE section has been read in before reading
the "names" section. Requires minor adjustment to some tests.

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42075

llvm-svn: 322741

6 years agoTry again to mark TestRdar12408181.py as skipped
Vedant Kumar [Wed, 17 Jan 2018 19:25:12 +0000 (19:25 +0000)]
Try again to mark TestRdar12408181.py as skipped

rdar://36417163

llvm-svn: 322740

6 years agoUse a got to access a hidden weak undefined on MachO.
Rafael Espindola [Wed, 17 Jan 2018 19:19:55 +0000 (19:19 +0000)]
Use a got to access a hidden weak undefined on MachO.

Trying to link

__attribute__((weak, visibility("hidden"))) extern int foo;
int *main(void) {
  return &foo;
}

on OS X fails with

ld: 32-bit RIP relative reference out of range (-4294971318 max is +/-2GB): from _main (0x100000FAB) to _foo@0x00001000 (0x00000000) in '_main' from test.o for architecture x86_64

The problem being that 0 cannot be computed as a fixed difference from
%rip. Exactly the same issue exists on ELF and we can use the same
solution.

llvm-svn: 322739

6 years ago[ARM] Optimize {s,u}mul.with.overflow.
Joel Galenson [Wed, 17 Jan 2018 19:19:05 +0000 (19:19 +0000)]
[ARM] Optimize {s,u}mul.with.overflow.

This extends my previous patches to also optimize overflow-checked multiplies during SelectionDAG.

Differential revision: https://reviews.llvm.org/D40922

llvm-svn: 322738

6 years ago[ARM] Optimize {s,u}{add,sub}.with.overflow.
Joel Galenson [Wed, 17 Jan 2018 19:19:05 +0000 (19:19 +0000)]
[ARM] Optimize {s,u}{add,sub}.with.overflow.

The ARM backend contains code that tries to optimize compares by replacing them with an existing instruction that sets the flags the same way. This allows it to replace a "cmp" with a "adds", generalizing the code that replaces "cmp" with "sub". It also heuristically disables sinking of instructions that could potentially be used to replace compares (currently only if they're next to each other).

Differential revision: https://reviews.llvm.org/D38378

llvm-svn: 322737

6 years ago[coff] Print detailed timing information with /TIME.
Zachary Turner [Wed, 17 Jan 2018 19:16:26 +0000 (19:16 +0000)]
[coff] Print detailed timing information with /TIME.

The classes used to print and update time information are in
common, so other linkers could use this as well if desired.

Differential Revision: https://reviews.llvm.org/D41915

llvm-svn: 322736

6 years ago[Attributes] Fix crash when attempting to remove alignment from an attribute list/set
Daniel Neilson [Wed, 17 Jan 2018 19:15:21 +0000 (19:15 +0000)]
[Attributes] Fix crash when attempting to remove alignment from an attribute list/set

Summary:
 Discovered while working on a patch to move alignment in
@llvm.memcpy/move/set from an arg into parameter attributes.

 The current implementations of AttributeSet::removeAttribute() and
AttributeList::removeAttribute crash when attempting to remove the
alignment attribute. Currently, these implementations add the
to-be-removed attributes to an AttrBuilder and then remove
the builder from the list/set. Alignment is special in that it
must be added to a builder with an integer value for the alignment;
attempts to add alignment to a builder without a value is an error.

 This change fixes the removeAttribute implementations for AttributeSet and
AttributeList to make them able to remove the alignment, and other similar,
attributes.

Reviewers: rnk, chandlerc, pete, javed.absar, reames

Reviewed By: rnk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D41951

llvm-svn: 322735

6 years ago[X86][BTVER2] Reduce instregex usage (PR35955)
Simon Pilgrim [Wed, 17 Jan 2018 19:12:48 +0000 (19:12 +0000)]
[X86][BTVER2] Reduce instregex usage (PR35955)

Most are just replaced with instrs lists, but a few regexps have been further generalized to match more instructions with a single pattern.

llvm-svn: 322734

6 years ago[InstCombine] add baseline tests for D39958; NFC
Sanjay Patel [Wed, 17 Jan 2018 19:04:18 +0000 (19:04 +0000)]
[InstCombine] add baseline tests for D39958; NFC

llvm-svn: 322733

6 years ago[WebAssembly] Remove non-existent method declaration. NFC.
Sam Clegg [Wed, 17 Jan 2018 19:01:52 +0000 (19:01 +0000)]
[WebAssembly] Remove non-existent method declaration. NFC.

Patch by Nicholas Wilson!

llvm-svn: 322732

6 years ago[WebAssembly] Remove unused member variable. NFC.
Sam Clegg [Wed, 17 Jan 2018 18:58:50 +0000 (18:58 +0000)]
[WebAssembly] Remove unused member variable. NFC.

Patch by Nicholas Wilson!

llvm-svn: 322731

6 years ago[X86] Teach LowerBUILD_VECTOR to recognize pair-wise splats of 32-bit elements and...
Craig Topper [Wed, 17 Jan 2018 18:58:22 +0000 (18:58 +0000)]
[X86] Teach LowerBUILD_VECTOR to recognize pair-wise splats of 32-bit elements and use a 64-bit broadcast

If we are splatting pairs of 32-bit elements, we can use a 64-bit broadcast to get the job done.

We could probably could probably do this with other sizes too, for example four 16-bit elements. Or we could broadcast pairs of 16-bit elements using a 32-bit element broadcast. But I've left that as a future improvement.

I've also restricted this to AVX2 only because we can only broadcast loads under AVX.

Differential Revision: https://reviews.llvm.org/D42086

llvm-svn: 322730

6 years ago[Parse] Forward brace locations to TypeConstructExpr
Vedant Kumar [Wed, 17 Jan 2018 18:53:51 +0000 (18:53 +0000)]
[Parse] Forward brace locations to TypeConstructExpr

When parsing C++ type construction expressions with list initialization,
forward the locations of the braces to Sema.

Without these locations, the code coverage pass crashes on the given test
case, because the pass relies on getLocEnd() returning a valid location.

Here is what this patch does in more detail:

  - Forwards init-list brace locations to Sema (ParseExprCXX),
  - Builds an InitializationKind with these locations (SemaExprCXX), and
  - Uses these locations for constructor initialization (SemaInit).

The remaining changes fall out of introducing a new overload for
creating direct-list InitializationKinds.

Testing: check-clang, and a stage2 coverage-enabled build of clang with
asserts enabled.

Differential Revision: https://reviews.llvm.org/D41921

llvm-svn: 322729

6 years agoSkip a flaky test (TestRdar12408181.py)
Vedant Kumar [Wed, 17 Jan 2018 18:53:42 +0000 (18:53 +0000)]
Skip a flaky test (TestRdar12408181.py)

This test frequently times out on our bots. While we're investigating
the issue, mark the test as skipped so the builds aren't impacted as
much.

rdar://36417163

llvm-svn: 322728

6 years ago[WebAssembly] Fix typo in comment
Sam Clegg [Wed, 17 Jan 2018 18:50:30 +0000 (18:50 +0000)]
[WebAssembly] Fix typo in comment

Patch by Nicholas Wilson!

llvm-svn: 322727

6 years ago[WebAssembly] Refactor InputChunk.getSize(). NFC
Sam Clegg [Wed, 17 Jan 2018 18:49:11 +0000 (18:49 +0000)]
[WebAssembly] Refactor InputChunk.getSize(). NFC

Also, remove trailing semicolons.

Patch by Nicholas Wilson!

llvm-svn: 322726

6 years ago[utils] Make .cfi_startproc optional for powerpc
Fangrui Song [Wed, 17 Jan 2018 18:48:50 +0000 (18:48 +0000)]
[utils] Make .cfi_startproc optional for powerpc

Summary: llc sometimes may not emit .cfi_startproc which makes func_dict to have less entries.

Subscribers: nemanjai, llvm-commits

Differential Revision: https://reviews.llvm.org/D42144

llvm-svn: 322725

6 years ago[X86] When legalizing (v64i1 select i8, v64i1, v64i1) make sure not to introduce...
Craig Topper [Wed, 17 Jan 2018 18:46:01 +0000 (18:46 +0000)]
[X86] When legalizing (v64i1 select i8, v64i1, v64i1) make sure not to introduce bitcasts to i64 in 32-bit mode

We legalize selects of masks with scalar conditions using a bitcast to an integer type. But if we are in 32-bit mode we can't convert v64i1 to i64. So instead split the v64i1 to v32i1 and concat it back together. Each half will then be legalized by bitcasting to i32 which is fine.

The test case is a little indirect. If we have the v64i1 select in IR it will get legalized by legalize vector ops which has a run of type legalization after it. That type legalization run is able to fix this i64 bitcast. So in order to avoid that we need a build_vector of a splat which legalize vector ops will ignore. Legalize DAG will then turn that into a select via LowerBUILD_VECTORvXi1. And the select will get legalized. In this case there is no type legalizer run to cleanup the bitcast.

This fixes pr35972.

llvm-svn: 322724

6 years ago[X86][SSE] Add v4i16 PMULLD tests
Simon Pilgrim [Wed, 17 Jan 2018 18:41:27 +0000 (18:41 +0000)]
[X86][SSE] Add v4i16 PMULLD tests

llvm-svn: 322723

6 years ago[clangd] Deduplicate symbols collected in global-symbol-builder tool.
Eric Liu [Wed, 17 Jan 2018 18:27:41 +0000 (18:27 +0000)]
[clangd] Deduplicate symbols collected in global-symbol-builder tool.

Summary: After D42111, the executor framework no longer deduplicate tool results.

Reviewers: bkramer, sammccall

Subscribers: klimek, ilya-biryukov, cfe-commits

Differential Revision: https://reviews.llvm.org/D42113

llvm-svn: 322722

6 years ago[PowerPC] Add handling for ColdCC calling convention and a pass to mark
Zaara Syeda [Wed, 17 Jan 2018 18:22:55 +0000 (18:22 +0000)]
[PowerPC] Add handling for ColdCC calling convention and a pass to mark
candidates with coldcc attribute.

This patch adds support for the coldcc calling convention for Power.
This changes the set of non-volatile registers. It includes a pass to stress
test the implementation by marking all static directly called functions with
the coldcc attribute through the option -enable-coldcc-stress-test. It also
includes an option, -ppc-enable-coldcc, to add the coldcc attribute to
functions which are cold at all call sites based on BlockFrequencyInfo when
the containing function does not call any non cold functions.

Differential Revision: https://reviews.llvm.org/D38413

llvm-svn: 322721

6 years ago[Index] Fix GCC warning again :-(
Sam McCall [Wed, 17 Jan 2018 18:20:57 +0000 (18:20 +0000)]
[Index] Fix GCC warning again :-(

llvm-svn: 322720

6 years agoFix MSVC "not all control paths return a value" warning.
Simon Pilgrim [Wed, 17 Jan 2018 18:16:28 +0000 (18:16 +0000)]
Fix MSVC "not all control paths return a value" warning.

llvm-svn: 322719

6 years ago[ARC] Add missing condition codes.
Tatyana Krasnukha [Wed, 17 Jan 2018 17:58:28 +0000 (17:58 +0000)]
[ARC] Add missing condition codes.

Summary: Added VS and VC, required for disassembling.

Reviewers: petecoup

Reviewed By: petecoup

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D42172

llvm-svn: 322718

6 years ago[clang-tidy] Fixing Fuchsia overloaded operator warning message
Julie Hockett [Wed, 17 Jan 2018 17:41:50 +0000 (17:41 +0000)]
[clang-tidy] Fixing Fuchsia overloaded operator warning message

Updating Fuchsia overloaded operator warning message for clarity.

Differential Revision: https://reviews.llvm.org/D42120

llvm-svn: 322692

6 years ago[Tooling] Don't deduplicate tool results in the All-TUs executor.
Eric Liu [Wed, 17 Jan 2018 17:37:11 +0000 (17:37 +0000)]
[Tooling] Don't deduplicate tool results in the All-TUs executor.

Summary:
As result deduplication or reduction is not supported in the framework,
we should leave the deplication to tools (if needed) until the framework supports it.

Reviewers: bkramer

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D42111

llvm-svn: 322691

6 years ago[Format] Improve ObjC header guessing heuristic
Ben Hamilton [Wed, 17 Jan 2018 17:33:08 +0000 (17:33 +0000)]
[Format] Improve ObjC header guessing heuristic

Summary:
This improves upon the previous Objective-C header guessing heuristic
from rC320479.

Now, we run the lexer on C++ header files and look for Objective-C
keywords and syntax. We also look for Foundation types.

Test Plan: make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests

Reviewers: jolesiak, krasimir

Reviewed By: jolesiak

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D42135

llvm-svn: 322690

6 years agoRevert "[libFuzzer] Support using libc++"
Petr Hosek [Wed, 17 Jan 2018 17:24:56 +0000 (17:24 +0000)]
Revert "[libFuzzer] Support using libc++"

This reverts commit r322604: test is failing for standalone compiler-rt.

llvm-svn: 322689

6 years ago[SystemZ] Handle BRCTH branches correctly in SystemZLongBranch.cpp.
Jonas Paulsson [Wed, 17 Jan 2018 17:16:07 +0000 (17:16 +0000)]
[SystemZ]  Handle BRCTH branches correctly in SystemZLongBranch.cpp.

BRCTH is capable of a long branch which needs to be recognized during branch
relaxation. This is done by checking for ExtraRelaxSize == 0.

Review: Ulrich Weigand
llvm-svn: 322688

6 years agoUpdate dump_ast_matchers for many recent changes.
Benjamin Kramer [Wed, 17 Jan 2018 16:50:14 +0000 (16:50 +0000)]
Update dump_ast_matchers for many recent changes.

The html file hasn't been updated in a long time so there are quite a
few changes in there. No matchers were removed though.

llvm-svn: 322687

6 years agoAMDGPU: Error in SIAnnotateControlFlow instead of assert
Matt Arsenault [Wed, 17 Jan 2018 16:30:01 +0000 (16:30 +0000)]
AMDGPU: Error in SIAnnotateControlFlow instead of assert

This assert typically happens if an unstructured CFG is passed
to the pass. This can happen if the pass is run independently
without the structurizer.

llvm-svn: 322685

6 years agoAdd tests for ConstantFoldTerminator preserving DomTree
Matt Arsenault [Wed, 17 Jan 2018 16:27:17 +0000 (16:27 +0000)]
Add tests for ConstantFoldTerminator preserving DomTree

With my bad luck I separately implemented the DomTree preservation
for ConstantFoldTerminator before r322401 was committed. Commit the
tests which I think still provide some value.

llvm-svn: 322683

6 years ago[clang-format] adds enclosing function detection to raw string formatting
Krasimir Georgiev [Wed, 17 Jan 2018 16:17:26 +0000 (16:17 +0000)]
[clang-format] adds enclosing function detection to raw string formatting

Summary: This patch adds enclosing function detection to raw string formatting.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D42167

llvm-svn: 322678

6 years agoAttempt to fix test/Driver/masm.c on the ARM bots.
Nico Weber [Wed, 17 Jan 2018 16:03:08 +0000 (16:03 +0000)]
Attempt to fix test/Driver/masm.c on the ARM bots.

llvm-svn: 322674

6 years ago[Index] Fix GCC warning. This is silly, but no llvm_unreachable and no C99.
Sam McCall [Wed, 17 Jan 2018 15:57:14 +0000 (15:57 +0000)]
[Index] Fix GCC warning. This is silly, but no llvm_unreachable and no C99.

llvm-svn: 322672

6 years ago[clangd] Avoid divide-by-zero
Sam McCall [Wed, 17 Jan 2018 15:25:55 +0000 (15:25 +0000)]
[clangd] Avoid divide-by-zero

llvm-svn: 322668

6 years ago[ARM GlobalISel] Rename local variable. NFC
Diana Picus [Wed, 17 Jan 2018 15:25:37 +0000 (15:25 +0000)]
[ARM GlobalISel] Rename local variable. NFC

llvm-svn: 322667

6 years ago[lldb][PPC64] Fixed long double variables dump
Pavel Labath [Wed, 17 Jan 2018 15:11:20 +0000 (15:11 +0000)]
[lldb][PPC64] Fixed long double variables dump

Summary:
LLDB's DumpDataExtractor was not prepared to handle PowerPC's long double type: PPCDoubleDouble.

As it is somewhat special, treating it as other regular float types resulted in getting wrong information about it.
In this particular case, llvm::APFloat::getSizeInBits(PPCDoubleDouble) was returning 0.

This caused the TestSetValues.py test to fail, because lldb would abort on an assertion failure on APInt(), because of the invalid size.

Since in the PPC case the value of item_byte_size was correct and the
getSizeInBits call was only added to support x87DoubleExtended
semantics, this restricts the usage of getSizeInBits to the x87
semantics.

Reviewers: labath, clayborg

Reviewed By: labath

Subscribers: llvm-commits, anajuliapc, alexandreyy, lbianc, lldb-commits

Differential Revision: https://reviews.llvm.org/D42083
Author: Leandro Lupori <leandro.lupori@gmail.com>

llvm-svn: 322666

6 years ago[ARM GlobalISel] Add instselect tests for G_FPEXT and G_FPTRUNC
Diana Picus [Wed, 17 Jan 2018 15:01:19 +0000 (15:01 +0000)]
[ARM GlobalISel] Add instselect tests for G_FPEXT and G_FPTRUNC

G_FPEXT and G_FPTRUNC are handled by TableGen'erated code, just add
tests.

llvm-svn: 322665

6 years agoFix assertion in ObjectFileELF
Pavel Labath [Wed, 17 Jan 2018 14:40:25 +0000 (14:40 +0000)]
Fix assertion in ObjectFileELF

In D40616 I (mistakenly) assumed that logging an llvm::Error would clear
it. This of course is only true if logging is actually enabled.

This fixes the assertion by manually clearing the error, but it raises
the point of whether we need a special error-clearing logging primitive.

llvm-svn: 322664

6 years ago[AArch64] Fix incorrect LD1 of 16-bit FP vectors in big endian
Pablo Barrio [Wed, 17 Jan 2018 14:39:29 +0000 (14:39 +0000)]
[AArch64] Fix incorrect LD1 of 16-bit FP vectors in big endian

Summary:
Loading a vector of 4 half-precision FP sometimes results in an LD1
of 2 single-precision FP + a reversal. This results in an incorrect
byte swap due to the conversion from little endian to big endian.

In order to generate the correct byte swap, it is easier to
generate the correct LD1 of 4 half-precision FP, thus avoiding the
subsequent reversal.

Reviewers: craig.topper, jmolloy, olista01

Reviewed By: olista01

Subscribers: efriedma, samparker, SjoerdMeijer, rogfer01, aemerson, rengolin, javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D41863

llvm-svn: 322663

6 years ago[InstCombine] fix demanded-bits propagation for zext/trunc
Sanjay Patel [Wed, 17 Jan 2018 14:39:28 +0000 (14:39 +0000)]
[InstCombine] fix demanded-bits propagation for zext/trunc

I was comparing the demanded-bits implementations between InstCombine
and TargetLowering as part of investigating questions in D42088 and
noticed that this was wrong in IR. We were losing all of the prior
known bits when we got back to the 'zext'.

llvm-svn: 322662

6 years ago[Sema] Add visited contexts to CodeCompleteContext
Haojian Wu [Wed, 17 Jan 2018 14:29:25 +0000 (14:29 +0000)]
[Sema] Add visited contexts to CodeCompleteContext

Summary:
This would allow code completion clients to know which context is visited during Sema code completion.

Also some changes:
 * add `EnteredContext` callback in VisibleDeclConsumer.
 * add a simple unittest for sema code completion (only for visited contexts at the moment).

Reviewers: ilya-biryukov

Reviewed By: ilya-biryukov

Subscribers: mgorny, bkramer, cfe-commits

Differential Revision: https://reviews.llvm.org/D42071

llvm-svn: 322661

6 years ago[InstCombine] add test to show hole in demanded bits; NFC
Sanjay Patel [Wed, 17 Jan 2018 14:27:35 +0000 (14:27 +0000)]
[InstCombine] add test to show hole in demanded bits; NFC

llvm-svn: 322660

6 years ago[RISCV] Allow RISCVAsmBackend::writeNopData to generate c.nop when supported
Alex Bradbury [Wed, 17 Jan 2018 14:17:12 +0000 (14:17 +0000)]
[RISCV] Allow RISCVAsmBackend::writeNopData to generate c.nop when supported

When the compressed instruction set is enabled, the 16-bit c.nop can be
generated if necessary.

Differential Revision: https://reviews.llvm.org/D41221
Patch by Shiva Chen.

llvm-svn: 322658

6 years ago[ARM GlobalISel] Map G_FPEXT and G_FPTRUNC to FPR
Diana Picus [Wed, 17 Jan 2018 14:14:14 +0000 (14:14 +0000)]
[ARM GlobalISel] Map G_FPEXT and G_FPTRUNC to FPR

llvm-svn: 322657

6 years ago[AMDGPU] add LDS f32 intrinsics
Daniil Fukalov [Wed, 17 Jan 2018 14:05:05 +0000 (14:05 +0000)]
[AMDGPU] add LDS f32 intrinsics

added llvm.amdgcn.atomic.{add|min|max}.f32 intrinsics
to allow generate ds_{add|min|max}[_rtn]_f32 instructions
needed for OpenCL float atomics in LDS

Reviewed by: arsenm

Differential Revision: https://reviews.llvm.org/D37985

llvm-svn: 322656

6 years ago[AMDGPU][MC][GFX9] Enable inline constants for SDWA operands
Dmitry Preobrazhensky [Wed, 17 Jan 2018 14:00:48 +0000 (14:00 +0000)]
[AMDGPU][MC][GFX9] Enable inline constants for SDWA operands

See bug 35771: https://bugs.llvm.org/show_bug.cgi?id=35771

Differential Revision: https://reviews.llvm.org/D42058

Reviewers: vpykhtin, artem.tamazov, arsenm
llvm-svn: 322655

6 years agoSimplify some LogTest tests
Pavel Labath [Wed, 17 Jan 2018 13:46:06 +0000 (13:46 +0000)]
Simplify some LogTest tests

This removes boilerplate for setting up a log channel and capturing the
output from some of the tests. I do this by moving the setup code into a
test fixture and adding a logAndTakeOutput utility function to log some
string and then retrieve it from the log.

I also use some googlemock goodies to simplify a couple of assertions.

llvm-svn: 322653

6 years ago[clang-cl] Let /FA output use intel assembly.
Nico Weber [Wed, 17 Jan 2018 13:34:20 +0000 (13:34 +0000)]
[clang-cl] Let /FA output use intel assembly.

cl's assembly output is in intel syntax, so clang-cl's should be too, PR35031.
https://reviews.llvm.org/D42157

llvm-svn: 322652

6 years ago[ARM GlobalISel] Legalize G_FPEXT and G_FPTRUNC
Diana Picus [Wed, 17 Jan 2018 13:34:10 +0000 (13:34 +0000)]
[ARM GlobalISel] Legalize G_FPEXT and G_FPTRUNC

Mark G_FPEXT and G_FPTRUNC as legal or libcall, depending on hardware
support, but only for conversions between float and double.

Also add the necessary boilerplate so that the LegalizerHelper can
introduce the required libcalls. This also works only for float and
double, but isn't too difficult to extend when the need arises.

llvm-svn: 322651

6 years ago[Transforms] Support making mutable versions of new-format TBAA access tags
Ivan A. Kosarev [Wed, 17 Jan 2018 13:29:54 +0000 (13:29 +0000)]
[Transforms] Support making mutable versions of new-format TBAA access tags

Differential Revision: https://reviews.llvm.org/D41565

llvm-svn: 322650

6 years agoAdd new interceptor: acct(2)
Kamil Rytarowski [Wed, 17 Jan 2018 13:05:14 +0000 (13:05 +0000)]
Add new interceptor: acct(2)

Summary:
acct - enable or disable process accounting

Sponsored by <The NetBSD Foundation>

Reviewers: joerg, vitalybuka

Reviewed By: vitalybuka

Subscribers: kubamracek, llvm-commits, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D42066

llvm-svn: 322646

6 years ago[X86] Don't mutate shuffle arguments after early-out for AVX512
Benjamin Kramer [Wed, 17 Jan 2018 13:01:06 +0000 (13:01 +0000)]
[X86] Don't mutate shuffle arguments after early-out for AVX512

The match* functions have the annoying behavior of modifying its inputs.
Save and restore the inputs, just in case the early out for AVX512 is
hit. This is still not great and its only a matter of time this kind of
bug happens again, but I couldn't come up with a better pattern without
rewriting significant chunks of this code. Fixes PR35977.

llvm-svn: 322644

6 years ago[X86] Constify DebugLoc parameters. No functionality change.
Benjamin Kramer [Wed, 17 Jan 2018 13:00:58 +0000 (13:00 +0000)]
[X86] Constify DebugLoc parameters. No functionality change.

llvm-svn: 322643

6 years agoHotfix for test/asan/TestCases/alloca_constant_size.cc
Kamil Rytarowski [Wed, 17 Jan 2018 12:32:17 +0000 (12:32 +0000)]
Hotfix for test/asan/TestCases/alloca_constant_size.cc

Add missing endif.

llvm-svn: 322638

6 years ago[clangd] Don't crash on LSP calls for non-added files
Ilya Biryukov [Wed, 17 Jan 2018 12:30:24 +0000 (12:30 +0000)]
[clangd] Don't crash on LSP calls for non-added files

Summary:
We will return errors for non-added files for now.
Another alternative for clangd would be to read non-added files from
disk and provide useful features anyway.

There are still some cases that fail with assertion (e.g., code
complete). We should address those too, but they require more subtle
changes to the code and therefore out of scope of this patch.

Reviewers: sammccall, ioeric, hokein

Reviewed By: sammccall

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D42164

llvm-svn: 322637

6 years ago[NFC] fix trivial typos in comments
Hiroshi Inoue [Wed, 17 Jan 2018 12:29:38 +0000 (12:29 +0000)]
[NFC] fix trivial typos in comments

"the the" -> "the"

llvm-svn: 322636

6 years ago[Sanitizers, test] Fix sanitizer tests on Solaris (PR 33274)
Kamil Rytarowski [Wed, 17 Jan 2018 12:26:04 +0000 (12:26 +0000)]
[Sanitizers, test] Fix sanitizer tests on Solaris (PR 33274)

Summary:
This patch (on top of the previous two (https://reviews.llvm.org/D40898 and
https://reviews.llvm.org/D40899) complete the compiler-rt side of the the Solaris
sanitizer port.

It contains the following sets of changes:

* For the time being, the port is for 32-bit x86 only, so reject the various tests on
  x86_64.

* When compiling as C++, <setjmp.h> resp. <iso/setjmp_iso.h> only declares
  _setjmp and _longjmp inside namespace std.

* MAP_FILE is a Windows feature.  While e.g. Linux <sys/mman.h> provides a
  no-op compat define, Solaris does not.

* test/asan/TestCases/Posix/coverage.cc was initially failing like this:

/vol/gcc/src/llvm/llvm/local/projects/compiler-rt/lib/sanitizer_common/scripts/sancov.py: 4 files merged; 2 PCs total
rm: cannot remove '/var/gcc/llvm/local/projects/compiler-rt/test/asan/I386SunOSConfig/TestCases/Posix/Output/coverage': Invalid argument

  Further digging revealed that the rm was trying to remove the running test's working
  directory which failed as observed.  cd'ing out of the dir before let the test pass.

* Two tests needed a declaration of alloca. I've now copied the existing code from
  test/asan/TestCases/alloca_constant_size.cc, but it may be more profitable and
  maintainable to have a common testsuite header where such code is collected.

* Similarly, Solaris' printf %p format doesn't include the leading 0x.

* In test/asan/TestCases/malloc-no-intercept.c, I had to undef __EXTENSIONS__
  (predefined by clang for no apparent reason) to avoid conflicting declarations
  for memalign.

* test/ubsan/TestCases/Float/cast-overflow.cpp has different platform dependent
  ways to define BYTE_ORDER and friends.  Why not just use __BYTE_ORDER__ and
  friends as predefined by clang and gcc?

Patch by Rainer Orth.

Reviewers: kcc, alekseyshl

Reviewed By: alekseyshl

Subscribers: srhines, kubamracek, mgorny, krytarowski, fedor.sergeev, JDevlieghere, llvm-commits, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D40900

llvm-svn: 322635

6 years ago[clang-format] Reorganize RawStringFormat based on language
Krasimir Georgiev [Wed, 17 Jan 2018 12:24:59 +0000 (12:24 +0000)]
[clang-format] Reorganize RawStringFormat based on language

Summary:
This patch changes the structure for raw string formatting options by making it
language based (enumerate delimiters per language) as opposed to delimiter-based
(specify the language for a delimiter). The raw string formatting now uses an
appropriate style from the .clang-format file, if exists.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D42098

llvm-svn: 322634

6 years agoDon't emit apple accelerator tables on non-darwin targets
Pavel Labath [Wed, 17 Jan 2018 11:52:13 +0000 (11:52 +0000)]
Don't emit apple accelerator tables on non-darwin targets

Summary:
Currently -glldb turns on emission of apple tables on all targets, but
lldb is only really capable of consuming them on darwin. Furthermore,
making lldb consume these tables is not straight-forward because of the
differences in how the debug info is distributed on darwin vs. elf
targets.

The darwin debug model assumes that the debug info (along with
accelerator tables) will either remain in the .o files or it will be
linked into a dsym bundle by a linker that knows how to merge these
tables. In the elf world, all present linkers will simply concatenate
these accelerator tables into the shared object. Since the tables are
not self-terminating, this renders the tables unusable, as the debugger
cannot pry the individual tables apart anymore.

It might theoretically be possible to make the tables work with split
dwarf, as that is somewhat similar to the apple .o model, but
unfortunately right now the combination of -glldb and -gsplit-dwarf
produces broken object files.

Until these issues are resolved there is no point in emitting the apple
tables for these targets. At best, it wastes space; at worst, it breaks
compilation and prevents the user from getting other benefits of -glldb.

Reviewers: probinson, aprantl, dblaikie

Subscribers: emaste, dim, llvm-commits, JDevlieghere

Differential Revision: https://reviews.llvm.org/D41986

llvm-svn: 322633

6 years agoPartial revert of [OMPT] Rename ompt_mutex_impl_t to kmp_mutex_impl
Joachim Protze [Wed, 17 Jan 2018 11:13:11 +0000 (11:13 +0000)]
Partial revert of [OMPT] Rename ompt_mutex_impl_t to kmp_mutex_impl

The previous commit did not revert all replaced ompt_mutex_impl_unknown.

llvm-svn: 322631

6 years agoRewrite debugger tuning test case to not depend on apple sections
Pavel Labath [Wed, 17 Jan 2018 11:11:53 +0000 (11:11 +0000)]
Rewrite debugger tuning test case to not depend on apple sections

Summary:
In a follow-up commit I'll change the rules for emission of accelerator
tables, which means we won't be able to use them as a litmus test for
the debugger tuning options. Instead of sections, I base the test on the
presence/absence of some debug info attributes and opcodes:
LLDB - prefers DW_OP_form_tls_address and uses DW_AT_APPLE_optimized
GDB - prefers DW_OP_GNU_push_tls_address and does not use the optimized
  attribute
SCE - prefers DW_OP_form_tls_address and does not use the optimized
  attribute

Reviewers: probinson, aprantl, dblaikie

Subscribers: JDevlieghere, llvm-commits

Differential Revision: https://reviews.llvm.org/D41985

llvm-svn: 322630

6 years ago[SCEV] fix typo
Javed Absar [Wed, 17 Jan 2018 11:03:06 +0000 (11:03 +0000)]
[SCEV] fix typo

llvm-svn: 322629

6 years ago[X86][AVX] Add extra 'interleaved+lanepermute' shuffle test
Simon Pilgrim [Wed, 17 Jan 2018 10:56:54 +0000 (10:56 +0000)]
[X86][AVX] Add extra 'interleaved+lanepermute' shuffle test

Possible missed opportunity to use 64-bit lane permute on AVX1 in lowerShuffleAsRepeatedMaskAndLanePermute

llvm-svn: 322628

6 years ago[ThinLTO] - Remove code duplication. NFC.
George Rimar [Wed, 17 Jan 2018 10:33:05 +0000 (10:33 +0000)]
[ThinLTO] - Remove code duplication. NFC.

Refactors 3 copies of isExpected.
Splitted from D42107.

llvm-svn: 322627

6 years ago[clang-tidy] implement check for goto
Jonas Toth [Wed, 17 Jan 2018 10:27:41 +0000 (10:27 +0000)]
[clang-tidy] implement check for goto

The usage of `goto` is discourage in C++ since forever. This check implements
a warning for every `goto`. Even though there are (rare) valid use cases for
`goto`, better high level constructs should be used.

`goto` is used sometimes in C programs to free resources at the end of
functions in the case of errors. This pattern is better implemented with
RAII in C++.

Reviewers: aaron.ballman, alexfh, hokein

Reviewed By: aaron.ballman

Subscribers: lebedev.ri, jbcoe, Eugene.Zelenko, klimek, nemanjai, mgorny, xazax.hun, kbarton, cfe-commits

Differential Revision: https://reviews.llvm.org/D41815

llvm-svn: 322626

6 years ago[ELF] - Stop mixing order of -defsym/-script commands.
George Rimar [Wed, 17 Jan 2018 10:24:49 +0000 (10:24 +0000)]
[ELF] - Stop mixing order of -defsym/-script commands.

Previously we always handled -defsym after other commands in command line.
That made impossible to overload values set by -defsym from linker script:

 test.script:
  foo = 0x22;
-defsym=foo=0x11 -script t.script
would always set foo to 0x11.

That is inconstent with common logic which allows to override command line
options. it is inconsistent with bfd behavior and seems breaks assumption that
-defsym is the same as linker script assignment, as -defsyms always handled out of
command line order.

Patch fixes the handling order.

Differential revision: https://reviews.llvm.org/D42054

llvm-svn: 322625

6 years ago[clang-tidy] fix minor formatting issue
Jonas Toth [Wed, 17 Jan 2018 10:23:50 +0000 (10:23 +0000)]
[clang-tidy] fix minor formatting issue

llvm-svn: 322624

6 years agoAllow usage of X86-prefixes as separate instrs.
Andrew V. Tischenko [Wed, 17 Jan 2018 10:12:06 +0000 (10:12 +0000)]
Allow usage of X86-prefixes as separate instrs.
Differential Revision: https://reviews.llvm.org/D42102

llvm-svn: 322623

6 years ago[OMPT] Add Workaround for Intel Compiler Bug
Joachim Protze [Wed, 17 Jan 2018 10:06:06 +0000 (10:06 +0000)]
[OMPT] Add Workaround for Intel Compiler Bug

Add Workaround for Intel Compiler Bug with Case#: 03138964

A critical region within a nested task causes a segfault in icc 14-18:

int main()
{
  #pragma omp parallel num_threads(2)
  #pragma omp master
    #pragma omp task
      #pragma omp task
        #pragma omp critical
          printf("test\n");
}
When the critical region is in a separate function, the segault does not occur.
So we add noinline to make sure that the function call stays there.

Differential Revision: https://reviews.llvm.org/D41182

llvm-svn: 322622

6 years ago[OMPT] Rename ompt_mutex_impl_t to kmp_mutex_impl
Joachim Protze [Wed, 17 Jan 2018 10:06:01 +0000 (10:06 +0000)]
[OMPT] Rename ompt_mutex_impl_t to kmp_mutex_impl

The defintion is not part of the spec and thus should not have the prefix
"ompt_" but rather a prefix that indicates that this is implementation
specific.

Differential Revision: https://reviews.llvm.org/D41166

llvm-svn: 322621

6 years ago[OMPT] Return appropiate values for ompt runtime entry points for non-OpenMP threads
Joachim Protze [Wed, 17 Jan 2018 10:05:55 +0000 (10:05 +0000)]
[OMPT] Return appropiate values for ompt runtime entry points for non-OpenMP threads

When the current thread is not an (initialized) OpenMP thread, the runtime
entry points return values that correspond to "not available" or similar

Differential Revision: https://reviews.llvm.org/D41167

llvm-svn: 322620

6 years ago[MC] Fix -stack-size-section on ARM
Sean Eveson [Wed, 17 Jan 2018 09:01:29 +0000 (09:01 +0000)]
[MC] Fix -stack-size-section on ARM

Change symbol values in the stack_size section from being 8 bytes, to being a target dependent size.

Differential Revision: https://reviews.llvm.org/D42108

llvm-svn: 322619

6 years ago[CodeGen] Fix a crash on mangling multiversioned functions
George Burgess IV [Wed, 17 Jan 2018 04:46:04 +0000 (04:46 +0000)]
[CodeGen] Fix a crash on mangling multiversioned functions

`multiVersionSortPriority` expects features to have no prefix. We
currently carry them around in the format "+${feature}".

llvm-svn: 322618