OSDN Git Service

android-x86/external-llvm.git
8 years ago[X86][X87] Fix issue with sitofp i64 -> fp128 on 32-bit targets
Simon Pilgrim [Mon, 20 Jun 2016 22:41:17 +0000 (22:41 +0000)]
[X86][X87] Fix issue with sitofp i64 -> fp128 on 32-bit targets

Fix for PR27726 - sitofp i64 to fp128 was loading the merged load i64 to a x87 register preventing legalization for conversion to fp128.

Added 32-bit tests for fp128 cast/conversions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273210 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agodon't repeat function names in documentation comments; NFC
Sanjay Patel [Mon, 20 Jun 2016 22:40:35 +0000 (22:40 +0000)]
don't repeat function names in documentation comments; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273209 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoForgot to svn add one of my test files for the change in r273207.
Kevin Enderby [Mon, 20 Jun 2016 22:27:49 +0000 (22:27 +0000)]
Forgot to svn add one of my test files for the change in r273207.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273208 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd support for Darwin’s 64-bit universal files with 64-bit offsets and sizes for...
Kevin Enderby [Mon, 20 Jun 2016 22:16:18 +0000 (22:16 +0000)]
Add support for Darwin’s 64-bit universal files with 64-bit offsets and sizes for the objects.

Darwin added support in its Xcode 8.0 tools (released in the beta) for universal
files where offsets and sizes for the objects are 64-bits to allow support for
objects contained in universal files to be larger then 4gb.  The change is very
straight forward.  There is a new magic number that differs by one bit, much
like the 64-bit Mach-O files.  Then there is a new structure that follow the
fat_header that has the same layout but with the offset and size fields using
64-bit values instead of 32-bit values.

rdar://26899493

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273207 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDelete dead code. NFC.
Rafael Espindola [Mon, 20 Jun 2016 22:08:35 +0000 (22:08 +0000)]
Delete dead code. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273206 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove interface to get/set MaxFunctionCount
Easwaran Raman [Mon, 20 Jun 2016 21:36:38 +0000 (21:36 +0000)]
Remove interface to get/set MaxFunctionCount

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273203 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[tsan] Do not instrument accesses to the gcov counters array
Vedant Kumar [Mon, 20 Jun 2016 21:24:26 +0000 (21:24 +0000)]
[tsan] Do not instrument accesses to the gcov counters array

There is a known intended race here. This is a follow-up to r264805,
which disabled tsan instrumentation for updates to instrprof counters.
For more background on this please see the discussion in D18164.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273202 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstSimplify] analyze (optionally casted) icmps to eliminate obviously false logic...
Sanjay Patel [Mon, 20 Jun 2016 20:59:59 +0000 (20:59 +0000)]
[InstSimplify] analyze (optionally casted) icmps to eliminate obviously false logic (PR27869)

By moving this transform to InstSimplify from InstCombine, we sidestep the problem/question
raised by PR27869:
https://llvm.org/bugs/show_bug.cgi?id=27869
...where InstCombine turns an icmp+zext into a shift causing us to miss the fold.

Credit to David Majnemer for a draft patch of the changes to InstructionSimplify.cpp.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273200 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoPass AssumptionCacheTracker from SampleProfileLoader to Inliner
Dehao Chen [Mon, 20 Jun 2016 20:53:40 +0000 (20:53 +0000)]
Pass AssumptionCacheTracker from SampleProfileLoader to Inliner

Summary: Inliner needs ACT when calling InlineFunction. Instead of nullptr, we need to pass it in from SampleProfileLoader

Reviewers: davidxl

Subscribers: eraman, vsk, danielcdh, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273199 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agotest commit: remove trailing whitespace
Thomas Jablin [Mon, 20 Jun 2016 20:43:26 +0000 (20:43 +0000)]
test commit: remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273197 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix a relatively nasty bug with fs::getPathFromOpenFD() on Windows. The GetFinalPathN...
Aaron Ballman [Mon, 20 Jun 2016 20:28:49 +0000 (20:28 +0000)]
Fix a relatively nasty bug with fs::getPathFromOpenFD() on Windows. The GetFinalPathNameByHandle API does not behave as documented; if given a buffer that has enough space for the path but not the null terminator, the call will return the number of characters required *without* the null terminator (despite being documented otherwise) and it will not set GetLastError(). The result was that this function would return a bogus path and no error. Instead, ensure there is sufficient space for a null terminator (we already strip it off manually for compatibility with older versions of Windows).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273195 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRename to be consistent with other type names. NFC
Daniel Berlin [Mon, 20 Jun 2016 20:21:33 +0000 (20:21 +0000)]
Rename to be consistent with other type names. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273194 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[MemorySSA] Clean up unit tests a tiny bit. NFC.
George Burgess IV [Mon, 20 Jun 2016 19:13:07 +0000 (19:13 +0000)]
[MemorySSA] Clean up unit tests a tiny bit. NFC.

