platform/upstream/llvm.git
5 years ago[libc++][test] Update some wstring_convert tests for MSVC quirks
Casey Carter [Mon, 22 Apr 2019 19:08:13 +0000 (19:08 +0000)]
[libc++][test] Update some wstring_convert tests for MSVC quirks

Due to MSVC's decision to encode `wchar_t` as UTF-16, it rejects wide
character/string literals that expect a character value greater than
`\xffff`. UTF-16 `wchar_t` is clearly non-conforming, given that the
standard requires wchar_t to be capable of representing all characters
in the supported wide character execution sets, but rejecting e.g.
`\x40003` is a reasonably sane compromise given that encoding choice:
there's an expectation that `\xFOO` produces a single character in the
resulting literal. Consequently `L'\x40003'`/`L"\x40003"` are ill-formed
literals on MSVC. `L'\U00040003'` is a high surrogate (and produces a
warning about ignoring the "second character" in a multi-character
literal), and `L"\U00040003"` is a perfectly-valid `const wchar_t[3]`.

This change updates these tests to use universal-character-names instead
of raw values for the intended character values, which technically makes
them portable even to implementations that don't use a unicode
transformation format encoding for their wide character execution
character set. The two-character literal `L"\u1005e"` is awkward - the
`e` looks like part of the UCN's hex encoding - but necessary to compile
in '03 mode since '03 didn't allow UCNs to be used for members of the
basic execution character set even in character/string literals.

I've also eliminated the extraneous `\x00` "bonus null-terminator" in
some of the string literals which doesn't affect the tested behavior.

I'm sorry about using `*L"\U00040003"` in `conversions.string/to_bytes.pass.cpp`,
but it's correct for platforms with 32-bit wchar_t, *and* doesn't
trigger narrowing warnings as did the prior `CharT(0x40003)`.

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

llvm-svn: 358908

5 years ago[Tests] Revise a test as requested by reviewer in D59703
Philip Reames [Mon, 22 Apr 2019 18:51:58 +0000 (18:51 +0000)]
[Tests] Revise a test as requested by reviewer in D59703

llvm-svn: 358907

5 years ago[Tests] Add a negative test for masked.gather part of D59703
Philip Reames [Mon, 22 Apr 2019 18:28:44 +0000 (18:28 +0000)]
[Tests] Add a negative test for masked.gather part of D59703

llvm-svn: 358906

