185311 Commits

Author SHA1 Message Date
Austin Kerbow
e517ad32da AMDGPU: Fix bug in r371671 on some builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371761 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 19:12:21 +00:00
David Blaikie
c8a342337b llvm-reduce: Remove unused plugin support/requirements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371755 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 18:52:31 +00:00
Alina Sbirlea
011a7d058b [LICM/AST] Check if the AliasAny set is removed from the tracker.
Summary:
Resolves PR38513.
Credit to @bjope for debugging this.

Reviewers: hfinkel, uabelho, bjope

Subscribers: sanjoy.google, bjope, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371752 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 18:09:47 +00:00
Sanjay Patel
47eacc4d57 [InstCombine] add tests for fptrunc; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371750 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 18:00:11 +00:00
Alina Sbirlea
333387e4a8 [MemorySSA] Pass (for update) MSSAU when hoisting instructions.
Summary: Pass MSSAU to makeLoopInvariant in order to properly update MSSA.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, uabelho, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371748 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 17:12:51 +00:00
Philip Reames
e2b5847a9a Precommit tests for generalization of load dereferenceability in loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371747 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 17:09:01 +00:00
Sanjay Patel
9dc12bebaa [InstCombine] reduce test noise and regenerate CHECK lines; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371746 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 17:07:01 +00:00
Philip Reames
f0e52d999f [LV] Support invariant addresses in speculation logic
Implement a TODO from rL371452, and handle loop invariant addresses in predicated blocks. If we can prove that the load is safe to speculate into the header, then we can avoid using a masked.load in favour of a normal load.

This is mostly about vectorization robustness. In the common case, it's generally expected that LICM/LoadStorePromotion would have eliminated such loads entirely.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371745 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 16:49:10 +00:00
David Green
3110f6b18e [CGP] Ensure sinking multiple instructions does not invalidate dominance checks
In MVE, as of rL371218, we are attempting to sink chains of instructions such as:
  %l1 = insertelement <8 x i8> undef, i8 %l0, i32 0
  %broadcast.splat26 = shufflevector <8 x i8> %l1, <8 x i8> undef, <8 x i32> zeroinitializer
In certain situations though, we can end up breaking the dominance relations of
instructions. This happens when we sink the instruction into a loop, but cannot
remove the originals. The Use is updated, which might in fact be a Use from the
second instruction to the first.

This attempts to fix that by reversing the order of instruction that are sunk,
and ensuring that we update the uses on new instructions if they have already
been sunk, not the old ones.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371743 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 16:00:07 +00:00
Guillaume Chatelet
fff5baa19a [Alignment] Move OffsetToAlignment to Alignment.h
Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet, JDevlieghere, alexshap, rupprecht, jhenderson

Subscribers: sdardis, nemanjai, hiraditya, kbarton, jakehehrlich, jrtc27, MaskRay, atanasyan, jsji, seiya, cfe-commits, llvm-commits

Tags: #clang, #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371742 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 15:20:36 +00:00
Rainer Orth
6dfd00e174 test-release.sh: Don't use chrpath on Solaris
When trying to run test-release.sh on Solaris 11.4 for 9.0.0 rc4, I failed initially
because Solaris lacks chrpath.  This patch accounts for that and allowed the run to
continue.

Tested on amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371741 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 14:50:32 +00:00
James Henderson
77171c1a31 [docs][llvm-strip] Remove unnecessary whitespace for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371739 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 14:24:04 +00:00
Roman Lebedev
cf898695bd [InstCombine][InstSimplify] Move constant-folding tests in result-of-usub-is-non-zero-and-no-overflow.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371737 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 14:12:31 +00:00
Roman Lebedev
c84eee5398 [NFC][InstCombine][InstSimplify] Add test for "add-of-negative is non-zero and no overflow" (PR43259)
https://rise4fun.com/Alive/ska
https://rise4fun.com/Alive/9iX

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371736 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 14:12:20 +00:00
Sanjay Patel
8b2783e927 [ConstProp] allow folding for fma that produces NaN
Folding for fma/fmuladd was added here:
rL202914
...and as seen in existing/unchanged tests, that works to propagate NaN
if it's already an input, but we should fold an fma() that creates NaN too.