We recently made MemorySSA own the walker it creates. As a part of this,
the MSSA test fixture was changed to have a `Walker*` instead of a
`unique_ptr<Walker>`. So, we no longer need to do `&*Walker` in order to
get a `Walker*`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273189 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoInstCombine: Don't strip convergent from intrinsic callsites
Matt Arsenault [Mon, 20 Jun 2016 19:04:44 +0000 (19:04 +0000)]
InstCombine: Don't strip convergent from intrinsic callsites

Specific instances of intrinsic calls may want to be convergent, such
as certain register reads but the intrinsic declaration is not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273188 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a isPositionIndependent helper to ARMFastISel. NFC.
Rafael Espindola [Mon, 20 Jun 2016 19:00:05 +0000 (19:00 +0000)]
Add a isPositionIndependent helper to ARMFastISel. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273187 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] consolidate some icmp+logic tests and improve checks
Sanjay Patel [Mon, 20 Jun 2016 18:40:37 +0000 (18:40 +0000)]
[InstCombine] consolidate some icmp+logic tests and improve checks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273186 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AArch64] Adjust the loop buffer size for Exynos M1 (NFC)
Evandro Menezes [Mon, 20 Jun 2016 18:39:41 +0000 (18:39 +0000)]
[AArch64] Adjust the loop buffer size for Exynos M1 (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273185 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Kaleidoscope][BuildingAJIT] Remove some superfluous commas in Chapter 2.
Lang Hames [Mon, 20 Jun 2016 18:37:52 +0000 (18:37 +0000)]
[Kaleidoscope][BuildingAJIT] Remove some superfluous commas in Chapter 2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273184 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Kaleidoscope][BuildingAJIT] Fix a punctuation mistake in Chapter 2.
Lang Hames [Mon, 20 Jun 2016 18:34:46 +0000 (18:34 +0000)]
[Kaleidoscope][BuildingAJIT] Fix a punctuation mistake in Chapter 2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273183 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Preserve undef flag on vcc when shrinking v_cndmask_b32
Matt Arsenault [Mon, 20 Jun 2016 18:34:00 +0000 (18:34 +0000)]
AMDGPU: Preserve undef flag on vcc when shrinking v_cndmask_b32

The implicit operand is added by the initial instruction construction,
so this was adding an additional vcc use. The original one
was missing the undef flag the original condition had,
so the verifier would complain.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273182 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Fold more custom nodes to undef
Matt Arsenault [Mon, 20 Jun 2016 18:33:56 +0000 (18:33 +0000)]
AMDGPU: Fold more custom nodes to undef

This will help sneak undefs past GVN into the DAG for
some tests.

Also add missing intrinsic for rsq_legacy, even though the node
was already selected to the instruction. Also start passing
the debug location to intrinsic errors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273181 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] update to use FileCheck with autogenerated exact checking
Sanjay Patel [Mon, 20 Jun 2016 18:23:40 +0000 (18:23 +0000)]
[InstCombine] update to use FileCheck with autogenerated exact checking

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273180 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoGeneralize DiagnosticInfoStackSize to support other limits
Matt Arsenault [Mon, 20 Jun 2016 18:13:04 +0000 (18:13 +0000)]
Generalize DiagnosticInfoStackSize to support other limits

Backends may want to report errors on resources other than
stack size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273177 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] update to use FileCheck with autogenerated exact checking
Sanjay Patel [Mon, 20 Jun 2016 17:56:13 +0000 (17:56 +0000)]
[InstCombine] update to use FileCheck with autogenerated exact checking

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273173 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Use correct method for determining instruction size
Matt Arsenault [Mon, 20 Jun 2016 17:51:32 +0000 (17:51 +0000)]
AMDGPU: Use correct method for determining instruction size

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273172 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoProperly handle short file names on the command line in Windows [TAKE 2]
Adrian McCarthy [Mon, 20 Jun 2016 17:51:27 +0000 (17:51 +0000)]
Properly handle short file names on the command line in Windows [TAKE 2]