5 years ago[ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and...
Ben Hamilton [Mon, 22 Apr 2019 17:54:11 +0000 (17:54 +0000)]
[ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and `isInstanceMethod`

Summary:
isClassMessage is an equivalent to isInstanceMessage for ObjCMessageExpr, but matches message expressions to classes.

isClassMethod and isInstanceMethod check whether a method declaration (or definition) is for a class method or instance method (respectively).

Contributed by @mywman!

Reviewers: benhamilton, klimek, mwyman

Reviewed By: benhamilton, mwyman

Subscribers: cfe-commits

Tags: #clang

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

llvm-svn: 358904

5 years ago[IPSCCP] Add missing `AssumptionCacheTracker` dependency
Justin Bogner [Mon, 22 Apr 2019 17:38:29 +0000 (17:38 +0000)]
[IPSCCP] Add missing `AssumptionCacheTracker` dependency

Back in August, r340525 introduced a dependency on the assumption
cache tracker in the ipsccp pass, but that commit missed a call to
INITIALIZE_PASS_DEPENDENCY, which leaves the assumption cache
improperly registered if SCCP is the only thing that pulls it in.

llvm-svn: 358903

5 years ago[OPENMP][NVPTX] Fix the test, NFC.
Alexey Bataev [Mon, 22 Apr 2019 17:25:31 +0000 (17:25 +0000)]
[OPENMP][NVPTX] Fix the test, NFC.

Fix the test to run it really in SPMD mode without runtime. Previously
it was run in SPMD + full runtime mode and does not allow to cehck the
functionality correctly.

llvm-svn: 358902

5 years ago[LPM/BPI] Preserve BPI through trivial loop pass pipeline (e.g. LCSSA, LoopSimplify)
Philip Reames [Mon, 22 Apr 2019 17:13:43 +0000 (17:13 +0000)]
[LPM/BPI] Preserve BPI through trivial loop pass pipeline (e.g. LCSSA, LoopSimplify)

Currently, we do not expose BPI to loop passes at all. In the old pass manager, we appear to have been ignoring the fact that LCSSA and/or LoopSimplify didn't preserve BPI, and making it available to the following loop passes anyways.  In the new one, it's invalidated before running any loop pass if either LCSSA or LoopSimplify actually make changes. If they don't make changes, then BPI is valid and available.  So, we go ahead and teach LCSSA and LoopSimplify how to preserve BPI for consistency between old and new pass managers.

This patch avoids an invalidation between the two requires in the following trivial pass pipeline:
opt -passes="requires<branch-prob>,loop(no-op-loop),requires<branch-prob>"
(when the input file is one which requires either LCSSA or LoopSimplify to canonicalize the loops)

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

llvm-svn: 358901

5 years ago[PGO/SamplePGO][NFC] Move the function updateProfWeight from Instruction
Wei Mi [Mon, 22 Apr 2019 17:04:51 +0000 (17:04 +0000)]
[PGO/SamplePGO][NFC] Move the function updateProfWeight from Instruction
to CallInst.

The issue was raised here: https://reviews.llvm.org/D60903#1472783

The function Instruction::updateProfWeight is only used for CallInst in
profile update. From the current interface, it is very easy to think that
the function can also be used for branch instruction. However, Branch
instruction does't need the scaling the function provides for
branch_weights and VP (value profile), in addition, scaling may introduce
inaccuracy for branch probablity.

The patch moves the function updateProfWeight from Instruction class to
CallInst to remove the confusion. The patch also changes the scaling of
branch_weights from a loop to a block because we know that ProfileData
for branch_weights of CallInst will only have two operands at most.

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

llvm-svn: 358900

5 years ago[WebAssembly] Error on relocations against undefined data symbols.
Sam Clegg [Mon, 22 Apr 2019 16:12:54 +0000 (16:12 +0000)]
[WebAssembly] Error on relocations against undefined data symbols.

We can't (currently) meaningfully resolve certain types of relocations
against undefined data symbols.  Previously when `--allow-undefined` was
used we were treating such relocation much like weak data symbols and
simply inserting zeros.  This change turns such use cases in to an
error.

This means that `--allow-undefined` is no longer effective for data
symbols.

Fixes https://bugs.llvm.org/show_bug.cgi?id=40364

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

llvm-svn: 358899

5 years ago[sema][objc] Minor refactor to OverrideSearch. NFCI.
Matt Davis [Mon, 22 Apr 2019 16:04:44 +0000 (16:04 +0000)]
[sema][objc] Minor refactor to OverrideSearch. NFCI.

Summary:
* Removed a member that was only used during construction.
* Use range-based for iteration when accessing the result of the search.
* Require an `ObjCMethodDecl` reference upon construction of an
* Constify.

Reviewers: rjmccall

Reviewed By: rjmccall

Subscribers: llvm-commits

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

llvm-svn: 358898

5 years agoUse llvm::stable_sort. NFC
Fangrui Song [Mon, 22 Apr 2019 15:53:43 +0000 (15:53 +0000)]
Use llvm::stable_sort. NFC

llvm-svn: 358897

5 years ago[NFC] Fix typo in debug log
Louis Dionne [Mon, 22 Apr 2019 15:40:50 +0000 (15:40 +0000)]
[NFC] Fix typo in debug log

llvm-svn: 358896

5 years agoRemove spurious semicolons; NFC.
Aaron Ballman [Mon, 22 Apr 2019 15:31:09 +0000 (15:31 +0000)]
Remove spurious semicolons; NFC.

llvm-svn: 358895

5 years agoAMDGPU/GlobalISel: Fix non-power-of-2 G_EXTRACT sources
Matt Arsenault [Mon, 22 Apr 2019 15:22:46 +0000 (15:22 +0000)]
AMDGPU/GlobalISel: Fix non-power-of-2 G_EXTRACT sources

llvm-svn: 358894

5 years agoSTLExtras: add stable_sort wrappers
Fangrui Song [Mon, 22 Apr 2019 15:19:13 +0000 (15:19 +0000)]
STLExtras: add stable_sort wrappers

llvm-svn: 358893

5 years agoGlobalISel: Legalize scalar G_EXTRACT sources
Matt Arsenault [Mon, 22 Apr 2019 15:10:42 +0000 (15:10 +0000)]
GlobalISel: Legalize scalar G_EXTRACT sources

llvm-svn: 358892

5 years agollvm-undname: Fix an assert-on-invalid, found by oss-fuzz
Nico Weber [Mon, 22 Apr 2019 15:05:18 +0000 (15:05 +0000)]
llvm-undname: Fix an assert-on-invalid, found by oss-fuzz

llvm-svn: 358891

5 years agoAMDGPU: Fix not checking for copy when looking at copy src
Matt Arsenault [Mon, 22 Apr 2019 14:54:39 +0000 (14:54 +0000)]
AMDGPU: Fix not checking for copy when looking at copy src

Effectively reverts r356956. The check for isFullCopy was excessive,
but there still needs to be a check that this is a copy.

llvm-svn: 358890

5 years ago[LLD][ELF] - Remove a binary from the inputs. NFCI.
George Rimar [Mon, 22 Apr 2019 14:53:32 +0000 (14:53 +0000)]
[LLD][ELF] - Remove a binary from the inputs. NFCI.

section-index.elf was removed and the corresponding test
was replaced with a yaml2obj based test.

llvm-svn: 358889

5 years ago[AMDGPU][MC] Corrected parsing of SP3 'neg' modifier
Dmitry Preobrazhensky [Mon, 22 Apr 2019 14:35:47 +0000 (14:35 +0000)]
[AMDGPU][MC] Corrected parsing of SP3 'neg' modifier

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

Reviewers: artem.tamazov, arsenm

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

llvm-svn: 358888

5 years ago[TargetLowering][AMDGPU][X86] Improve SimplifyDemandedBits bitcast handling
Simon Pilgrim [Mon, 22 Apr 2019 14:04:35 +0000 (14:04 +0000)]
[TargetLowering][AMDGPU][X86] Improve SimplifyDemandedBits bitcast handling

This patch adds support for BigBitWidth -> SmallBitWidth bitcasts, splitting the DemandedBits/Elts accordingly.

The AMDGPU backend needed an extra  (srl (and x, c1 << c2), c2) -> (and (srl(x, c2), c1) combine to encourage BFE creation, I investigated putting this in DAGCombine but it caused a lot of noise on other targets - some improvements, some regressions.

The X86 changes are all definite wins.

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

llvm-svn: 358887

5 years ago[DAGCombiner] make variable name less ambiguous; NFC
Sanjay Patel [Mon, 22 Apr 2019 13:42:50 +0000 (13:42 +0000)]
[DAGCombiner] make variable name less ambiguous; NFC

llvm-svn: 358886

5 years ago[LLD][ELF] - Do not forget to use ch_addralign field after decompressing the sections.
George Rimar [Mon, 22 Apr 2019 13:40:42 +0000 (13:40 +0000)]
[LLD][ELF] - Do not forget to use ch_addralign field after decompressing the sections.

LLD did not use ELF::Chdr::ch_addralign for decompressed sections.
This resulted in a broken output.

Fixes https://bugs.llvm.org/show_bug.cgi?id=40482.

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

llvm-svn: 358885

5 years ago[DAGCombiner] prepare shuffle-of-splat to handle more patterns; NFC
Sanjay Patel [Mon, 22 Apr 2019 13:36:07 +0000 (13:36 +0000)]
[DAGCombiner] prepare shuffle-of-splat to handle more patterns; NFC

llvm-svn: 358884

5 years ago[LLVM-C] Add accessors to the default floating-point metadata node
Robert Widmann [Mon, 22 Apr 2019 13:13:22 +0000 (13:13 +0000)]
[LLVM-C] Add accessors to the default floating-point metadata node

Summary: Add a getter and setter pair for floating-point accuracy metadata.

Reviewers: whitequark, deadalnix

Reviewed By: whitequark

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

llvm-svn: 358883

5 years ago[Sema] ADL: Associated namespaces for class types and enumeration types (CWG 1691)
Bruno Ricci [Mon, 22 Apr 2019 12:19:00 +0000 (12:19 +0000)]
[Sema] ADL: Associated namespaces for class types and enumeration types (CWG 1691)

CWG 1691 changed the definition of the namespaces associated with a class
type or enumeration type.

For a class type, the associated namespaces are the innermost enclosing
namespaces of the associated classes. For an enumeration type, the associated
namespace is the innermost enclosing namespace of its declaration.

This also fixes CWG 1690 and CWG 1692.

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

Reviewed By: rjmccall, rsmith

llvm-svn: 358882

5 years ago[Sema][NFC] Add more tests for the behavior of argument-dependent name lookup
Bruno Ricci [Mon, 22 Apr 2019 11:40:31 +0000 (11:40 +0000)]
[Sema][NFC] Add more tests for the behavior of argument-dependent name lookup

The goal here is to exercise each rule in [basic.lookup.argdep] at least once.
These new tests expose what I believe are 2 issues:

1. CWG 1691 needs to be implemented (p2:  [...] Its associated namespaces are
   the innermost enclosing namespaces of its associated classes [...]) The
   corresponding tests are adl_class_type::X2 and adl_class_type::X5.

2. The end of paragraph 2 ([...] Additionally, if the aforementioned set of
   overloaded functions is named with a template-id, its associated classes
   and namespaces also include those of its type template-arguments and its
   template template-arguments.) is not implemented. Closely related, the
   restriction on non-dependent parameter types in this same paragraph needs
   to be removed. The corresponding tests are in adl_overload_set (both issues
   are from CWG 997).

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

Reviewed By: riccibruno, Quuxplusone

llvm-svn: 358881

5 years ago[NewPM] Add Option handling for SimpleLoopUnswitch
Serguei Katkov [Mon, 22 Apr 2019 10:35:07 +0000 (10:35 +0000)]
[NewPM] Add Option handling for SimpleLoopUnswitch

This patch enables passing options to SimpleLoopUnswitch via the passes pipeline.

Reviewers: chandlerc, fedor.sergeev, leonardchan, philip.pfaffe
Reviewed By: fedor.sergeev
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D60676

llvm-svn: 358880

5 years ago[AMDGPU] Regenerate uitofp i8 to float conversion tests.
Simon Pilgrim [Mon, 22 Apr 2019 10:19:09 +0000 (10:19 +0000)]
[AMDGPU] Regenerate uitofp i8 to float conversion tests.

Prep work for D60462

llvm-svn: 358879

5 years ago[NewPM] Add dummy Test for LoopVectorize option parsing.
Serguei Katkov [Mon, 22 Apr 2019 09:53:26 +0000 (09:53 +0000)]
[NewPM] Add dummy Test for LoopVectorize option parsing.

llvm-svn: 358878

5 years ago[analyzer][www] Moving MoveChecker out of alpha is no longer an open project.
Kristof Umann [Mon, 22 Apr 2019 09:20:23 +0000 (09:20 +0000)]
[analyzer][www] Moving MoveChecker out of alpha is no longer an open project.

llvm-svn: 358877

5 years agoRevert "[ConstantRange] Rename make{Guaranteed -> Exact}NoWrapRegion() NFC"
Nikita Popov [Mon, 22 Apr 2019 09:01:38 +0000 (09:01 +0000)]
Revert "[ConstantRange] Rename make{Guaranteed -> Exact}NoWrapRegion() NFC"

This reverts commit 7bf4d7c07f2fac862ef34c82ad0fef6513452445.

After thinking about this more, this isn't right, the range is not exact
in the same sense as makeExactICmpRegion(). This needs a separate
function.

llvm-svn: 358876

5 years ago[ConstantRange] Rename make{Guaranteed -> Exact}NoWrapRegion() NFC
Nikita Popov [Mon, 22 Apr 2019 08:36:05 +0000 (08:36 +0000)]
[ConstantRange] Rename make{Guaranteed -> Exact}NoWrapRegion() NFC

Following D60632 makeGuaranteedNoWrapRegion() always returns an
exact nowrap region. Rename the function accordingly. This is in
line with the naming of makeExactICmpRegion().

llvm-svn: 358875

5 years ago[LLD][ELF] - Handle quoted strings in the linker scripts correctly.
George Rimar [Mon, 22 Apr 2019 07:57:07 +0000 (07:57 +0000)]
[LLD][ELF] - Handle quoted strings in the linker scripts correctly.

This is the https://bugs.llvm.org/show_bug.cgi?id=41356,

Seems it is kind of unusual case but it is possible to
have sections that require quotes for their namings.
Like "aaa bbb".

This patch adds support for those.

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

llvm-svn: 358874

5 years ago[NativePDB] Add anonymous namespaces support
Aleksandr Urakov [Mon, 22 Apr 2019 07:14:40 +0000 (07:14 +0000)]
[NativePDB] Add anonymous namespaces support

Summary:
This patch adds anonymous namespaces support to the native PDB plugin.

I had to reference from the main function variables of the types that are inside
of the anonymous namespace to include them in debug info. Without the references
they are not included. I think it's because they are static, then are visible
only in the current translation unit, so they are not needed without any
references to them.

There is also the problem case with variables of types that are nested in
template structs. For now I've left FIXME in the test because this case is not
related to the change.

Reviewers: zturner, asmith, labath, stella.stamenova, amccarth

Reviewed By: amccarth

Subscribers: zloyrobot, aprantl, teemperor, lldb-commits, leonid.mashinskiy

Tags: #lldb

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

llvm-svn: 358873

5 years ago[X86] Reject 512-bit types in getRegForInlineAsmConstraint when AVX512 is not enabled...
Craig Topper [Mon, 22 Apr 2019 06:12:02 +0000 (06:12 +0000)]
[X86] Reject 512-bit types in getRegForInlineAsmConstraint when AVX512 is not enabled. Same for 256 bit and AVX.

llvm-svn: 358872

5 years ago[WebAssembly] Fix R_WASM_FUNCTION_OFFSET_I32 relocation warnings
Sam Clegg [Mon, 22 Apr 2019 05:26:44 +0000 (05:26 +0000)]
[WebAssembly] Fix R_WASM_FUNCTION_OFFSET_I32 relocation warnings

We were incorrectly used the symbol table version of the function rather
than the object-local version when checking the existing relocation
value.

This was causing erroneous warnings for comat symbols defined in
multiple object.s

Fixes: https://bugs.llvm.org/show_bug.cgi?id=40503

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

llvm-svn: 358871

5 years ago[ELF][X86] Allow R_386_TLS_LDO_32 and R_X86_64_DTPOFF{32,64} to preemptable local...
Fangrui Song [Mon, 22 Apr 2019 03:10:40 +0000 (03:10 +0000)]
[ELF][X86] Allow R_386_TLS_LDO_32 and R_X86_64_DTPOFF{32,64} to preemptable local-dynamic symbols

Summary:
Fixes PR35242. A simplified reproduce:

    thread_local int i; int f() { return i; }

% {g++,clang++} -fPIC -shared -ftls-model=local-dynamic -fuse-ld=lld a.cc
ld.lld: error: can't create dynamic relocation R_X86_64_DTPOFF32 against symbol: i in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output

In isStaticLinkTimeConstant(), Syn.IsPreemptible is true, so it is not
seen as a constant. The error is then issued in processRelocAux().

A symbol of the local-dynamic TLS model cannot be preempted but it can
preempt symbols of the global-dynamic TLS model in other DSOs.
So it makes some sense that the variable is not static.

This patch fixes the linking error by changing getRelExpr() on
R_386_TLS_LDO_32 and R_X86_64_DTPOFF{32,64} from R_ABS to R_DTPREL.
R_PPC64_DTPREL_* and R_MIPS_TLS_DTPREL_* need similar fixes, but they are not handled in this patch.

As a bonus, we use `if (Expr == R_ABS && !Config->Shared)` to find
ld-to-le opportunities. R_ABS is overloaded here for such STT_TLS symbols.
A dedicated R_DTPREL is clearer.

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

llvm-svn: 358870

5 years ago[JITLink] Remove a lot of reduntant 'JITLink_' prefixes. NFC.
Lang Hames [Mon, 22 Apr 2019 03:03:09 +0000 (03:03 +0000)]
[JITLink] Remove a lot of reduntant 'JITLink_' prefixes. NFC.

llvm-svn: 358869

5 years ago[ELF][X86] Rename R_RELAX_TLS_GD_TO_IE_END to R_RELAX_TLS_GD_TO_IE_GOTPLT
Fangrui Song [Mon, 22 Apr 2019 02:48:37 +0000 (02:48 +0000)]
[ELF][X86] Rename R_RELAX_TLS_GD_TO_IE_END to R_RELAX_TLS_GD_TO_IE_GOTPLT

Summary:
This relocation type is used by R_386_TLS_GD. Its formula is the same as
R_GOTPLT (e.g R_X86_64_GOT{32,64} R_386_TLS_GOTIE). Rename it to be clearer.

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

llvm-svn: 358868

5 years ago[cmake] Add llvm-jit to LLVM_TEST_DEPENDS
Fangrui Song [Mon, 22 Apr 2019 02:23:09 +0000 (02:23 +0000)]
[cmake] Add llvm-jit to LLVM_TEST_DEPENDS

Otherwise llvm-jit would say "utils/lit/lit/llvm/subst.py:127: note: Did not find llvm-jitlink in ..."

llvm-svn: 358867

5 years ago[clangd] Support dependent bases in type hierarchy
Fangrui Song [Mon, 22 Apr 2019 01:38:53 +0000 (01:38 +0000)]
[clangd] Support dependent bases in type hierarchy

Patch by Nathan Ridge!

Dependent bases are handled heuristically, by replacing them with the
class template that they are a specialization of, where possible. Care
is taken to avoid infinite recursion.

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

llvm-svn: 358866

5 years ago[JITLink] Fix section start address calculation in eh-frame recorder.
Lang Hames [Mon, 22 Apr 2019 01:35:16 +0000 (01:35 +0000)]
[JITLink] Fix section start address calculation in eh-frame recorder.

Section atoms are not sorted, so we need to scan the whole section to find the
start address.

No test case: Found by inspection, and any reproduction would depend on pointer
ordering.

llvm-svn: 358865

5 years agoAttemp get llvm-jitlink building on Windows
Nico Weber [Sun, 21 Apr 2019 23:50:24 +0000 (23:50 +0000)]
Attemp get llvm-jitlink building on Windows

By removing an include of dlfcn.h that looks unused.

And clang-format a too-long line while here.

llvm-svn: 358864

5 years ago[JITLink] Add an option to dump relocated section content.
Lang Hames [Sun, 21 Apr 2019 20:34:19 +0000 (20:34 +0000)]
[JITLink] Add an option to dump relocated section content.

The -dump-relocated-section-content option will dump the contents of each
section after relocations are applied, and before any checks are run or
code executed.

llvm-svn: 358863

5 years agogn build: Re-run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`
Nico Weber [Sun, 21 Apr 2019 20:14:21 +0000 (20:14 +0000)]
gn build: Re-run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`

llvm-svn: 358862

5 years agogn build: Merge r358749
Nico Weber [Sun, 21 Apr 2019 20:08:45 +0000 (20:08 +0000)]
gn build: Merge r358749

Since the symlinks list for llvm-symbolizer is now never empty,
the :symlinks target no longer needs an explicit dep on :llvm-symbolizer
-- there will be at least one dep on a symlink, and each symlink depends
on :llvm-symbolizer already.

Since llvm-symbolizer:symlinks now produces symlinks that check-llvm
uses, make llvm/test depend on the symlink target.

llvm-svn: 358861

5 years agogn build: Merge r358818 (JITLink)
Nico Weber [Sun, 21 Apr 2019 19:45:37 +0000 (19:45 +0000)]
gn build: Merge r358818 (JITLink)

llvm-svn: 358860

5 years ago[cmake] Fix bug in r358779 - [CMake] Pass monorepo build settings in cross compile
Don Hinton [Sun, 21 Apr 2019 19:20:13 +0000 (19:20 +0000)]
[cmake] Fix bug in r358779 - [CMake] Pass monorepo build settings in cross compile

Escape semicolons in the targets list so that cmake doesn't expand
them to spaces.

llvm-svn: 358859

5 years agoAttempt to fix LLVM_ENABLE_THREADS=OFF build after r358665
Nico Weber [Sun, 21 Apr 2019 19:18:41 +0000 (19:18 +0000)]
Attempt to fix LLVM_ENABLE_THREADS=OFF build after r358665

llvm-svn: 358858

5 years agollvm-undname: Fix hex escapes in wchar_t, char16_t, char32_t strings
Nico Weber [Sun, 21 Apr 2019 17:19:27 +0000 (17:19 +0000)]
llvm-undname: Fix hex escapes in wchar_t, char16_t, char32_t strings

llvm-undname used to put '\x' in front of every pair of nibbles, but
u"\xD7\xFF" produces a string with 6 bytes: \xD7 \0 \xFF \0 (and \0\0). Correct
for a single character (plus terminating \0) is u\xD7FF instead.
Now, wchar_t, char16_t, and char32_t strings roundtrip from source to
clang-cl (and cl.exe) and then llvm-undname.

(...at least as long as it's not a string like L"\xD7FF" L"foo" which
gets demangled as L"\xD7FFfoo", where the compiler then considers the
"f" as part of the hex escape. That seems ok.)

Also add a comment saying that the "almost-valid" char32_t string I
added in my last commit is actually produced by compilers.

llvm-svn: 358857

5 years agollvm-undname: Fix stack overflow on almost-valid
Nico Weber [Sun, 21 Apr 2019 16:58:25 +0000 (16:58 +0000)]
llvm-undname: Fix stack overflow on almost-valid

If a unsigned with all 4 bytes non-0 was passed to outputHex(), there
were two off-by-ones in it:

- Both MaxPos and Pos left space for the final \0, which left the buffer
  one byte to small. Set MaxPos to 16 instead of 15 to fix.

- The `assert(Pos >= 0);` was after a `Pos--`, move it up one line.

Since valid Unicode codepoints are <= 0x10ffff, this could never really
happen in practice.

Found by oss-fuzz.

llvm-svn: 358856

5 years ago[ConstantRange] Add saturating add/sub methods
Nikita Popov [Sun, 21 Apr 2019 15:23:05 +0000 (15:23 +0000)]
[ConstantRange] Add saturating add/sub methods

Add support for uadd_sat and friends to ConstantRange, so we can
handle uadd.sat and friends in LVI. The implementation is forwarding
to the corresponding APInt methods with appropriate bounds.

One thing worth pointing out here is that the handling of wrapping
ranges is not maximally accurate. A simple example is that adding 0
to a wrapped range will return a full range, rather than the original
wrapped range. The tests also only check that the non-wrapping
envelope is correct and minimal.

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

llvm-svn: 358855

5 years ago[ConstantRange] Add getNonEmpty() constructor
Nikita Popov [Sun, 21 Apr 2019 15:22:54 +0000 (15:22 +0000)]
[ConstantRange] Add getNonEmpty() constructor

ConstantRanges have an annoying special case: If upper and lower are
the same, it can be either an empty or a full set. When constructing
constant ranges nearly always a full set is intended, but this still
requires an explicit check in many places.

This revision adds a getNonEmpty() constructor that disambiguates this
case: If upper and lower are the same, a full set is created.

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

llvm-svn: 358854

5 years ago[AArch64] add tests with multiple binop+splat vals; NFC
Sanjay Patel [Sun, 21 Apr 2019 15:01:19 +0000 (15:01 +0000)]
[AArch64] add tests with multiple binop+splat vals; NFC

See D60890 for context.

llvm-svn: 358853

5 years agollvm-undname: Fix stack overflow on invalid found by oss-fuzz
Nico Weber [Sun, 21 Apr 2019 14:25:07 +0000 (14:25 +0000)]
llvm-undname: Fix stack overflow on invalid found by oss-fuzz

llvm-svn: 358852

5 years agogn build: Fix build after r358837
Nico Weber [Sun, 21 Apr 2019 14:07:13 +0000 (14:07 +0000)]
gn build: Fix build after r358837

llvm-svn: 358851

5 years agoMinidump: yamlify module-related unit tests
Pavel Labath [Sun, 21 Apr 2019 13:12:40 +0000 (13:12 +0000)]
Minidump: yamlify module-related unit tests

The tests reading the untouched module list are now not using any lldb
code (as module list loading lives in llvm now), so they can be removed.
The "filtering" of the module list remains (and probably will remain) an
lldb concept, so I keep those tests, but replace the checked-in binaries
with their yaml equivalents.

The binaries which are no longer referenced by any tests have been
removed.

llvm-svn: 358850

5 years ago[Sema][MSVC] Fix bogus microsoft-pure-definition warning on member function of class...
Bruno Ricci [Sun, 21 Apr 2019 13:12:10 +0000 (13:12 +0000)]
[Sema][MSVC] Fix bogus microsoft-pure-definition warning on member function of class template

Clang emits a warning when using a pure specifier =0 in a function definition
at class scope (a MS-specific construct), when using -fms-extensions.
However, to detect this, it was using FD->isCanonicalDecl() on function
declaration, which was also detecting out-of-class definition of member
functions of class templates. Fix this by using !FD->isOutOfLine() instead.

Fixes PR21334.

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

Reviewed By: riccibruno

Reviewers: rnk, riccibruno

Patch By: Rudy Pons

llvm-svn: 358849

5 years ago@skipIfLinux flaky lldb-mi tests
Pavel Labath [Sun, 21 Apr 2019 13:02:49 +0000 (13:02 +0000)]
@skipIfLinux flaky lldb-mi tests

llvm-svn: 358848

5 years agoMake TestVSCode_step pass reliably
Pavel Labath [Sun, 21 Apr 2019 13:02:41 +0000 (13:02 +0000)]
Make TestVSCode_step pass reliably

Summary:
The test was failing occasionally (1% of runs or so), because of
unpredictable timings between the two threads spawned by the test. If
the second thread hit the breakpoint right as we were stepping out of
the function on the first thread, we would still be stuck at the inner
frame when the process stopped.

This would cause errors like:
    File "/home/worker/lldb-x86_64-debian/lldb-x86_64-debian/llvm/tools/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/TestVSCode_step.py", line 67, in test_step
      self.assertEqual(x1, x3, 'verify step out variable')
  AssertionError: 2 != 1 : verify step out variable

AFAICT, lldb-vscode is doing the right thing here, and the problem is
that the test is not taking this sequence of events into account. Since
the test is about testing stepping, it does not seem necessary to have
threads in the inferior at all, so I just rewrite the test to execute
the code we're supposed to step through directly on the main thread.

Reviewers: clayborg, jgorbe

Subscribers: jfb, lldb-commits

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

llvm-svn: 358847

5 years agomodify-python-lldb.py: Remove docstring formatting code
Pavel Labath [Sun, 21 Apr 2019 12:48:53 +0000 (12:48 +0000)]
modify-python-lldb.py: Remove docstring formatting code

The strings have been already cleaned up in r358683, so this code is not
doing anything anymore.

While comparing the outputs before and after removing the formatting
code, I've found a couple of docstrings that managed to escape my perl
script in r358683, so I format them manually with this patch.

llvm-svn: 358846

5 years ago[ARM] Rewrite isLegalT2AddressImmediate
David Green [Sun, 21 Apr 2019 09:54:29 +0000 (09:54 +0000)]
[ARM] Rewrite isLegalT2AddressImmediate

This does two main things, firstly adding some at least basic addressing modes
for i64 types, and secondly treats floats and doubles sensibly when there is no
fpu. The floating point change can help codesize in some cases, especially with
D60294.

Most backends seems to not consider the exact VT in isLegalAddressingMode,
instead switching on type size. That is now what this does when the target does
not have an fpu (as the float data will be loaded using LDR's). i64's currently
use the address range of an LDRD (even though they may be legalised and loaded
with an LDR). This is at least better than marking them all as illegal
addressing modes.

I have not attempted to do much with vectors yet. That will need changing once
MVE is added.

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

llvm-svn: 358845

5 years ago[X86] Add the rounding control operand to the printing for some scalar FMA instructions.
Craig Topper [Sun, 21 Apr 2019 07:12:56 +0000 (07:12 +0000)]
[X86] Add the rounding control operand to the printing for some scalar FMA instructions.

llvm-svn: 358844

5 years ago[CachePruning] Simplify comparator
Fangrui Song [Sun, 21 Apr 2019 06:17:40 +0000 (06:17 +0000)]
[CachePruning] Simplify comparator

llvm-svn: 358843

5 years ago[JITLink] Add dependency on MCParser to unit test after rL358818
Fangrui Song [Sun, 21 Apr 2019 06:12:00 +0000 (06:12 +0000)]
[JITLink] Add dependency on MCParser to unit test after rL358818

This is required by -DBUILD_SHARED_LIBS=on builds for createMCAsmParser.

llvm-svn: 358842

5 years ago[X86] Don't form masked vfpclass instruction from and+vfpclass unless the fpclass...
Craig Topper [Sun, 21 Apr 2019 05:18:04 +0000 (05:18 +0000)]
[X86] Don't form masked vfpclass instruction from and+vfpclass unless the fpclass only has a single use.

llvm-svn: 358841

5 years ago[JITLink] Remove an overly strict error check in JITLink's eh-frame parser.
Lang Hames [Sun, 21 Apr 2019 04:48:32 +0000 (04:48 +0000)]
[JITLink] Remove an overly strict error check in JITLink's eh-frame parser.

The error check required FDEs to refer to the most recent CIE, but the eh-frame
spec allows them to refer to any previously seen CIE. This patch removes the
offending check.

llvm-svn: 358840

5 years ago[BinaryFormat] Fix bitfield-ordering of MachO::relocation_info on big-endian.
Lang Hames [Sun, 21 Apr 2019 03:14:43 +0000 (03:14 +0000)]
[BinaryFormat] Fix bitfield-ordering of MachO::relocation_info on big-endian.

Hopefully this will fix the JITLink regression test failures on big-endian
testers (e.g.
http://lab.llvm.org:8011/builders/clang-s390x-linux-lnt/builds/12702)

llvm-svn: 358839

5 years ago[JITLink] Factor basic common GOT and stub creation code into its own class.
Lang Hames [Sun, 21 Apr 2019 03:14:42 +0000 (03:14 +0000)]
[JITLink] Factor basic common GOT and stub creation code into its own class.

llvm-svn: 358838

5 years ago[gn] Move Features.inc to clangd, create a config for it
Petr Hosek [Sun, 21 Apr 2019 01:09:15 +0000 (01:09 +0000)]
[gn] Move Features.inc to clangd, create a config for it

ClangdLSPServer and clangd unittests now include Features.inc so we
need to append the target_gen_dir that contains it to their
include_dirs. To do so, we use a public config that's applied to
any target that depends on the features one.

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

llvm-svn: 358837

5 years ago[JITLink] Add dependencies on MCDissassembler and Target to unit test.
Lang Hames [Sun, 21 Apr 2019 00:35:58 +0000 (00:35 +0000)]
[JITLink] Add dependencies on MCDissassembler and Target to unit test.

llvm-svn: 358836

5 years agollvm-undname: Improve string literal demangling with embedded \0 chars
Nico Weber [Sat, 20 Apr 2019 23:59:06 +0000 (23:59 +0000)]
llvm-undname: Improve string literal demangling with embedded \0 chars

- Don't assert when a string looks like a u32 string to the heuristic
  but doesn't have a length that's 0 mod 4.  Instead, classify those
  as u16 with embedded \0 chars. Found by oss-fuzz.
- Print embedded nul bytes as \0 instead of \x00.

llvm-svn: 358835

5 years agoftime-trace: Trace the name of the currently active pass as well.
Nico Weber [Sat, 20 Apr 2019 23:22:45 +0000 (23:22 +0000)]
ftime-trace: Trace the name of the currently active pass as well.

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

llvm-svn: 358834

5 years ago[JITLink] Add yet more detail to MachO/x86-64 unsupported relocation errors.
Lang Hames [Sat, 20 Apr 2019 22:59:43 +0000 (22:59 +0000)]
[JITLink] Add yet more detail to MachO/x86-64 unsupported relocation errors.

Knowing the address/symbolnum field values makes it easier to identify the
unsupported relocation, and provides enough information for the full bit
pattern of the relocation to be reconstructed.

llvm-svn: 358833

5 years ago[JITLink][ORC] Add JITLink to the list of dependencies for ORC.
Lang Hames [Sat, 20 Apr 2019 22:15:57 +0000 (22:15 +0000)]
[JITLink][ORC] Add JITLink to the list of dependencies for ORC.

The new ObjectLinkingLayer in ORC depends on JITLink.

This should fix the build error at
http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/9621

llvm-svn: 358832

5 years ago[JITLink] Fix a bad formatv format string.
Lang Hames [Sat, 20 Apr 2019 22:06:12 +0000 (22:06 +0000)]
[JITLink] Fix a bad formatv format string.

llvm-svn: 358831

5 years ago[JITLink] Disable MachO/x86-64 regression test if the X86 target is not built.
Lang Hames [Sat, 20 Apr 2019 21:32:49 +0000 (21:32 +0000)]
[JITLink] Disable MachO/x86-64 regression test if the X86 target is not built.

llvm-svn: 358830

5 years agoRevert r358800. Breaks Obsequi from the test suite.
Amara Emerson [Sat, 20 Apr 2019 21:25:00 +0000 (21:25 +0000)]
Revert r358800. Breaks Obsequi from the test suite.

The last attempt fixed gcc and consumer-typeset, but Obsequi seems to fail with
a different issue.

llvm-svn: 358829

5 years ago[JITLink] Add llvm-jitlink to the list of available tools in lit.
Lang Hames [Sat, 20 Apr 2019 20:05:30 +0000 (20:05 +0000)]
[JITLink] Add llvm-jitlink to the list of available tools in lit.

Should fix the 'llvm-jitlink command not found' errors that are appearing on
some builders.

llvm-svn: 358828

5 years ago[JITLink] Add BinaryFormat to JITLink's dependencies.
Lang Hames [Sat, 20 Apr 2019 19:48:45 +0000 (19:48 +0000)]
[JITLink] Add BinaryFormat to JITLink's dependencies.

Hopefully this will fix the missing dependence on llvm::identify_magic that is
showing up on some PPC bots. E.g.

http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/9617

llvm-svn: 358827

5 years ago[JITLink] Add more detail to MachO/x86-64 "unsupported relocation" errors.
Lang Hames [Sat, 20 Apr 2019 18:50:13 +0000 (18:50 +0000)]
[JITLink] Add more detail to MachO/x86-64 "unsupported relocation" errors.

The extra information here will be helpful in diagnosing errors, like the
ones currently occuring on the PPC big-endian bots. :)

llvm-svn: 358826

5 years ago[JITLink] Add check to JITLink unit test to bail out for unsupported targets.
Lang Hames [Sat, 20 Apr 2019 18:30:17 +0000 (18:30 +0000)]
[JITLink] Add check to JITLink unit test to bail out for unsupported targets.

This should prevent spurious JITLink unit test failures for builds that do not
support the target(s) required by the tests.

llvm-svn: 358825

5 years ago[JITLink] Silence some MSVC implicit cast warnings.
Lang Hames [Sat, 20 Apr 2019 18:30:16 +0000 (18:30 +0000)]
[JITLink] Silence some MSVC implicit cast warnings.

llvm-svn: 358824

5 years ago[JITLink] Add llvm-jitlink subdirectory to tools/LLVMBuild.txt
Lang Hames [Sat, 20 Apr 2019 17:58:29 +0000 (17:58 +0000)]
[JITLink] Add llvm-jitlink subdirectory to tools/LLVMBuild.txt

llvm-svn: 358823

5 years ago[JITLink] Use memset instead of bzero.
Lang Hames [Sat, 20 Apr 2019 17:49:58 +0000 (17:49 +0000)]
[JITLink] Use memset instead of bzero.

llvm-svn: 358822

5 years ago[JITLink] Silence a narrowing conversion warning.
Lang Hames [Sat, 20 Apr 2019 17:37:09 +0000 (17:37 +0000)]
[JITLink] Silence a narrowing conversion warning.

llvm-svn: 358821

5 years ago[JITLink] Update BuildingAJIT tutorials to account for API changes in r358818.
Lang Hames [Sat, 20 Apr 2019 17:35:28 +0000 (17:35 +0000)]
[JITLink] Update BuildingAJIT tutorials to account for API changes in r358818.

DynamicLibrarySearchGenerator::GetForCurrentProcess now takes a char (the global
prefix) rather than a DataLayout reference.

llvm-svn: 358820

5 years ago[JITLink] Fix a missing header and bad prototype.
Lang Hames [Sat, 20 Apr 2019 17:29:57 +0000 (17:29 +0000)]
[JITLink] Fix a missing header and bad prototype.

llvm-svn: 358819

5 years agoInitial implementation of JITLink - A replacement for RuntimeDyld.
Lang Hames [Sat, 20 Apr 2019 17:10:34 +0000 (17:10 +0000)]
Initial implementation of JITLink - A replacement for RuntimeDyld.

Summary:

JITLink is a jit-linker that performs the same high-level task as RuntimeDyld:
it parses relocatable object files and makes their contents runnable in a target
process.

JITLink aims to improve on RuntimeDyld in several ways:

(1) A clear design intended to maximize code-sharing while minimizing coupling.

RuntimeDyld has been developed in an ad-hoc fashion for a number of years and
this had led to intermingling of code for multiple architectures (e.g. in
RuntimeDyldELF::processRelocationRef) in a way that makes the code more
difficult to read, reason about, extend. JITLink is designed to isolate
format and architecture specific code, while still sharing generic code.

(2) Support for native code models.

RuntimeDyld required the use of large code models (where calls to external
functions are made indirectly via registers) for many of platforms due to its
restrictive model for stub generation (one "stub" per symbol). JITLink allows
arbitrary mutation of the atom graph, allowing both GOT and PLT atoms to be
added naturally.

(3) Native support for asynchronous linking.

JITLink uses asynchronous calls for symbol resolution and finalization: these
callbacks are passed a continuation function that they must call to complete the
linker's work. This allows for cleaner interoperation with the new concurrent
ORC JIT APIs, while still being easily implementable in synchronous style if
asynchrony is not needed.

To maximise sharing, the design has a hierarchy of common code:

(1) Generic atom-graph data structure and algorithms (e.g. dead stripping and
 |  memory allocation) that are intended to be shared by all architectures.
 |
 + -- (2) Shared per-format code that utilizes (1), e.g. Generic MachO to
       |  atom-graph parsing.
       |
       + -- (3) Architecture specific code that uses (1) and (2). E.g.
                JITLinkerMachO_x86_64, which adds x86-64 specific relocation
                support to (2) to build and patch up the atom graph.

To support asynchronous symbol resolution and finalization, the callbacks for
these operations take continuations as arguments:

  using JITLinkAsyncLookupContinuation =
      std::function<void(Expected<AsyncLookupResult> LR)>;

  using JITLinkAsyncLookupFunction =
      std::function<void(const DenseSet<StringRef> &Symbols,
                         JITLinkAsyncLookupContinuation LookupContinuation)>;

  using FinalizeContinuation = std::function<void(Error)>;

  virtual void finalizeAsync(FinalizeContinuation OnFinalize);

In addition to its headline features, JITLink also makes other improvements:

  - Dead stripping support: symbols that are not used (e.g. redundant ODR
    definitions) are discarded, and take up no memory in the target process
    (In contrast, RuntimeDyld supported pointer equality for weak definitions,
    but the redundant definitions stayed resident in memory).

  - Improved exception handling support. JITLink provides a much more extensive
    eh-frame parser than RuntimeDyld, and is able to correctly fix up many
    eh-frame sections that RuntimeDyld currently (silently) fails on.

  - More extensive validation and error handling throughout.

This initial patch supports linking MachO/x86-64 only. Work on support for
other architectures and formats will happen in-tree.

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

llvm-svn: 358818

5 years ago[X86] Disable argument copy elision for arguments passed via pointers
Craig Topper [Sat, 20 Apr 2019 15:26:44 +0000 (15:26 +0000)]
[X86] Disable argument copy elision for arguments passed via pointers

Summary:
If you pass two 1024 bit vectors in IR with AVX2 on Windows 64. Both vectors will be split in four 256 bit pieces. The four pieces of the first argument will be passed indirectly using 4 gprs. The second argument will get passed via pointers in memory.

The PartOffsets stored for the second argument are all in terms of its original 1024 bit size. So the PartOffsets for each piece are 32 bytes apart. So if we consider it for copy elision we'll only load an 8 byte pointer, but we'll move the address 32 bytes. The stack object size we create for the first part is probably wrong too.

This issue was encountered by ISPC. I'm working on getting a reduce test case, but wanted to go ahead and get feedback on the fix.

Reviewers: rnk

Reviewed By: rnk

Subscribers: dbabokin, llvm-commits, hiraditya

Tags: #llvm

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

llvm-svn: 358817

5 years ago[CorrelatedValuePropagation] Mark subs that we know not to wrap with nuw/nsw.
Luqman Aden [Sat, 20 Apr 2019 13:14:18 +0000 (13:14 +0000)]
[CorrelatedValuePropagation] Mark subs that we know not to wrap with nuw/nsw.

Summary:
Teach CorrelatedValuePropagation to also handle sub instructions in addition to add. Relatively simple since makeGuaranteedNoWrapRegion already understood sub instructions. Only subtle change is which range is passed as "Other" to that function, since sub isn't commutative.

Note that CorrelatedValuePropagation::processAddSub is still hidden behind a default-off flag as IndVarSimplify hasn't yet been fixed to strip the added nsw/nuw flags and causes a miscompile. (PR31181)

Reviewers: sanjoy, apilipenko, nikic

Reviewed By: nikic

Subscribers: hiraditya, jfb, jdoerfert, llvm-commits

Tags: #llvm

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

llvm-svn: 358816

5 years ago[ExecutionDomainFix] Optimize a binary search insertion
Fangrui Song [Sat, 20 Apr 2019 13:00:50 +0000 (13:00 +0000)]
[ExecutionDomainFix] Optimize a binary search insertion

llvm-svn: 358815

5 years ago[llvm-symbolizer] Fix section index at the end of a section
Fangrui Song [Sat, 20 Apr 2019 13:00:09 +0000 (13:00 +0000)]
[llvm-symbolizer] Fix section index at the end of a section

This is very minor issue. The returned section index is only used by
DWARFDebugLine as an llvm::upper_bound input and the use case shouldn't
cause any behavioral change.

llvm-svn: 358814

5 years ago[IndVarSimplify] Generate full checks for some LFTR tests; NFC
Nikita Popov [Sat, 20 Apr 2019 12:05:53 +0000 (12:05 +0000)]
[IndVarSimplify] Generate full checks for some LFTR tests; NFC

llvm-svn: 358813

5 years ago[IndVarSimplify] Add tests for PR31181; NFC
Nikita Popov [Sat, 20 Apr 2019 12:05:43 +0000 (12:05 +0000)]
[IndVarSimplify] Add tests for PR31181; NFC

llvm-svn: 358812

5 years ago[ADT] Avoid warning in bsearch testcase
Sam McCall [Sat, 20 Apr 2019 11:48:11 +0000 (11:48 +0000)]
[ADT] Avoid warning in bsearch testcase

llvm-svn: 358811

5 years ago[LLD][ELF] - Fix mistype. NFC.
George Rimar [Sat, 20 Apr 2019 10:50:27 +0000 (10:50 +0000)]
[LLD][ELF] - Fix mistype. NFC.

Change the tripple name from
aarch64-linux-gnux to -triple=aarch64-linux-gnu

llvm-svn: 358810

5 years ago[llvm-objdump] Fix End in disassemblyObject after rL358806
Fangrui Song [Sat, 20 Apr 2019 07:48:41 +0000 (07:48 +0000)]
[llvm-objdump] Fix End in disassemblyObject after rL358806

llvm-svn: 358809

5 years ago[CVP] Add tests for sub nowrap inference; NFC
Nikita Popov [Sat, 20 Apr 2019 07:43:15 +0000 (07:43 +0000)]
[CVP] Add tests for sub nowrap inference; NFC

These are baseline tests for D60036.

Patch by Luqman Aden.

llvm-svn: 358808