From IEEE-754-2008 7.2 "Invalid Operation", there are 2 clauses that apply
to fma, so I added tests for those patterns:

  c) fusedMultiplyAdd: fusedMultiplyAdd(0, ∞, c) or fusedMultiplyAdd(∞, 0, c)
     unless c is a quiet NaN; if c is a quiet NaN then it is implementation
     defined whether the invalid operation exception is signaled
  d) addition or subtraction or fusedMultiplyAdd: magnitude subtraction of
     infinities, such as: addition(+∞, −∞)

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371735 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 14:10:50 +00:00
Petar Avramovic
1f334071d0 [MIPS GlobalISel] Select indirect branch
Select G_BRINDIRECT for MIPS32.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371730 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 11:44:36 +00:00
Petar Avramovic
97233583f2 [MIPS GlobalISel] Lower G_DYN_STACKALLOC
IRTranslator creates G_DYN_STACKALLOC instruction during expansion of
alloca when argument that tells number of elements to allocate on stack
is a virtual register. Use default lowering for MIPS32.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371728 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 11:39:50 +00:00
Petar Avramovic
cd88891a7b [MIPS GlobalISel] Select G_IMPLICIT_DEF
G_IMPLICIT_DEF is used for both integer and floating point implicit-def.
Handle G_IMPLICIT_DEF as ambiguous opcode in MipsRegisterBankInfo.
Select G_IMPLICIT_DEF for MIPS32.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371727 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 11:32:38 +00:00
Simon Pilgrim
22f2f6974c [DAGCombine] visitFDIV - Use isCheaperToUseNegatedFPOps helper for (fdiv (fneg X), (fneg Y)) -> (fdiv X, Y). NFCI.
Minor cleanup to use equivalent helper code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371724 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 11:03:09 +00:00
Tim Northover
a8e37d1bbb AArch64: support arm64_32, an ILP32 slice for watchOS.
This is the main CodeGen patch to support the arm64_32 watchOS ABI in LLVM.
FastISel is mostly disabled for now since it would generate incorrect code for
ILP32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371722 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 10:22:23 +00:00
Tim Northover
03dc1837d3 CodeGenPrep: add separate hook say when GEPs should be used for sinking. NFCI.
Up to now, we've decided whether to sink address calculations using GEPs or
normal arithmetic based on the useAA hook, but there are other reasons GEPs
might be preferred. So this patch splits the two questions, with a default
implementation falling back to useAA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371721 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 10:21:00 +00:00
Roman Lebedev
d6c677fa07 [InstSimplify] simplifyUnsignedRangeCheck(): handle more cases (PR43251)
Summary:
I don't have a direct motivational case for this,
but it would be good to have this for completeness/symmetry.

This pattern is basically the motivational pattern from
https://bugs.llvm.org/show_bug.cgi?id=43251
but with different predicate that requires that the offset is non-zero.

The completeness bit comes from the fact that a similar pattern (offset != zero)
will be needed for https://bugs.llvm.org/show_bug.cgi?id=43259,
so it'd seem to be good to not overlook very similar patterns..

Proofs: https://rise4fun.com/Alive/21b

Also, there is something odd with `isKnownNonZero()`, if the non-zero
knowledge was specified as an assumption, it didn't pick it up (PR43267)

Reviewers: spatel, nikic, xbolva00

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371718 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 09:26:17 +00:00
Kai Luo
7477c288b1 [PowerPC][MCP][NFC] Pre-commit test cases for https://reviews.llvm.org/D65267
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371717 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 09:00:44 +00:00
Qiu Chaofan
0c4c55c8ff [DAGCombiner] Improve division estimation of floating points.
Current implementation of estimating divisions loses precision since it
estimates reciprocal first and does multiplication.  This patch is to re-order
arithmetic operations in the last iteration in DAGCombiner to improve the
accuracy.

Reviewed By: Sanjay Patel, Jinsong Ji

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371713 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 07:51:24 +00:00
Craig Topper
adb7e101c8 [LegalizeTypes] Remove code for softening a float type to itself.
This was previously used to turn fp128 operations into libcalls
on X86. This is now done through op legalization after r371672.