Trying to expand short names with a relative path doesn't work, so this
first gets the module name to get a full path (which can still have short
names).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273171 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstCombine] regenerate checks
Sanjay Patel [Mon, 20 Jun 2016 17:48:48 +0000 (17:48 +0000)]
[InstCombine] regenerate checks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273170 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUse shouldAssumeDSOLocal.
Rafael Espindola [Mon, 20 Jun 2016 17:45:33 +0000 (17:45 +0000)]
Use shouldAssumeDSOLocal.

With this ARM fast isel knows that PIE variable are not preemptable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273169 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Add support for R_AMDGPU_REL32 relocations
Tom Stellard [Mon, 20 Jun 2016 17:33:43 +0000 (17:33 +0000)]
AMDGPU: Add support for R_AMDGPU_REL32 relocations

Reviewers: arsenm, kzhuravl, rafael

Subscribers: arsenm, llvm-commits, kzhuravl

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273168 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSimplify. NFC.
Rafael Espindola [Mon, 20 Jun 2016 17:00:13 +0000 (17:00 +0000)]
Simplify. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273167 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Emit R_AMDGPU_ABS32_{HI,LO} for scratch buffer relocations
Tom Stellard [Mon, 20 Jun 2016 16:59:44 +0000 (16:59 +0000)]
AMDGPU: Emit R_AMDGPU_ABS32_{HI,LO} for scratch buffer relocations

Reviewers: arsenm, rafael, kzhuravl

Subscribers: rafael, arsenm, llvm-commits, kzhuravl

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273166 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ARM] Enable isel of UMAAL
Sam Parker [Mon, 20 Jun 2016 16:47:09 +0000 (16:47 +0000)]
[ARM] Enable isel of UMAAL

TargetLowering and DAGToDAG are used to combine ADDC, ADDE and UMLAL
dags into UMAAL. Selection is split into the two phases because it
is easier to match the two patterns at those different times.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273165 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a isPositionIndependent predicate.
Rafael Espindola [Mon, 20 Jun 2016 16:43:17 +0000 (16:43 +0000)]
Add a isPositionIndependent predicate.

Reduces a bit of code duplication and clarify where we are interested
just on position independence and no the location of the symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273164 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoForgot to update callers of deleteDeadInstruction
David Majnemer [Mon, 20 Jun 2016 16:07:38 +0000 (16:07 +0000)]
Forgot to update callers of deleteDeadInstruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273163 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReapply "[LoopIdiom] Don't remove dead operands manually"
David Majnemer [Mon, 20 Jun 2016 16:03:25 +0000 (16:03 +0000)]
Reapply "[LoopIdiom] Don't remove dead operands manually"

This reverts commit r273160, reapplying r273132.
RecursivelyDeleteTriviallyDeadInstructions cannot be called on a
parentless Instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273162 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemoving an unused switch statement that has only a default label. This happens to...
Aaron Ballman [Mon, 20 Jun 2016 15:37:15 +0000 (15:37 +0000)]
Removing an unused switch statement that has only a default label. This happens to also eliminate an instance of switchception. NFC intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273161 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[LoopIdiom] Don't remove dead operands manually"
Cong Liu [Mon, 20 Jun 2016 15:22:15 +0000 (15:22 +0000)]
Revert "[LoopIdiom] Don't remove dead operands manually"

This reverts commit r273132.
Breaks multiple test under /llvm/test:Transforms (e.g.
llvm/test:Transforms/LoopIdiom/basic.ll.test) under asan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273160 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][F16C] Added half <-> double conversion tests
Simon Pilgrim [Mon, 20 Jun 2016 12:51:55 +0000 (12:51 +0000)]
[X86][F16C] Added half <-> double conversion tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273153 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix formatting of r273144. NFC.
Patrik Hagglund [Mon, 20 Jun 2016 11:19:58 +0000 (11:19 +0000)]
Fix formatting of r273144. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273149 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AARCH64] Add support for Broadcom Vulcan
Pankaj Gode [Mon, 20 Jun 2016 11:13:31 +0000 (11:13 +0000)]
[AARCH64] Add support for Broadcom Vulcan

