platform/upstream/llvm.git
7 years ago[llvm-objcopy] Fix major layout bugs in llvm-objcopy
Jake Ehrlich [Wed, 4 Oct 2017 17:44:42 +0000 (17:44 +0000)]
[llvm-objcopy] Fix major layout bugs in llvm-objcopy

Somehow a few massive errors slipped though the cracks of testing.

1. The code in Segment::finalize was left over from the old layout
algorithm. In certain situations this would cause very strange issues
with segment layout. For instance in the shift-segments.test case it
would cause the second segment to have the same offset as the first.

2. In debugging this I discovered another issue. Namely section alignment
was not being computed based on Section->Align but instead
Section->Offset which is bizarre and makes no sense. I have no clue how
it worked in the first place. This issue is also fixed

3. Fixing #2 exposed a bug where things were not being written past the end
of the file that technically should have been. This was because in
certain cases (like overlapping-segments) the end of the file wouldn't
always be bumped if the offset could be chosen relative to an existing
segment that already had it's offset chosen. For fully nested segments
this is fine but for overlapping segments this leaves the end of the
file short. So I changed how the offset is bumped when looping though
segments.

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

llvm-svn: 314918

7 years ago[Dominators] Take fast path when applying <=1 updates
Jakub Kuderski [Wed, 4 Oct 2017 17:32:55 +0000 (17:32 +0000)]
[Dominators] Take fast path when applying <=1 updates

Summary:
This patch teaches `DT.applyUpdates` to take the fast when applying zero or just one update and makes it not run the internal batch updater machinery.

With this patch, it should no longer make sense to have a special check in user's code that checks the update sequence size before applying them, e.g.
```
if (!MyUpdates.empty())
  DT.applyUpdates(MyUpdates);
```
or
```
if (MyUpdates.size() == 1)
  if (...)
    DT.insertEdge(...)
  else
    DT.deleteEdge(...)
```

Reviewers: dberlin, brzycki, davide, grosser, sanjoy

Reviewed By: dberlin, davide

Subscribers: llvm-commits

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

llvm-svn: 314917

7 years ago[X86][SSE] Add support for lowering v8i16 binary shuffles to PACKSS/PACKUS
Simon Pilgrim [Wed, 4 Oct 2017 17:31:28 +0000 (17:31 +0000)]
[X86][SSE] Add support for lowering v8i16 binary shuffles to PACKSS/PACKUS

Missed in D38472

llvm-svn: 314916

7 years ago[test] Fix append_path in the empty case
Francis Ricci [Wed, 4 Oct 2017 17:30:28 +0000 (17:30 +0000)]
[test] Fix append_path in the empty case

Summary:
normpath() was being called on an empty string and appended to
the environment variable in the case where the environment variable
was unset. This led to ":." being appended to the path, since
normpath() of an empty string is '.', presumably to represent cwd.

Reviewers: zturner, sqlbyme, modocache

Subscribers: llvm-commits

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

llvm-svn: 314915

7 years ago[X86] Redefine MOVSS/MOVSD instructions to take VR128 regclass as input instead of...
Craig Topper [Wed, 4 Oct 2017 17:20:12 +0000 (17:20 +0000)]
[X86] Redefine MOVSS/MOVSD instructions to take VR128 regclass as input instead of FR32/FR64

This patch redefines the MOVSS/MOVSD instructions to take VR128 as its second input. This allows the MOVSS/SD->BLEND commute to work without requiring a COPY to be inserted.

This should fix PR33079

Overall this looks to be an improvement in the generated code. I haven't checked the EXPENSIVE_CHECKS build but I'll do that and update with results.

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

llvm-svn: 314914

7 years ago[clang-tidy] Emit note for variable declaration that are later deleted
Jonas Toth [Wed, 4 Oct 2017 16:49:20 +0000 (16:49 +0000)]
[clang-tidy] Emit note for variable declaration that are later deleted

This patch introduces a note for variable declaration that are later deleted.
Adds FIXME notes for possible automatic type-rewriting positions as well.

Reviewed by aaron.ballman
Differential: https://reviews.llvm.org/D38411

llvm-svn: 314913

7 years ago"[ARM] Mark flaky test MachineBranchProb.ll unsupported again for ARM/AArch64"
Balaram Makam [Wed, 4 Oct 2017 16:45:24 +0000 (16:45 +0000)]
"[ARM] Mark flaky test MachineBranchProb.ll unsupported again for ARM/AArch64"

r314857 changed the CFG that resulted in the flaky test MachineBranchProb.ll to
fail the bots again. Marking it as unsupported for ARM/AArch64 again until we
find the cause.

llvm-svn: 314912

7 years agobpf: fix an insn encoding issue for neg insn
Yonghong Song [Wed, 4 Oct 2017 16:11:52 +0000 (16:11 +0000)]
bpf: fix an insn encoding issue for neg insn

Signed-off-by: Yonghong Song <yhs@fb.com>
llvm-svn: 314911

7 years ago[analyzer] Fix autodetection of binding types.
Artem Dergachev [Wed, 4 Oct 2017 15:59:40 +0000 (15:59 +0000)]
[analyzer] Fix autodetection of binding types.

In ProgramState::getSVal(Location, Type) API which dereferences a pointer value,
when the optional Type parameter is not supplied and the Location is not typed,
type should have been guessed on a best-effort basis by inspecting the Location
more deeply. However, this never worked; the auto-detected type was instead
a pointer type to the correct type.

Fixed the issue and added various test cases to demonstrate which parts of the
analyzer were affected (uninitialized pointer argument checker, C++ trivial copy
modeling, Google test API modeling checker).

Additionally, autodetected void types are automatically replaced with char,
in order to simplify checker APIs. Which means that if the location is a void
pointer, getSVal() would read the first byte through this pointer
and return its symbolic value.

Fixes pr34305.

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

llvm-svn: 314910

7 years ago[OptRemark] Move YAML writing to IR
Adam Nemet [Wed, 4 Oct 2017 15:18:11 +0000 (15:18 +0000)]
[OptRemark] Move YAML writing to IR

Before the patch this was in Analysis.  Moving it to IR and making it implicit
part of LLVMContext::diagnose allows the full opt-remark facility to be used
outside passes e.g. the pass manager.  Jessica is planning to use this to
report function size after each pass.  The same could be used for time
reports.