This restores much of this code to before r254653.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371709 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 05:55:14 +00:00
Yevgeny Rouban
8be236c9f9 Make SwitchInstProfUpdateWrapper strict permanently
We have been using -switch-inst-prof-update-wrapper-strict
set to true by default for some time. It is time to remove
the safety stuff and make SwitchInstProfUpdateWrapper
intolerant to inconsistencies in !prof branch_weights
metadata of SwitchInst.

This patch gets rid of the Invalid state of
SwitchInstProfUpdateWrapper and the option
-switch-inst-prof-update-wrapper-strict. So there is only
two states: changed and unchanged.

Reviewers: davidx, nikic, eraman, reames, chandlerc
Reviewed By: davidx
Differential Revision: https://reviews.llvm.org/D67435

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371707 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 03:41:34 +00:00
Nico Weber
a841034e82 gn build: Merge r371700
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371701 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 01:25:34 +00:00
David Blaikie
ccef81bf70 Reapply llvm-reduce: Add pass to reduce parameters""
Fixing a couple of asan-identified bugs
* use of an invalid "Use" iterator after the element was removed
* use of StringRef to Function name after the Function was erased

This reapplies r371567, which was reverted in r371580.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371700 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 01:20:48 +00:00
David Blaikie
bce2802386 PR43278: llvm-reduce: Use temporary file names (and ToolOutputFile) rather than unique ones - to ensure they're cleaned up
This modifies the tool somewhat to only create files when about to run
the "interestingness" test, and delete them immediately after - this
means some more files will be created sometimes (when "double checking"
work - which should probably be fixed/avoided anyway).

This now creates temporary files, rather than only unique ones, and also
uses ToolOutputFile (without ever calling "keep") to ensure the files
are deleted as soon as the interestingness test is run.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371696 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-12 00:31:57 +00:00
Craig Topper
f7b1d9ff38 [X86] Enable -mprefer-vector-width=256 by default for Skylake-avx512 and later Intel CPUs.
AVX512 instructions can cause a frequency drop on these CPUs. This
can negate the performance gains from using wider vectors. Enabling
prefer-vector-width=256 will prevent generation of zmm registers
unless explicit 512 bit operations are used in the original source
code.

I believe gcc and icc both do something similar to this by default.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371694 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 23:54:36 +00:00
Amara Emerson
6dd2a96e37 [AArch64][GlobalISel] Fall back on attempts to allocate split types on the stack.
First we were asserting that the ValNo of a VA was the wrong value. It doesn't actually
make a difference for us in CallLowering but fix that anyway to silence the assert.

The bigger issue was that after fixing the assert we were generating invalid MIR
because the merging/unmerging of values split across multiple registers wasn't
also implemented for memory locs. This happens when we run out of registers and
have to pass the split types like i128 -> i64 x 2 on the stack. This is do-able, but
for now just fall back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371693 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 23:53:23 +00:00
Jessica Paquette
965cce15e7 [GlobalISel][AArch64] Check caller for swifterror params in tailcall eligibility
Before, we only checked the callee for swifterror. However, we should also be
checking the caller to see if it has a swifterror parameter.

Since we don't currently handle outgoing arguments, this didn't show up in the
swifterror.ll testcase.

Also, remove the swifterror checks from call-translator-tail-call.ll, since
they are covered by the existing swifterror testing. Better to have it all in
one place.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371692 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 23:44:16 +00:00
Reid Kleckner
f8a9932a8b [TableGen] Skip CRLF conversion when writing output
Doing the CRLF translation while writing the file defeats our
optimization to not update the file if it hasn't changed.

Fixes PR43271.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371683 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 22:33:50 +00:00
Sanjay Patel
21dbe0be4a [InstCombine] rename variable for readability; NFC
There's more that can be done here, but "OpI"
doesn't convey that we casted to BinaryOperator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371682 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 22:31:34 +00:00
David Blaikie
9294c897b2 Add some missing changes to GSYM that was addressing a gcc compilation error due to a type and variable with the same name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371681 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 22:24:45 +00:00
David Blaikie
06de30684d PR43278: Temporarily disable llvm-reduce tests due to exhausting temp files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371679 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 22:15:16 +00:00
Reid Kleckner
e79a44af11 [X86] Fix latent bugs in 32-bit CMPXCHG8B inserter
I found three issues:
1. the loop over E[ABCD]X copies run over BB start
2. the direct address of cmpxchg8b could be a frame index
3. the displacement of cmpxchg8b could be a global instead of an
   immediate