Adding core tuning support for new Broadcom Vulcan core (ARMv8.1A).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273148 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAvoid output indeterminism between GCC and Clang builds.
Patrik Hagglund [Mon, 20 Jun 2016 10:19:04 +0000 (10:19 +0000)]
Avoid output indeterminism between GCC and Clang builds.

Remove dependency of the evalution order of function arguments, which
is unspecified.

Patch by David Stenberg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273145 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAvoid output indeterminism between GCC and Clang builds.
Patrik Hagglund [Mon, 20 Jun 2016 10:19:00 +0000 (10:19 +0000)]
Avoid output indeterminism between GCC and Clang builds.

Remove dependency of the evalution order of function arguments, which
is unspecified.

The following test previously failed when built with GCC (but succeded
when built with Clang):

  ; RUN: opt -sroa -S < %s | FileCheck %s

  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-unknown-linux-gnu"

  %A = type {i16}

  @a = global %A* null
  @b = global i16 0

  ; CHECK-LABEL: @f1(
  ; CHECK: alloca %A
  ; CHECK-NEXT: extractvalue %A
  ; CHECK-NEXT: getelementptr inbounds %A

  define void @f1 (%A %a) {
    %1 = alloca %A
    store %A %a, %A* %1
    %2 = load i16, i16* @b
    %3 = icmp ne i16 %2, 0
    br i1 %3, label %bb1, label %bb2
  bb1:
    store %A* %1, %A** @a
    br label %bb2
  bb2:
    ret void
  }

Patch by David Stenberg.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273144 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix for PR27940
Patrik Hagglund [Mon, 20 Jun 2016 09:10:10 +0000 (09:10 +0000)]
Fix for PR27940

After a store has been eliminated, when making sure that the
instruction iterator points to a valid instruction, dbg intrinsics are
now ignored as a new instruction.

Patch by Henric Karlsson.

Reviewed by Daniel Berlin.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273141 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[codeview] Add an extra check for TPI hash values.
Rui Ueyama [Mon, 20 Jun 2016 07:31:29 +0000 (07:31 +0000)]
[codeview] Add an extra check for TPI hash values.

This patch adds a function that corresponds to `fUDTAnon`
and use that to compute TPI hash values as the reference does.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273139 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[AVX512] [AVX512/AVX][Intrinsics] Fix Variable Bit Shift Right Arithmetic intrinsic...
Igor Breger [Mon, 20 Jun 2016 07:05:43 +0000 (07:05 +0000)]
[AVX512] [AVX512/AVX][Intrinsics] Fix Variable Bit Shift Right Arithmetic intrinsic lowering.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273138 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Pass the SDLoc and Mask ArrayRef down from lowerVectorShuffle through all of...
Craig Topper [Mon, 20 Jun 2016 04:00:55 +0000 (04:00 +0000)]
[X86] Pass the SDLoc and Mask ArrayRef down from lowerVectorShuffle through all of the other routines instead of recreating them in the handlers for each type. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273137 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Use existing ArrayRef variable instead of calling SVOp->getMask() repeatedly...
Craig Topper [Mon, 20 Jun 2016 04:00:53 +0000 (04:00 +0000)]
[X86] Use existing ArrayRef variable instead of calling SVOp->getMask() repeatedly. Remove nearby else after return as well. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273136 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Avoid making a copy of a shuffle mask until we're sure we really need to. And...
Craig Topper [Mon, 20 Jun 2016 04:00:50 +0000 (04:00 +0000)]
[X86] Avoid making a copy of a shuffle mask until we're sure we really need to. And just use a SmallVector to do the copy because its easy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273135 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix dynamically linked debug builds.
Eli Friedman [Mon, 20 Jun 2016 02:48:11 +0000 (02:48 +0000)]
Fix dynamically linked debug builds.

On the surface, this might not look like it does anything... but
actually it brings in the declaration "extern template class
AnalysisManager<Loop>;", which suppresses the instantiation of the
constructor, which avoids the funny interaction between "extern
template" and -fvisibility-inlines-hidden.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273133 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoopIdiom] Don't remove dead operands manually
David Majnemer [Mon, 20 Jun 2016 02:33:29 +0000 (02:33 +0000)]
[LoopIdiom] Don't remove dead operands manually

Removing dead instructions requires remembering which operands have
already been removed.  RecursivelyDeleteTriviallyDeadInstructions has
this logic, don't partially reimplement it in LoopIdiomRecognize.

This fixes PR28196.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273132 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReformat blank lines.
NAKAMURA Takumi [Mon, 20 Jun 2016 01:05:15 +0000 (01:05 +0000)]
Reformat blank lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273131 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoTrailing whitespace.
NAKAMURA Takumi [Mon, 20 Jun 2016 00:49:20 +0000 (00:49 +0000)]
Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273130 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUntabify.
NAKAMURA Takumi [Mon, 20 Jun 2016 00:37:41 +0000 (00:37 +0000)]
Untabify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273129 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[InstSimplify] add tests for PR27689; regenerate checks
Sanjay Patel [Sun, 19 Jun 2016 21:40:12 +0000 (21:40 +0000)]
[InstSimplify] add tests for PR27689; regenerate checks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273128 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAddress Eli's post-commit comments
David Majnemer [Sun, 19 Jun 2016 21:36:35 +0000 (21:36 +0000)]
Address Eli's post-commit comments

Use an APInt to handle pointers of arbitrary width, let
accumulateConstantOffset handle overflow issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273126 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][AVX512] Added 512-bit BITREVERSE tests and enabled AVX512BW lowering support
Simon Pilgrim [Sun, 19 Jun 2016 20:59:19 +0000 (20:59 +0000)]
[X86][AVX512] Added 512-bit BITREVERSE tests and enabled AVX512BW lowering support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273125 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoStrip trailing whitespace. NFCI.
Simon Pilgrim [Sun, 19 Jun 2016 20:22:43 +0000 (20:22 +0000)]
Strip trailing whitespace. NFCI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273124 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFixed signed/unsigned warning.
Simon Pilgrim [Sun, 19 Jun 2016 18:20:44 +0000 (18:20 +0000)]
Fixed signed/unsigned warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273120 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE] Allow target shuffle combining to match masks with SM_Sentinel values
Simon Pilgrim [Sun, 19 Jun 2016 18:03:52 +0000 (18:03 +0000)]
[X86][SSE] Allow target shuffle combining to match masks with SM_Sentinel values