Tested with BUILD_SHARED_LIBS=On.

llvm-svn: 314909

7 years agoAlso update MachineORE after r314874.
Adam Nemet [Wed, 4 Oct 2017 15:18:07 +0000 (15:18 +0000)]
Also update MachineORE after r314874.

llvm-svn: 314908

7 years ago[InstCombine] add 'exact' variants of all tests; NFC
Sanjay Patel [Wed, 4 Oct 2017 15:17:25 +0000 (15:17 +0000)]
[InstCombine] add 'exact' variants of all tests; NFC

We can likely remove most of these as redundant in the near future,
but I'm trying to make sure I don't introduce any regressions with D38514.

llvm-svn: 314907

7 years ago[NFC] clang-format lib/Transforms/Scalar/MergeICmps.cpp
Clement Courbet [Wed, 4 Oct 2017 15:13:52 +0000 (15:13 +0000)]
[NFC] clang-format lib/Transforms/Scalar/MergeICmps.cpp

llvm-svn: 314906

7 years ago[OpenMP] Initial implementation of teams distribute code generation
Carlo Bertolli [Wed, 4 Oct 2017 14:12:09 +0000 (14:12 +0000)]
[OpenMP] Initial implementation of teams distribute code generation

https://reviews.llvm.org/D38371

This patch implements codegen for the combined 'teams distribute" OpenMP pragma and adds regression tests for all its clauses.

llvm-svn: 314905

7 years ago[test] Pass in fixed triple for openmp-offload.c
Jonas Hahnfeld [Wed, 4 Oct 2017 13:54:09 +0000 (13:54 +0000)]
[test] Pass in fixed triple for openmp-offload.c

This should fix the test on other architectures.

Related to: https://reviews.llvm.org/D38372

llvm-svn: 314904

7 years ago[X86][SSE] Early out from ComputeNumSignBitsForTargetNode. NFCI.
Simon Pilgrim [Wed, 4 Oct 2017 13:41:26 +0000 (13:41 +0000)]
[X86][SSE] Early out from ComputeNumSignBitsForTargetNode. NFCI.

Early out from vector shift by immediates that will exceed eltsize - don't bother making an unnecessary ComputeNumSignBits recursive call.

llvm-svn: 314903

7 years ago[OpenMP] Fix passing of -m arguments correctly
Jonas Hahnfeld [Wed, 4 Oct 2017 13:32:59 +0000 (13:32 +0000)]
[OpenMP] Fix passing of -m arguments correctly

The recent fix in D38258 was wrong: getAuxTriple() only returns
non-null values for the CUDA toolchain. That is why the now added
test for PPC and X86 failed.

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

llvm-svn: 314902

7 years ago[X86][SSE] Add support for lowering unary shuffles to PACKSS/PACKUS
Simon Pilgrim [Wed, 4 Oct 2017 13:12:08 +0000 (13:12 +0000)]
[X86][SSE] Add support for lowering unary shuffles to PACKSS/PACKUS

Extension to D38472

llvm-svn: 314901

7 years ago[ScopBuilder] Introduce -polly-stmt-granularity option. NFC.
Michael Kruse [Wed, 4 Oct 2017 12:18:57 +0000 (12:18 +0000)]
[ScopBuilder] Introduce -polly-stmt-granularity option. NFC.

The option is introduced with only one possible value
-polly-stmt-granularity=bb which represents the current behaviour, which
is outlined into the new function buildSequentialBlockStmts().

More options will be added in future commits.

llvm-svn: 314900

7 years ago[gold-plugin] - Fix compilation after LLVM update (r314883). NFC.
George Rimar [Wed, 4 Oct 2017 11:00:30 +0000 (11:00 +0000)]
[gold-plugin] - Fix compilation after LLVM update (r314883). NFC.

llvm-svn: 314899

7 years ago[AVR] Implement LPMWRdZ pseudo-instruction's expansion.
Dylan McKay [Wed, 4 Oct 2017 10:37:22 +0000 (10:37 +0000)]
[AVR] Implement LPMWRdZ pseudo-instruction's expansion.

FIXME: implementation is mostly copy-pasted from LDWRdPtr, so we should
refactor a bit and unify the two

Patch by Gerdo Erdi.

llvm-svn: 314898

7 years ago[AVR] Factor out mayLoad in tablegen patterns
Dylan McKay [Wed, 4 Oct 2017 10:36:07 +0000 (10:36 +0000)]
[AVR] Factor out mayLoad in tablegen patterns

Patch by Gergo Erdi.

llvm-svn: 314897

7 years ago[AVR] Elaborate LDWRdPtr into `ld r, X++; ld r+1, X`
Dylan McKay [Wed, 4 Oct 2017 10:33:36 +0000 (10:33 +0000)]
[AVR] Elaborate LDWRdPtr into `ld r, X++; ld r+1, X`

Patch by Gergo Erdi.

llvm-svn: 314896

7 years agoFix assertion failure in thread safety analysis (PR34800).
Alexander Kornienko [Wed, 4 Oct 2017 10:24:36 +0000 (10:24 +0000)]
Fix assertion failure in thread safety analysis (PR34800).