These were all introduced together in r287875, and should be fixed with
this change.

Issue reported by Zachary Turner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371678 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:56:17 +00:00
Evandro Menezes
c809898d84 [ConstantFolding] Refactor math functions to use LLVM ones (NFC)
When possible, replace calls to library routines on the host with equivalent
ones in LLVM.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371677 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:46:57 +00:00
Cyndy Ishida
c50052e27b Revert [llvm-nm] Add tapi file support
This reverts r371576 (git commit f88f46358dbffa20af3b054a9346e5154789d50f)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371676 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:35:28 +00:00
Cyndy Ishida
f4c5861eb2 Revert [Object][TextAPI] NFC, fix tapi lit tests
This reverts r371577 (git commit b2b0ccab2f76733679eeceecf31b21ebc1fe23ac)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371674 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:32:55 +00:00
Craig Topper
0ebcecb81a [X86] Add test case for v16i64->v16i32 truncate on min-legal-vector-width=256.
I think this case would crash before I added back the -x86-experimental-vector-widening command line option. Adding this test case to prevent breaking it again when we remove the option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371673 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:30:42 +00:00
Craig Topper
79d87479cc [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization
fp128 is considered a legal type for a register, but has almost no legal operations so everything needs to be converted to a libcall. Previously this was implemented by tricking type legalization into softening the operations with various checks for "is legal in hardware register" to change the behavior to still use f128 as the resulting type instead of converting to i128.

This patch abandons this approach and instead moves the libcall conversions to LegalizeDAG. This is the approach taken by AArch64 where they also have a legal fp128 type, but no legal operations. I think this is more in spirit with how SelectionDAG's phases are supposed to work.

I had to make some hacks for STRICT_FP_ROUND because some of the strict FP handling checks if ISD::FP_ROUND is Legal for a given result type, but I had to make ISD::FP_ROUND Custom to allow making a libcall when the input is f128. For all other types the Custom handler just returns the original node. These hacks are incomplete and don't work for a strict truncate from f128, but I don't think it worked before either since LegalizeFloatTypes doesn't know about strict ops yet. I've also raised PR43209 against AArch64 which currently crashes on a strict ftrunc from f64->f32 because of FP_ROUND being marked Custom for the same reason there.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371672 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:30:09 +00:00
Austin Kerbow
c3c98a8a93 AMDGPU: Move m0 initializations earlier
Summary:
After hoisting and merging m0 initializations schedule them as early as
possible in the MBB. This helps the scheduler avoid hazards in some
cases.

Reviewers: rampitec, arsenm

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, arphaman, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371671 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:28:41 +00:00
Nico Weber
7d1d9eb601 gn build: Merge r371661
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371670 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:24:15 +00:00
Nico Weber
4e43ec35ce gn build: Merge r371657
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371669 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:24:11 +00:00
Vedant Kumar
fffec3f696 [DWARF] Emit call site parameter info when tuning for lldb
Emit debug entry values using standard DWARF5 opcodes when the debugger
tuning is set to lldb.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371666 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 21:23:39 +00:00
Chris Bieneman
33ac29c6f0 All Errors must be checked
Summary: If an error is ever returned from any of the functions called here, the error must be joined with the Result Error before being returned otherwise the Result Error will assert on destruction.

Reviewers: lhames

Subscribers: llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371662 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 20:54:38 +00:00
Greg Clayton
5447f442c7 Add a LineTable class to GSYM and test it.
This patch adds the ability to create a gsym::LineTable object, populate it, encode and decode it and test all functionality.

The full format of the LineTable encoding is specified in the header file LineTable.h.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371657 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 20:51:03 +00:00
Reid Kleckner
e57ff882da [llvm-reduce] Fix a bug, improve error handling when running test
llvm::sys::ExecuteAndWait can report errors, so let's make use of that.

Second, while iterating uses of functions to remove, a call can appear
multiple times. Use a SetVector so we don't attempt to erase such a call
twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371653 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 20:29:22 +00:00
Adrian Prantl
ed8d772f75 Update link to the DWARF spec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371650 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-11 19:57:29 +00:00