We currently only allow exact matches of shuffle mask patterns during target shuffle combining.

This patch relaxes this to permit SM_SentinelUndef in the combined shuffle to always be accepted as well as allowing exact matching of the SM_SentinelZero value.

I've adjusted some tests that were requiring exact shuffle masks to now include undef values.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273119 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agofix formatting, typo; NFC
Sanjay Patel [Sun, 19 Jun 2016 17:20:27 +0000 (17:20 +0000)]
fix formatting, typo; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273118 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Add an assert to ensure that a routine is only used with 128-bit vectors. Reduc...
Craig Topper [Sun, 19 Jun 2016 15:37:39 +0000 (15:37 +0000)]
[X86] Add an assert to ensure that a routine is only used with 128-bit vectors. Reduce SmallVector size accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273117 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Make is128BitLaneRepeatedShuffleMask correct the indices of the second vector...
Craig Topper [Sun, 19 Jun 2016 15:37:37 +0000 (15:37 +0000)]
[X86] Make is128BitLaneRepeatedShuffleMask correct the indices of the second vector for the smaller mask. This removes some custom correction code and can potentially provide other benefits in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273116 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Remove a dead path through one of the shuffle lowering routines. It's only...
Craig Topper [Sun, 19 Jun 2016 15:37:35 +0000 (15:37 +0000)]
[X86] Remove a dead path through one of the shuffle lowering routines. It's only called on single input shuffles masks already. Add an assert instead to verify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273115 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Pre-allocate a SmallVector instead of using push_back in a loop. NFC
Craig Topper [Sun, 19 Jun 2016 15:37:33 +0000 (15:37 +0000)]
[X86] Pre-allocate a SmallVector instead of using push_back in a loop. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273114 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Use SmallVector::assign instead of resize to ensure we really start with a...
Craig Topper [Sun, 19 Jun 2016 15:37:30 +0000 (15:37 +0000)]
[X86] Use SmallVector::assign instead of resize to ensure we really start with a vector of all -1s. Otherwise we're trusting the caller to pass the right thing.