Summary:
Fix an assertion failure (http://llvm.org/PR34800) and clean up unused code relevant to the fixed logic.

A bit of context: when `SExprBuilder::translateMemberExpr` is called on a member expression that involves a conversion operator, for example, `til::Project` constructor can't just call `getName()` on it, since the name is not a simple identifier. In order to handle this case I've introduced an optional string to print the member name to. I discovered that the other two `til::Project` constructors are not used, so it was better to delete them instead of ensuring they work correctly with the new logic.

Reviewers: aaron.ballman

Reviewed By: aaron.ballman

Subscribers: cfe-commits

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

llvm-svn: 314895

7 years ago[GPGPU] Make sure escaping invariant load hoisted scalars are preserved
Tobias Grosser [Wed, 4 Oct 2017 10:24:23 +0000 (10:24 +0000)]
[GPGPU] Make sure escaping invariant load hoisted scalars are preserved

We make sure that the final reload of an invariant scalar memory access uses the
same stack slot into which the invariant memory access was stored originally.
Earlier, this was broken as we introduce a new stack slot aside of the preload
stack slot, which remained uninitialized and caused our escaping loads to
contain garbage. This happened due to us clearing the pre-populated values
in EscapeMap after kernel code generation. We address this issue by preserving
the original host values and restoring them after kernel code generation.
EscapeMap is not expected to be used during kernel code generation, hence we
clear it during kernel generation to make sure that any unintended uses are
noticed.

llvm-svn: 314894

7 years ago[AVR] Insert JMP for long branches
Dylan McKay [Wed, 4 Oct 2017 09:51:28 +0000 (09:51 +0000)]
[AVR] Insert JMP for long branches

Previously, on long branches (relative jumps of >4 kB), an assertion
failure was hit, as AVRInstrInfo::insertIndirectBranch was not
implemented. Despite its name, it is called by the branch relaxator
for *all* unconditional jumps.

Patch by Thomas Backman.

llvm-svn: 314891

7 years ago[AVR] Fix displacement overflow for LDDW/STDW
Dylan McKay [Wed, 4 Oct 2017 09:51:21 +0000 (09:51 +0000)]
[AVR] Fix displacement overflow for LDDW/STDW

In some cases, the code generator attempts to generate instructions such as:

lddw r24, Y+63

which expands to:

ldd r24, Y+63
ldd r25, Y+64 # Oops! This is actually ld r25, Y in the binary

This commit limits the first offset to 62, and thus the second to 63.
It also updates some asserts in AVRExpandPseudoInsts.cpp, including for
INW and OUTW, which appear to be unused.

Patch by Thomas Backman.

llvm-svn: 314890

7 years ago[ELF] - Get rid of precompiled input objects from testcases.
George Rimar [Wed, 4 Oct 2017 09:46:53 +0000 (09:46 +0000)]
[ELF] - Get rid of precompiled input objects from testcases.

We have verneed1.so, verneed2.so files and verneed.so.sh script
to produce them. They were committed long time ago when LLD
was not yet able to produce some sections for versioning
(".gnu.version_r" I think).

There is no point to have them as binaries anymore. Patch
creates asm inputs instead based on verneed.so.sh content.

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

llvm-svn: 314889

7 years ago[ARM] Add diag string for movw/movt immediates in assembly
Oliver Stannard [Wed, 4 Oct 2017 09:24:54 +0000 (09:24 +0000)]
[ARM] Add diag string for movw/movt immediates in assembly

This adds diagnostics for invalid immediate operands to the MOVW and MOVT
instructions (ARM and Thumb).

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

llvm-svn: 314888

7 years ago[ARM, Asm] Change grammar of immediate operand diagnostics
Oliver Stannard [Wed, 4 Oct 2017 09:18:07 +0000 (09:18 +0000)]
[ARM, Asm] Change grammar of immediate operand diagnostics

Currently, our diagnostics for assembly operands are not consistent.
Some start with (for example) "immediate operand must be ...",
and some with "operand must be an immediate ...". I think the latter
form is preferable for a few reasons:
* It's unambiguous that it is referring to the expected type of operand, not
  the type the user provided. For example, the user could provide an register
  operand, and get a message taking about an operand is if it is already an
  immediate, just not in the accepted range.
* It allows us to have a consistent style once we add diagnostics for operands
  that could take two forms, for example a label or pc-relative memory operand.

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

llvm-svn: 314887

7 years ago[X86] Improvement in CodeGen instruction selection for LEAs (re-applying post require...
Jatin Bhateja [Wed, 4 Oct 2017 09:02:10 +0000 (09:02 +0000)]
[X86] Improvement in CodeGen instruction selection for LEAs (re-applying post required revision changes.)

Summary:
   1/  Operand folding during complex pattern matching for LEAs has been
       extended, such that it promotes Scale to accommodate similar operand
       appearing in the DAG.
       e.g.
         T1 = A + B
         T2 = T1 + 10
         T3 = T2 + A
       For above DAG rooted at T3, X86AddressMode will no look like
         Base = B , Index = A , Scale = 2 , Disp = 10

   2/  During OptimizeLEAPass down the pipeline factorization is now performed over LEAs
       so that if there is an opportunity then complex LEAs (having 3 operands)
       could be factored out.
       e.g.
         leal 1(%rax,%rcx,1), %rdx
         leal 1(%rax,%rcx,2), %rcx
       will be factored as following
         leal 1(%rax,%rcx,1), %rdx
         leal (%rdx,%rcx)   , %edx

   3/ Aggressive operand folding for AM based selection for LEAs is sensitive to loops,
      thus avoiding creation of any complex LEAs within a loop.

Reviewers: lsaba, RKSimon, craig.topper, qcolombet, jmolloy

Reviewed By: lsaba

Subscribers: jmolloy, spatel, igorb, llvm-commits

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

llvm-svn: 314886

7 years ago[llvm-cov] Fix showing title when filtering and not outputting to a directory
Sean Eveson [Wed, 4 Oct 2017 08:54:37 +0000 (08:54 +0000)]
[llvm-cov] Fix showing title when filtering and not outputting to a directory

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

llvm-svn: 314885

7 years ago[ELF] - Update after LLVM r314883 change. NFC.
George Rimar [Wed, 4 Oct 2017 08:50:34 +0000 (08:50 +0000)]
[ELF] - Update after LLVM r314883 change. NFC.

llvm-svn: 314884

7 years ago[MC] - Don't assert when non-english characters are used.
George Rimar [Wed, 4 Oct 2017 08:50:08 +0000 (08:50 +0000)]
[MC] - Don't assert when non-english characters are used.

I found that llvm-mc does not like non-english characters even in comments,
which it tries to tokenize.

Problem happens because of functions like isdigit(), isalnum() which takes
int argument and expects it is not negative.
But at the same time MCParser uses char* to store input buffer poiner, char has signed value,
so it is possible to pass negative value to one of functions from above and
that triggers an assert.
Testcase for demonstration is provided.

To fix the issue helper functions were introduced in StringExtras.h

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

llvm-svn: 314883

7 years agoRecommit [UnreachableBlockElim] Use COPY if PHI input is undef
Mikael Holmen [Wed, 4 Oct 2017 07:42:45 +0000 (07:42 +0000)]
Recommit [UnreachableBlockElim] Use COPY if PHI input is undef

This time invoking llc with "-march=x86-64" in the testcase, so we don't assume
the default target is x86.

Summary:
If we have

    %vreg0<def> = PHI %vreg2<undef>, <BB#0>, %vreg3, <BB#2>; GR32:%vreg0,%vreg2,%vreg3
    %vreg3<def,tied1> = ADD32ri8 %vreg0<kill,tied0>, 1, %EFLAGS<imp-def>; GR32:%vreg3,%vreg0

then we can't just change %vreg0 into %vreg3, since %vreg2 is actually
undef. We would have to also copy the undef flag to be able to change the
register.

Instead we deal with this case like other cases where we can't just
replace the register: we insert a COPY. The code creating the COPY already
copied all flags from the PHI input, so the undef flag will be transferred
as it should.

Reviewers: kparzysz

Reviewed By: kparzysz

Subscribers: llvm-commits

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

llvm-svn: 314882

7 years ago[IRCE] Temporarily disable unsigned latch conditions by default
Max Kazantsev [Wed, 4 Oct 2017 06:53:22 +0000 (06:53 +0000)]
[IRCE] Temporarily disable unsigned latch conditions by default

We have found some corner cases connected to range intersection where IRCE makes
a bad thing when the latch condition is unsigned. The fix for that will go as a follow up.
This patch temporarily disables IRCE for unsigned latch conditions until the issue is fixed.

The unsigned latch conditions were introduced to IRCE by rL310027.

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

llvm-svn: 314881

7 years agoRevert r314879 "[UnreachableBlockElim] Use COPY if PHI input is undef"
Mikael Holmen [Wed, 4 Oct 2017 06:39:22 +0000 (06:39 +0000)]
Revert r314879 "[UnreachableBlockElim] Use COPY if PHI input is undef"

Build-bots broke on the new testcase. I'll investigate and fix.

llvm-svn: 314880

7 years ago[UnreachableBlockElim] Use COPY if PHI input is undef
Mikael Holmen [Wed, 4 Oct 2017 06:06:31 +0000 (06:06 +0000)]
[UnreachableBlockElim] Use COPY if PHI input is undef

Summary:
If we have

    %vreg0<def> = PHI %vreg2<undef>, <BB#0>, %vreg3, <BB#2>; GR32:%vreg0,%vreg2,%vreg3
    %vreg3<def,tied1> = ADD32ri8 %vreg0<kill,tied0>, 1, %EFLAGS<imp-def>; GR32:%vreg3,%vreg0

then we can't just change %vreg0 into %vreg3, since %vreg2 is actually
undef. We would have to also copy the undef flag to be able to change the
register.

Instead we deal with this case like other cases where we can't just
replace the register: we insert a COPY. The code creating the COPY already
copied all flags from the PHI input, so the undef flag will be transferred
as it should.

Reviewers: kparzysz

Reviewed By: kparzysz

Subscribers: llvm-commits

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

llvm-svn: 314879

7 years ago[XRay][compiler-rt] Fix logical failure in BufferQueue::getBuffer()
Dean Michael Berris [Wed, 4 Oct 2017 06:02:12 +0000 (06:02 +0000)]
[XRay][compiler-rt] Fix logical failure in BufferQueue::getBuffer()

Follow-up to D38119.

llvm-svn: 314878

7 years ago[XRay][compiler-rt] Use a hand-written circular buffer in BufferQueue
Dean Michael Berris [Wed, 4 Oct 2017 05:20:13 +0000 (05:20 +0000)]
[XRay][compiler-rt] Use a hand-written circular buffer in BufferQueue

Summary:
This change removes the dependency on using a std::deque<...> for the
storage of the buffers in the buffer queue. We instead implement a
fixed-size circular buffer that's resilient to exhaustion, and preserves
the semantics of the BufferQueue.

We're moving away from using std::deque<...> for two reasons:

  - We want to remove dependencies on the STL for data structures.

  - We want the data structure we use to not require re-allocation in
    the normal course of operation.

The internal implementation of the buffer queue uses heap-allocated
arrays that are initialized once when the BufferQueue is created, and
re-uses slots in the buffer array as buffers are returned in order.

We also change the lock used in the implementation to a spinlock
instead of a blocking mutex. We reason that since the release operations
now take very little time in the critical section, that a spinlock would
be appropriate.

This change is related to D38073.

This change is a re-submit with the following changes:

  - Keeping track of the live buffers with a counter independent of the
    pointers keeping track of the extents of the circular buffer.

  - Additional documentation of what the data members are meant to
    represent.

Reviewers: dblaikie, kpw, pelikan

Subscribers: llvm-commits

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

llvm-svn: 314877

7 years ago[X86] Fix using the SJLJ jump table on x86_64
Martin Storsjo [Wed, 4 Oct 2017 05:12:10 +0000 (05:12 +0000)]
[X86] Fix using the SJLJ jump table on x86_64

The previous version didn't work if the jump table base address didn't
fit in 32 bit, since it was encoded as an immediate offset. And in case
the jump table is encoded as 32 bit label differences, we need to
load and add them to the table base first.

This solves the first half of the issues mentioned in PR34720.

Also fix some of the errors pointed out by -verify-machineinstrs, by
using GR32_NOSPRegClass.

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

llvm-svn: 314876

7 years ago[XRay] [compiler-rt] make sure single threaded programs get traced too
Martin Pelikan [Wed, 4 Oct 2017 05:12:00 +0000 (05:12 +0000)]
[XRay] [compiler-rt] make sure single threaded programs get traced too

Summary:
When the XRay user calls the API to finish writing the log, the thread
which is calling the API still hasn't finished and therefore won't get
its trace written.  Add a test for only the main thread to check this.

Reviewers: dberris

Subscribers: llvm-commits

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

llvm-svn: 314875

7 years agoMove verbosity check for remarks to the diag handler
Adam Nemet [Wed, 4 Oct 2017 04:26:23 +0000 (04:26 +0000)]
Move verbosity check for remarks to the diag handler

Test needs some slight adjustment because we no longer check the existence of
BFI but rather that the actual hotness is set on the remark.  If entry_count
is not set getBlockProfileCount returns None.

llvm-svn: 314874

7 years agoMove verbosity check for opt remarks to the diag handler.
Adam Nemet [Wed, 4 Oct 2017 04:25:31 +0000 (04:25 +0000)]
Move verbosity check for opt remarks to the diag handler.

llvm-svn: 314873

7 years agoWe allow implicit function declarations as an extension in all C dialects. Remove...
Richard Smith [Wed, 4 Oct 2017 01:58:22 +0000 (01:58 +0000)]
We allow implicit function declarations as an extension in all C dialects. Remove OpenCL special case.

llvm-svn: 314872

7 years agoPR34822: Fix a collection of related bugs with our handling of C89 implicit function...
Richard Smith [Wed, 4 Oct 2017 01:49:22 +0000 (01:49 +0000)]
PR34822: Fix a collection of related bugs with our handling of C89 implicit function declarations.

We were injecting the function into the wrong semantic context, resulting in it
failing to be registered as a global for redeclaration lookup. As a
consequence, we accepted invalid code since r310616.

Fixing that resulted in the "out-of-scope declaration" diagnostic firing a lot
more often. It turned out that warning codepath was non-conforming, because it
did not cause us to inject the implicitly-declared function into the enclosing
block scope. We now only warn if the type of the out-of-scope declaration
doesn't match the type of an implicitly-declared function; in all other cases,
we produce the normal warning for an implicitly-declared function.

llvm-svn: 314871

7 years ago[FuzzerUtil] Partially revert D38481 on FuzzerUtil
Tim Shen [Wed, 4 Oct 2017 01:05:34 +0000 (01:05 +0000)]
[FuzzerUtil] Partially revert D38481 on FuzzerUtil

This is because lib/Fuzzer doesn't really depend on llvm infrastucture.
It's not easy to access the llvm hardware_concurrency here.

Differential Reivision: https://reviews.llvm.org/D38481

llvm-svn: 314870

7 years agoCall exitLld() from elf::link.
Rui Ueyama [Wed, 4 Oct 2017 00:50:11 +0000 (00:50 +0000)]
Call exitLld() from elf::link.

We used to call exitLld() from a leaf function, Writer::run(), because
we had objects on the stack whose dtors are expensive. Now we no longer
have such objects on the stack, so there's no reason to exist from the
leaf function.

llvm-svn: 314869

7 years ago[ELF] Fix buildbots
Shoaib Meenai [Wed, 4 Oct 2017 00:38:14 +0000 (00:38 +0000)]
[ELF] Fix buildbots

Mark a test as requiring zlib.

llvm-svn: 314868

7 years agoRemove BssSection::reserveSpace().
Rui Ueyama [Wed, 4 Oct 2017 00:21:17 +0000 (00:21 +0000)]
Remove BssSection::reserveSpace().

We no longer call reserveSpace more than once, so it can be merged with
its constructor.

llvm-svn: 314867

7 years ago[ELF] Decompress debug info sections early
Shoaib Meenai [Wed, 4 Oct 2017 00:19:41 +0000 (00:19 +0000)]
[ELF] Decompress debug info sections early

When reporting a symbol conflict, LLD parses the debug info to report
source location information. Sections have not been decompressed at this
point, so if an object file contains zlib compressed debug info, LLD
ends up passing this compressed debug info to the DWARF parser, which
causes debug info parsing failures and can trigger assertions in the
parser (as the test case demonstrates).

Decompress debug sections when constructing the LLDDwarfObj to avoid
this issue. This doesn't handle GNU-style compressed debug info sections
(.zdebug_*), which at present are simply ignored by LLDDwarfObj; those
can be done in a follow-up.

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

llvm-svn: 314866

7 years ago[ExprConstant] Allow constexpr ctor to modify non static data members
Erik Pilkington [Wed, 4 Oct 2017 00:18:55 +0000 (00:18 +0000)]
[ExprConstant] Allow constexpr ctor to modify non static data members

Fixes PR19741.

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

llvm-svn: 314865

7 years agoAdd C++17 explicit deduction guides to std::pair.
Eric Fiselier [Wed, 4 Oct 2017 00:04:26 +0000 (00:04 +0000)]
Add C++17 explicit deduction guides to std::pair.

This patch adds the newly standardized deduction guides
for std::pair, allowing it to work class template deduction.

llvm-svn: 314864

7 years agoAdd a manpage for llvm-dwarfdump.
Adrian Prantl [Tue, 3 Oct 2017 23:46:57 +0000 (23:46 +0000)]
Add a manpage for llvm-dwarfdump.

llvm-svn: 314863

7 years agoAdd a note on where to get a lld benchmark.
Rafael Espindola [Tue, 3 Oct 2017 23:44:24 +0000 (23:44 +0000)]
Add a note on where to get a lld benchmark.

llvm-svn: 314862

7 years ago[Analyzer] Re-apply r314820 with a fix for StringRef lifetime.
George Karpenkov [Tue, 3 Oct 2017 23:15:35 +0000 (23:15 +0000)]
[Analyzer] Re-apply r314820 with a fix for StringRef lifetime.

Fixes the test failure: temporary is now bound to std::string, tests
fully pass on Linux.

This reverts commit b36ee0924038e1d95ea74230c62d46e05f80587e.

llvm-svn: 314859

7 years agoSimplify multikey_qsort function.
Rui Ueyama [Tue, 3 Oct 2017 23:12:01 +0000 (23:12 +0000)]
Simplify multikey_qsort function.

This function implements the three-way radix quicksort algorithm.
This patch simplifies the implementation by using MutableArrayRef.

llvm-svn: 314858

7 years ago[AArch64] Use LateSimplifyCFG after expanding atomic operations.
Balaram Makam [Tue, 3 Oct 2017 22:39:24 +0000 (22:39 +0000)]
[AArch64] Use LateSimplifyCFG after expanding atomic operations.

Summary:
After r308422 we defer optimizations that can destroy loop canonical forms to
LateSimplifyCFG. Running LateSimplifyCFG after expanding atomic operations
can exploit more control-flow opportunities.

Reviewers: mcrosier, t.p.northover, efriedma

Reviewed By: efriedma

Subscribers: aemerson, rengolin, javed.absar, llvm-commits, kristof.beyls

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

llvm-svn: 314857

7 years agoupdating svn:ignore
Leonard Mosescu [Tue, 3 Oct 2017 22:30:02 +0000 (22:30 +0000)]
updating svn:ignore

llvm-svn: 314856

7 years agollvm-dwarfdump: implement the --regex option in combination with --name.
Adrian Prantl [Tue, 3 Oct 2017 22:08:22 +0000 (22:08 +0000)]
llvm-dwarfdump: implement the --regex option in combination with --name.

llvm-svn: 314855

7 years ago[CMake] Minor updates to Apple CMake caches
Chris Bieneman [Tue, 3 Oct 2017 21:59:53 +0000 (21:59 +0000)]
[CMake] Minor updates to Apple CMake caches

* Turn off embedded compiler-rt builds in stage1
* Support generating Xcode toolchains from Stage2 build configurations

llvm-svn: 314854

7 years agoAMDGPU: Expand setcc for v2f32 and v4f32
Konstantin Zhuravlyov [Tue, 3 Oct 2017 21:45:01 +0000 (21:45 +0000)]
AMDGPU: Expand setcc for v2f32 and v4f32

llvm-svn: 314853

7 years agoAMDGPU: Expand setcc for v2i32 and v4i32
Konstantin Zhuravlyov [Tue, 3 Oct 2017 21:31:24 +0000 (21:31 +0000)]
AMDGPU: Expand setcc for v2i32 and v4i32

llvm-svn: 314852

7 years ago[compiler-rt] Add back ARM EABI aliases where legal.
Eli Friedman [Tue, 3 Oct 2017 21:25:07 +0000 (21:25 +0000)]
[compiler-rt] Add back ARM EABI aliases where legal.

r303188 removed all the uses of aliases for EABI functions from
compiler-rt, because some of them had mismatched calling conventions.
Obviously, we can't use aliases for functions which don't have the same
calling convention, but that's only an issue for floating-point
functions with the hardfloat ABI.  In other cases, the stubs increase
size and reduce performance for no benefit.

This patch adds back the aliases, with appropriate checks to make sure
they're only used in cases where the calling convention matches.

llvm-svn: 314851

7 years agoUnXFAIL tests that previously failed VerifyDFSNumbers
Jakub Kuderski [Tue, 3 Oct 2017 21:23:56 +0000 (21:23 +0000)]
UnXFAIL tests that previously failed VerifyDFSNumbers

They started passing again by the DT::eraseNode fix in r314847.

llvm-svn: 314850

7 years agocmake + xcode: prevent gtests from using includes from project root
Tim Hammerquist [Tue, 3 Oct 2017 21:20:18 +0000 (21:20 +0000)]
cmake + xcode: prevent gtests from using includes from project root

Summary:
At present, several gtests in the lldb open source codebase are using
#include statements rooted at $(SOURCE_ROOT)/${LLDB_PROJECT_ROOT}.

This patch cleans up this directory/include structure for both CMake and
Xcode build systems.

rdar://problem/33835795

Reviewers: zturner, jingham, beanz

Reviewed By: beanz

Subscribers: emaste, lldb-commits, mgorny

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

llvm-svn: 314849

7 years agoAMDGPU/Docs: Follow up on review feedback in https://reviews.llvm.org/D38387
Konstantin Zhuravlyov [Tue, 3 Oct 2017 21:18:03 +0000 (21:18 +0000)]
AMDGPU/Docs: Follow up on review feedback in https://reviews.llvm.org/D38387

llvm-svn: 314848

7 years ago[Dominators] Make eraseNode invalidate DFS numbers
Jakub Kuderski [Tue, 3 Oct 2017 21:17:48 +0000 (21:17 +0000)]
[Dominators] Make eraseNode invalidate DFS numbers

This patch makes DT::eraseNode mark DFSInfo as invalid.
Not marking it as invalid leads to DFS numbers getting corrupted
and failing VerifyDFSNumbers check.

This patch also makes children iterator const (NFC).

llvm-svn: 314847

7 years agoAMDGPU: Add ELFOSABI_AMDGPU_MESA3D
Konstantin Zhuravlyov [Tue, 3 Oct 2017 21:14:14 +0000 (21:14 +0000)]
AMDGPU: Add ELFOSABI_AMDGPU_MESA3D

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

llvm-svn: 314846

7 years ago[X86] Remove dead declaration convertArgMovsToPushes, NFC
Reid Kleckner [Tue, 3 Oct 2017 21:12:18 +0000 (21:12 +0000)]
[X86] Remove dead declaration convertArgMovsToPushes, NFC

This was dead when it landed in r252578. We have this functionality, if
not for stack probe calls, but for regular calls in
X86CallFrameOptimization.cpp.

llvm-svn: 314845

7 years agoPre-compute the tail of the archive
Rafael Espindola [Tue, 3 Oct 2017 20:59:43 +0000 (20:59 +0000)]
Pre-compute the tail of the archive

An archive looks like

<header>
<symbol table>
<tail>

The symbol table refers to offsets in the tail. A complication is that
we would like to support symbol tables that use 64 bit offsets if it
turns out that any of the offsets is too big.

This patch changes the archive writer to first compute the tail. We
cannot just compute one big StringRef since that would require reading
every member upfront, but we can represent it as a series of
StringRefs.

Having done that it is much easier to compute the symbol table and all
offsets are computed before it is written. With this if there is an
accounting problem it will show up with a regular symbol table, not
just when a 64 bit one is needed.

llvm-svn: 314844

7 years agoAMDGPU: Add ELFOSABI_AMDGPU_PAL
Konstantin Zhuravlyov [Tue, 3 Oct 2017 20:54:07 +0000 (20:54 +0000)]
AMDGPU: Add ELFOSABI_AMDGPU_PAL

llvm-svn: 314843

7 years agoMove fetchIfLazy up so that the following comment makes sense.
Rui Ueyama [Tue, 3 Oct 2017 20:45:09 +0000 (20:45 +0000)]
Move fetchIfLazy up so that the following comment makes sense.

We have this comment in LinkerDriver::link

  After this, no new names except a few linker-synthesized ones
  will be added to the symbol table.

but that was not true because new symbols could be added by processing
the -u option.

llvm-svn: 314842

7 years agoInline a small function.
Rui Ueyama [Tue, 3 Oct 2017 20:44:54 +0000 (20:44 +0000)]
Inline a small function.

llvm-svn: 314841

7 years agoFix hicpp-signed-bitwise.cpp test on Windows, where the MSVC ABI changes enum underly...
Reid Kleckner [Tue, 3 Oct 2017 20:37:06 +0000 (20:37 +0000)]
Fix hicpp-signed-bitwise.cpp test on Windows, where the MSVC ABI changes enum underlying types

llvm-svn: 314840

7 years agoRefactor DIBuilder dbg intrinsic insertion, NFC
Reid Kleckner [Tue, 3 Oct 2017 20:36:40 +0000 (20:36 +0000)]
Refactor DIBuilder dbg intrinsic insertion, NFC

Both dbg.declare and dbg.value insertion had duplicate code for the two
overloads with different insertion point conventions.

llvm-svn: 314839

7 years agoSuppress -Wmissing-braces warning when aggregate-initializing a struct with a single...
Richard Smith [Tue, 3 Oct 2017 20:36:00 +0000 (20:36 +0000)]
Suppress -Wmissing-braces warning when aggregate-initializing a struct with a single field that is itself an aggregate.

In C++, such initialization of std::array<T, N> types is guaranteed to work by
the standard, is completely idiomatic, and the "suggested" alternative from
Clang was technically invalid.

llvm-svn: 314838

7 years ago[InstCombine] add tests for icmp gt/lt (shr X, C1), C2; NFC
Sanjay Patel [Tue, 3 Oct 2017 20:34:20 +0000 (20:34 +0000)]
[InstCombine] add tests for icmp gt/lt (shr X, C1), C2; NFC

Surprisingly, we have zero coverage for these patterns.

Many of these are handled in InstSimplify, but it's not obvious
what the rule for folding each case should be, so I've just
stamped out everything.

It should be possible to fold every case, but currently, we
miss these:

int ashr_slt(int x) {
  return (x >> 1) < 1;
}

int ashr_sgt(int x) {
  return (x >> 1) > 0;
}

https://godbolt.org/g/aB2hLE

llvm-svn: 314837

7 years ago[MachineOutliner] Fix off-by-one in cost model
Jessica Paquette [Tue, 3 Oct 2017 20:32:55 +0000 (20:32 +0000)]
[MachineOutliner] Fix off-by-one in cost model

This commit does two things. Firstly, it cleans up some of the benefit
calculation wrt outlined functions and candidates. Secondly, it fixes an
off-by-one bug in the cost model which was caused by the benefit value of
an OutlinedFunction and Candidate differing by 1. It updates the remarks test
to reflect this change.

llvm-svn: 314836

7 years ago[PowerPC] Revert P9 scheduling model to incomplete
Stefan Pintilie [Tue, 3 Oct 2017 20:27:30 +0000 (20:27 +0000)]
[PowerPC] Revert P9 scheduling model to incomplete

Partially revert a previous change from commit: https://llvm.org/svn/llvm-project/llvm/trunk@314026
The previous change caused regressions on Power 9.

llvm-svn: 314835

7 years agobuild: use POSITION_INDEPENDENT_CODE instead of -fPIC
Saleem Abdulrasool [Tue, 3 Oct 2017 20:22:26 +0000 (20:22 +0000)]
build: use POSITION_INDEPENDENT_CODE instead of -fPIC

Rather than hardcode the flag and check if the compiler supports it, use
the CMake property to get the right flag spelling for the compiler.
This makes it generally more portable.

llvm-svn: 314834

7 years ago[OPENMP] Allow use of declare target directive inside struct
Alexey Bataev [Tue, 3 Oct 2017 20:00:00 +0000 (20:00 +0000)]
[OPENMP] Allow use of declare target directive inside struct
declaration.

Patch allows using of the `#pragma omp declare target`| `#pragma omp end
declare target` directives inside the structures if we need to mark as
declare target only some static members.

llvm-svn: 314833

7 years ago[lldb] Fix initialization of m_debug_cu_index_map
Alexander Shaposhnikov [Tue, 3 Oct 2017 19:56:21 +0000 (19:56 +0000)]
[lldb] Fix initialization of m_debug_cu_index_map

SymbolFileDWARFDwp contains m_debug_cu_index_map which was previously
initialized incorrectly: before m_debug_cu_index.parse
is called m_debug_cu_index is empty, thus
the map was not actually getting populated properly.
This diff moves this step into a private helper method
and calls it after m_debug_cu_index.parse inside SymbolFileDWARFDwp::Create.

Test plan:

Build a toy test example
main.cpp
clang -gsplit-dwarf -g -O0 main.cpp -o main.exe
llvm-dwp -e main.exe -o main.exe.dwp
Build LLDB with ENABLE_DEBUG_PRINTF set.
Run: lldb -- ./main.exe
Check that the indexes are now correct
(before this change they were empty)
Check that debugging works
(setting breakpoints, printing local variables (this was not working before))

Differential revision: http://reviews.llvm.org/D38492

llvm-svn: 314832

7 years agoRevert r314820 "[Analyzer] More granular special casing in RetainCountChecker"
Tim Shen [Tue, 3 Oct 2017 19:39:02 +0000 (19:39 +0000)]
Revert r314820 "[Analyzer] More granular special casing in RetainCountChecker"

The test retain-release.m fails with this patch.

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

llvm-svn: 314831

7 years ago[InstCombine] Use isSignBitCheck to simplify an if statement. Directly create new...
Craig Topper [Tue, 3 Oct 2017 19:14:23 +0000 (19:14 +0000)]
[InstCombine] Use isSignBitCheck to simplify an if statement. Directly create new sign bit compares instead of manipulating the constant. NFCI

Since we no longer had the direct constant compares, manipulating the constant seemeded less clear.

llvm-svn: 314830

7 years ago[AMDGPU] implemented pal metadata
Tim Renouf [Tue, 3 Oct 2017 19:03:52 +0000 (19:03 +0000)]
[AMDGPU] implemented pal metadata

Summary:
For the amdpal OS type:

We write an AMDGPU_PAL_METADATA record in the .note section in the ELF
(or as an assembler directive). It contains key=value pairs of 32 bit
ints. It is a merge of metadata from codegen of the shaders, and
metadata provided by the frontend as _amdgpu_pal_metadata IR metadata.
Where both sources have a key=value with the same key, the two values
are ORed together.

This .note record is part of the amdpal ABI and will be documented in
docs/AMDGPUUsage.rst in a future commit.

Eventually the amdpal OS type will stop generating the .AMDGPU.config
section once the frontend has safely moved over to using the .note
records above instead of .AMDGPU.config.

Reviewers: arsenm, nhaehnle, dstuttard

Subscribers: kzhuravl, wdng, yaxunl, llvm-commits, t-tye

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

llvm-svn: 314829

7 years ago[AMDGPU] Avoid predicated execution of the basic blocks containing scalar
Alexander Timofeev [Tue, 3 Oct 2017 18:55:36 +0000 (18:55 +0000)]
[AMDGPU] Avoid predicated execution of the basic blocks containing scalar
instructions.

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

llvm-svn: 314828

7 years agoUpdate test expectation after r314821
Hans Wennborg [Tue, 3 Oct 2017 18:46:57 +0000 (18:46 +0000)]
Update test expectation after r314821

llvm-svn: 314827

7 years agoFix -Wcovered-switch-default warnings from r314821
Hans Wennborg [Tue, 3 Oct 2017 18:44:12 +0000 (18:44 +0000)]
Fix -Wcovered-switch-default warnings from r314821

llvm-svn: 314826

7 years agoRevert r314817 "[dwarfdump] Add -lookup option"
Hans Wennborg [Tue, 3 Oct 2017 18:39:13 +0000 (18:39 +0000)]
Revert r314817 "[dwarfdump] Add -lookup option"

The test fails on Linux; see follow-up email on the llvm-commits list.

> Add the option to lookup an address in the debug information and print
> out the file, function, block and line table details.
>
> Differential revision: https://reviews.llvm.org/D38409

This also reverts the follow-up r314818:

> [test] Fix llvm-dwarfdump/cmdline.test
>
> Fixes test/tools/llvm-dwarfdump/cmdline.test

llvm-svn: 314825

7 years agoRevert r314806 "[SLP] Vectorize jumbled memory loads."
Hans Wennborg [Tue, 3 Oct 2017 18:32:29 +0000 (18:32 +0000)]
Revert r314806 "[SLP] Vectorize jumbled memory loads."

All the buildbots are red, e.g.
http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld/builds/2436/

> Summary:
> This patch tries to vectorize loads of consecutive memory accesses, accessed
> in non-consecutive or jumbled way. An earlier attempt was made with patch D26905
> which was reverted back due to some basic issue with representing the 'use mask' of
> jumbled accesses.
>
> This patch fixes the mask representation by recording the 'use mask' in the usertree entry.
>
> Change-Id: I9fe7f5045f065d84c126fa307ef6ebe0787296df
>
> Reviewers: mkuper, loladiro, Ayal, zvi, danielcdh
>
> Reviewed By: Ayal
>
> Subscribers: hans, mzolotukhin
>
> Differential Revision: https://reviews.llvm.org/D36130

llvm-svn: 314824

7 years agoFix expectations in MC wasm init-fini-array test
Reid Kleckner [Tue, 3 Oct 2017 18:30:38 +0000 (18:30 +0000)]
Fix expectations in MC wasm init-fini-array test

llvm-svn: 314823

7 years agoImplement David Blaikie's suggestion for comparison operators
Reid Kleckner [Tue, 3 Oct 2017 18:30:11 +0000 (18:30 +0000)]
Implement David Blaikie's suggestion for comparison operators

llvm-svn: 314822

7 years agoCodeView: Provide a .def file with the register ids
Hans Wennborg [Tue, 3 Oct 2017 18:27:22 +0000 (18:27 +0000)]
CodeView: Provide a .def file with the register ids

The list of register ids was previously written out in a couple of dirrent
places. This puts it in a .def file and also adds a few more registers (e.g.
the x87 regs) which should lead to more readable dumps, but I didn't include
the whole list since that seems unnecessary.

X86_MC::initLLVMToSEHAndCVRegMapping is pretty ugly, but at least it's not
relying on magic constants anymore. The TODO of using tablegen still stands.

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

llvm-svn: 314821

7 years ago[Analyzer] More granular special casing in RetainCountChecker
George Karpenkov [Tue, 3 Oct 2017 18:12:15 +0000 (18:12 +0000)]
[Analyzer] More granular special casing in RetainCountChecker

Only assume that IOBSDNameMatching and friends increment a reference counter
if their return type is a CFMutableDictionaryRef.

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

llvm-svn: 314820

7 years ago[DebugInfo] Correctly coalesce DBG_VALUEs that mix direct and indirect values
Reid Kleckner [Tue, 3 Oct 2017 17:59:02 +0000 (17:59 +0000)]
[DebugInfo] Correctly coalesce DBG_VALUEs that mix direct and indirect values

Summary:
This should fix a regression introduced by r313786, which switched from
MachineInstr::isIndirectDebugValue() to checking if operand 1 is an
immediate. I didn't have a test case for it until now.

A single UserValue, which approximates a user variable, may have many
DBG_VALUE instructions that disagree about whether the variable is in
memory or in a virtual register. This will become much more common once
we have llvm.dbg.addr, but you can construct such a test case manually
today with llvm.dbg.value.

Before this change, we would get two UserValues: one for direct and one
for indirect DBG_VALUE instructions describing the same variable. If we
build separate interval maps for direct and indirect locations, we will
end up accidentally coalescing identical DBG_VALUE intervals that need
to remain separate because they are broken up by intervals of the
opposite direct-ness.

Reviewers: aprantl

Subscribers: llvm-commits, hiraditya

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

llvm-svn: 314819

7 years ago[test] Fix llvm-dwarfdump/cmdline.test
Jonas Devlieghere [Tue, 3 Oct 2017 17:28:37 +0000 (17:28 +0000)]
[test] Fix llvm-dwarfdump/cmdline.test

Fixes test/tools/llvm-dwarfdump/cmdline.test

llvm-svn: 314818

7 years ago[dwarfdump] Add -lookup option
Jonas Devlieghere [Tue, 3 Oct 2017 17:10:21 +0000 (17:10 +0000)]
[dwarfdump] Add -lookup option

Add the option to lookup an address in the debug information and print
out the file, function, block and line table details.

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

llvm-svn: 314817

7 years ago[clang-tidy] fix buildbot hicpp-signed-bitwise
Jonas Toth [Tue, 3 Oct 2017 17:08:57 +0000 (17:08 +0000)]
[clang-tidy] fix buildbot hicpp-signed-bitwise

To finally fix the buildbot I added one single warning testcase.

llvm-svn: 314816

7 years ago[X86] Add non-SSE tests for PR15215 as well
Simon Pilgrim [Tue, 3 Oct 2017 17:04:36 +0000 (17:04 +0000)]
[X86] Add non-SSE tests for PR15215 as well

llvm-svn: 314815