This should be no functional change with current code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273113 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd the corresponding modulemap entry, following up r273066.
Vassil Vassilev [Sun, 19 Jun 2016 15:31:12 +0000 (15:31 +0000)]
Add the corresponding modulemap entry, following up r273066.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273112 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SPARC] Additional condition required for DelaySlot fixing erratum in revision r273108.
Chris Dewhurst [Sun, 19 Jun 2016 12:56:42 +0000 (12:56 +0000)]
[SPARC] Additional condition required for DelaySlot fixing erratum in revision r273108.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273111 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SPARC[ Correcting out-of-date unit tests checked in as part of r273108
Chris Dewhurst [Sun, 19 Jun 2016 12:52:39 +0000 (12:52 +0000)]
[SPARC[ Correcting out-of-date unit tests checked in as part of r273108

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273110 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoIndent consistently.
Joerg Sonnenberger [Sun, 19 Jun 2016 12:37:52 +0000 (12:37 +0000)]
Indent consistently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273109 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SPARC] Fixes for hardware errata on LEON processor.
Chris Dewhurst [Sun, 19 Jun 2016 11:03:28 +0000 (11:03 +0000)]
[SPARC] Fixes for hardware errata on LEON processor.

Passes to fix three hardware errata that appear on some LEON processor variants.

The instructions FSMULD, FMULS and FDIVS do not work as expected on some LEON processors. This change allows those instructions to be substituted for alternatives instruction sequences that are known to work.

These passes only run when selected individually, or as part of a processor defintion. They are not included in general SPARC processor compilations for non-LEON processors or for those LEON processors that do not have these hardware errata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273108 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LoadCombine] Combine Loads formed from GEPS with negative indexes
David Majnemer [Sun, 19 Jun 2016 06:14:56 +0000 (06:14 +0000)]
[LoadCombine] Combine Loads formed from GEPS with negative indexes

Change the underlying offset and comparisons to use int64_t instead of
uint64_t.

Patch by River Riddle!

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273105 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agodoesSetDirectiveSuppressesReloc -> doesSetDirectiveSuppressReloc, the
Joerg Sonnenberger [Sat, 18 Jun 2016 23:25:37 +0000 (23:25 +0000)]
doesSetDirectiveSuppressesReloc -> doesSetDirectiveSuppressReloc, the
former is grammatically incorrect.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273100 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoIf the revision number starts with r, drop it. It will get added back
Joerg Sonnenberger [Sat, 18 Jun 2016 23:23:38 +0000 (23:23 +0000)]
If the revision number starts with r, drop it. It will get added back
later and we don't want to use it twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273099 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][AVX] Added test case for PR28136
Simon Pilgrim [Sat, 18 Jun 2016 22:59:08 +0000 (22:59 +0000)]
[X86][AVX] Added test case for PR28136

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273098 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSSE3] Added examples of target shuffle combining failing to match undefs in...
Simon Pilgrim [Sat, 18 Jun 2016 21:18:21 +0000 (21:18 +0000)]
[X86][SSSE3] Added examples of target shuffle combining failing to match undefs in shuffle masks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273097 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][XOP] Added fast-isel tests matching tools/clang/test/CodeGen/xop-builtins.c
Simon Pilgrim [Sat, 18 Jun 2016 21:07:31 +0000 (21:07 +0000)]
[X86][XOP] Added fast-isel tests matching tools/clang/test/CodeGen/xop-builtins.c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273096 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agotest commit: remove trailing whitespace
Zvi Rackover [Sat, 18 Jun 2016 19:13:38 +0000 (19:13 +0000)]
test commit: remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273094 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][TBM] Added fast-isel tests matching tools/clang/test/CodeGen/tbm-builtins.c
Simon Pilgrim [Sat, 18 Jun 2016 17:20:52 +0000 (17:20 +0000)]
[X86][TBM] Added fast-isel tests matching tools/clang/test/CodeGen/tbm-builtins.c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273087 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[mips] Emit a JALR with $rd equal to $zero, instead of a JR in MIPS32R6.
Vasileios Kalintiris [Sat, 18 Jun 2016 15:39:43 +0000 (15:39 +0000)]
[mips] Emit a JALR with $rd equal to $zero, instead of a JR in MIPS32R6.

Summary:
JR is an alias of JALR with $rd=0 in the R6 ISA. Also, this fixes recursive
builds in MIPS32R6.

Reviewers: dsanders, sdardis

Subscribers: jfb, dschuff, dsanders, sdardis, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273085 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[codeview] Emit non-virtual method type.
Amjad Aboud [Sat, 18 Jun 2016 10:25:07 +0000 (10:25 +0000)]
[codeview] Emit non-virtual method type.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273084 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[sanitizers] Disable target-specific lowering of string functions.
Marcin Koscielnicki [Sat, 18 Jun 2016 10:10:37 +0000 (10:10 +0000)]
[sanitizers] Disable target-specific lowering of string functions.

CodeGen has hooks that allow targets to emit specialized code instead
of calls to memcmp, memchr, strcpy, stpcpy, strcmp, strlen, strnlen.
When ASan/MSan/TSan/ESan is in use, this sidesteps its interceptors, resulting
in uninstrumented memory accesses.  To avoid that, make these sanitizers
mark the calls as nobuiltin.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273083 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a super basic LazyCallGraph DOT printer.
Sean Silva [Sat, 18 Jun 2016 09:17:32 +0000 (09:17 +0000)]
Add a super basic LazyCallGraph DOT printer.

Access it through -passes=print-lcg-dot

Let me know any suggestions for changing the rendering; I'm not
particularly attached to what is implemented here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273082 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd looping testcase that broke in r272987
Matt Arsenault [Sat, 18 Jun 2016 05:15:58 +0000 (05:15 +0000)]
Add looping testcase that broke in r272987

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273081 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Fix kernel argument alignment impacting stack size
Matt Arsenault [Sat, 18 Jun 2016 05:15:53 +0000 (05:15 +0000)]
AMDGPU: Fix kernel argument alignment impacting stack size

Don't use AllocateStack because kernel arguments have nothing
to do with the stack. The ensureMaxAlignment call was still
changing the stack alignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273080 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SCEV] Fix incorrect trip count computation
Sanjoy Das [Sat, 18 Jun 2016 04:38:31 +0000 (04:38 +0000)]
[SCEV] Fix incorrect trip count computation

The way we elide max expressions when computing trip counts is incorrect
-- it breaks cases like this:

```
static int wrapping_add(int a, int b) {
  return (int)((unsigned)a + (unsigned)b);
}

void test() {
  volatile int end_buf = 2147483548; // INT_MIN - 100
  int end = end_buf;

  unsigned counter = 0;
  for (int start = wrapping_add(end,  200); start < end; start++)
    counter++;

  print(counter);
}
```

Note: the `NoWrap` variable that was being tested has little to do with
the values flowing into the max expression; it is a property of the
induction variable.

test/Transforms/LoopUnroll/nsw-tripcount.ll was added to solely test
functionality I'm reverting in this change, so I've deleted the test
fully.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273079 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86][SSE4A] Autoupgrade and remove MOVNTSD/MOVNTSS intrinsics
Simon Pilgrim [Sat, 18 Jun 2016 02:38:26 +0000 (02:38 +0000)]
[X86][SSE4A] Autoupgrade and remove MOVNTSD/MOVNTSS intrinsics

Required better annotation of the instruction defs upon removal of the builtin intrinsic pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273077 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a test for r273022.
Rafael Espindola [Sat, 18 Jun 2016 00:24:49 +0000 (00:24 +0000)]
Add a test for r273022.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273073 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86Subtarget] Use isPositionIndependent(). NFC.
Davide Italiano [Sat, 18 Jun 2016 00:03:20 +0000 (00:03 +0000)]
[X86Subtarget] Use isPositionIndependent(). NFC.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273071 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "Revert "Revert "InstCombine: Reduce trunc (shl x, K) width."""
Matt Arsenault [Fri, 17 Jun 2016 23:36:38 +0000 (23:36 +0000)]
Revert "Revert "Revert "InstCombine: Reduce trunc (shl x, K) width."""

This seems to be causing an infinite loop / crash in instcombine
on some bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273069 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoCodegen: [MBP] Add assert strings. NFC
Kyle Butt [Fri, 17 Jun 2016 22:40:19 +0000 (22:40 +0000)]
Codegen: [MBP] Add assert strings. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273067 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSupport/ELF: Add AMDGPU relocation definitions to match documentation
Tom Stellard [Fri, 17 Jun 2016 22:38:08 +0000 (22:38 +0000)]
Support/ELF: Add AMDGPU relocation definitions to match documentation

Reviewers: arsenm, kzhuravl, rafael

Subscribers: llvm-commits, kzhuravl

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273066 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[LAA] Enable symbolic stride speculation for all LAA clients
Adam Nemet [Fri, 17 Jun 2016 22:35:41 +0000 (22:35 +0000)]
[LAA] Enable symbolic stride speculation for all LAA clients

This is a functional change for LLE and LDist.  The other clients (LV,
LVerLICM) already had this explicitly enabled.

The temporary boolean parameter to LAA is removed that allowed turning
off speculation of symbolic strides.  This makes LAA's caching interface
LAA::getInfo only take the loop as the parameter.  This makes the
interface more friendly to the new Pass Manager.

The flag -enable-mem-access-versioning is moved from LV to a LAA which
now allows turning off speculation globally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273064 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Temporarily select trap to s_endpgm
Matt Arsenault [Fri, 17 Jun 2016 22:27:03 +0000 (22:27 +0000)]
AMDGPU: Temporarily select trap to s_endpgm

This should select to s_trap, but that requires
additonal work to setup and enable the trap handler.
For now emit s_endpgm so bugpoint stops getting stuck
on the unsupported call to abort.

Emit a warning that this will only terminate the wave and
not really trap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273062 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDiagnosticInfo: Allow unsupported be a warning
Matt Arsenault [Fri, 17 Jun 2016 22:26:56 +0000 (22:26 +0000)]
DiagnosticInfo: Allow unsupported be a warning

Some unsupported features can be ignored, so don't force
this to be a hard error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273061 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU/SI: Simplify code in SITargetLowering::LowerGlobalAddress()
Tom Stellard [Fri, 17 Jun 2016 22:22:09 +0000 (22:22 +0000)]
AMDGPU/SI: Simplify code in SITargetLowering::LowerGlobalAddress()

This change were suggested in http://reviews.llvm.org/D21154.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273059 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd support for Darwin’s static library table of contents with 64-bit offsets to...
Kevin Enderby [Fri, 17 Jun 2016 22:16:06 +0000 (22:16 +0000)]
Add support for Darwin’s static library table of contents with 64-bit offsets to the archive members.

Darwin added support in its Xcode 8.0 tools (released in the beta) for static
library table of contents with 64-bit offsets to the archive members.  The
change is very straight forward.  The table of contents member is named
___.SYMDEF_64 or "___.SYMDEF_64 SORTED" and same layout is used but with
fields using 64 bit values instead of 32 bit values.

rdar://26869808

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273058 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[codeview] Emit incomplete member pointer types with the unknown model
Reid Kleckner [Fri, 17 Jun 2016 22:14:39 +0000 (22:14 +0000)]
[codeview] Emit incomplete member pointer types with the unknown model

An incomplete member pointer type will always have a size of zero, so we
don't need an extra flag. Credit to David Majnemer for the idea.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273057 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Coverage] Move logic to encode filenames and mappings into llvm (NFC)
Vedant Kumar [Fri, 17 Jun 2016 21:53:31 +0000 (21:53 +0000)]
[Coverage] Move logic to encode filenames and mappings into llvm (NFC)

Currently, frontends which emit source-based code coverage have to
duplicate logic to encode filenames and raw coverage mappings properly.
This violates an abstraction layer and forces frontends to copy tricky
code.

Introduce llvm::coverage::encodeFilenamesAndRawMappings() to take care
of this.

This will help us experiment with zlib-compressing coverage mapping
data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273055 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[codeview] Add DIFlags for pointer to member representations
Reid Kleckner [Fri, 17 Jun 2016 21:31:33 +0000 (21:31 +0000)]
[codeview] Add DIFlags for pointer to member representations

Summary:
This seems like the least intrusive way to pass this information
through.

Fixes PR28151

Reviewers: majnemer, aprantl, dblaikie

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273053 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Coverage] Get rid of an input/output parameter (NFC)
Vedant Kumar [Fri, 17 Jun 2016 21:31:03 +0000 (21:31 +0000)]
[Coverage] Get rid of an input/output parameter (NFC)

readFunctionRecords is used to iterate through the entries of the
coverage mapping section. Instead of expecting the function to update
the iterator through a `const char *&` parameter, just return the
updated iterator.

This will help us experiment with zlib-compressing coverage mapping
data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273052 91177308-0d34-0410-b5e6-96231b3b80d8