OSDN Git Service

android-x86/external-llvm.git
8 years agofix documentation comments; NFC
Sanjay Patel [Wed, 11 May 2016 20:10:33 +0000 (20:10 +0000)]
fix documentation comments; NFC

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

8 years ago[ProfileData] Use SoftInstrProfErrors to count soft errors, NFC
Vedant Kumar [Wed, 11 May 2016 19:42:19 +0000 (19:42 +0000)]
[ProfileData] Use SoftInstrProfErrors to count soft errors, NFC

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

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

8 years ago[X86][AVX512] Fixed VPERMILPD/VPERMILPS shuffle comments.
Simon Pilgrim [Wed, 11 May 2016 18:53:44 +0000 (18:53 +0000)]
[X86][AVX512] Fixed VPERMILPD/VPERMILPS shuffle comments.

Fixed incorrect operands indices used to access src registers

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

8 years agoReturn a StringRef from getSection.
Rafael Espindola [Wed, 11 May 2016 18:21:59 +0000 (18:21 +0000)]
Return a StringRef from getSection.

This is similar to how getName is handled.

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

8 years agoFix build breakage in DebugInfoCodeview
Zachary Turner [Wed, 11 May 2016 17:54:20 +0000 (17:54 +0000)]
Fix build breakage in DebugInfoCodeview

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

8 years agoRefactor CodeView type records to use common code.
Zachary Turner [Wed, 11 May 2016 17:47:35 +0000 (17:47 +0000)]
Refactor CodeView type records to use common code.

Differential Revision: http://reviews.llvm.org/D20138
Reviewed By: rnk

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

8 years agoSDAG: Minor cleanup in X86
Justin Bogner [Wed, 11 May 2016 17:46:03 +0000 (17:46 +0000)]
SDAG: Minor cleanup in X86

Don't bother returning a result we don't use here. I've also renamed
this from selectGather to tryGather to better indicate that it may not
do anything.

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

8 years ago[SCEVExpander] Fix a failed cast<> assertion
Sanjoy Das [Wed, 11 May 2016 17:41:41 +0000 (17:41 +0000)]
[SCEVExpander] Fix a failed cast<> assertion

SCEVExpander::replaceCongruentIVs assumes the backedge value of an
SCEV-analysable PHI to always be an instruction, when this is not
necessarily true.  For now address this by bailing out of the
optimization if the backedge value of the PHI is a non-Instruction.

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

8 years ago[SCEVExpander] Don't break SSA in replaceCongruentIVs
Sanjoy Das [Wed, 11 May 2016 17:41:34 +0000 (17:41 +0000)]
[SCEVExpander] Don't break SSA in replaceCongruentIVs

`SCEVExpander::replaceCongruentIVs` bypasses `hoistIVInc` if both the
original and the isomorphic increments are PHI nodes.  Doing this can
break SSA if the isomorphic increment is not dominated by the original
increment.  Get rid of the bypass, and let `hoistIVInc` do the right
thing.

Fixes PR27232 (compile time crash/hang).

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

8 years ago[SCEV] Be more aggressive around proving no-wrap
Sanjoy Das [Wed, 11 May 2016 17:41:26 +0000 (17:41 +0000)]
[SCEV] Be more aggressive around proving no-wrap

... for AddRec's in loops for which SCEV is unable to compute a max
tripcount.  This is not a problem for "normal" loops[0] that don't have
guards or assumes, but helps in cases where we have guards or assumes in
the loop that can be used to constrain incoming values over the backedge.

This partially fixes PR27691 (we still don't handle the NUW case).

[0]: for "normal" loops, in the cases where we'd be able to prove
no-wrap via isKnownPredicate, we'd also be able to compute a max
tripcount.

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

8 years ago[X86][SSE] Avoid repeatedly calling MCInst::getNumOperands(). NFCI.
Simon Pilgrim [Wed, 11 May 2016 17:36:32 +0000 (17:36 +0000)]
[X86][SSE] Avoid repeatedly calling MCInst::getNumOperands(). NFCI.

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

8 years agoAMDGPU: Split private memory tests
Jan Vesely [Wed, 11 May 2016 17:24:45 +0000 (17:24 +0000)]
AMDGPU: Split private memory tests

Reenable R600 testing

reviewer: arsenm

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

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

8 years agofix typos in comments; NFC
Sanjay Patel [Wed, 11 May 2016 17:00:07 +0000 (17:00 +0000)]
fix typos in comments; NFC

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

8 years ago[NFC] Remove some dead code:
Filipe Cabecinhas [Wed, 11 May 2016 16:38:40 +0000 (16:38 +0000)]
[NFC] Remove some dead code:

DbgInfoIntrinsic::StripCast() is dead since r79977
The only function that creates Comdat objects seems to be in Module, and always creates them using the default constructor.

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

8 years ago[WebAssembl] Implement enough of fast-isel to run the comparison tests.
Dan Gohman [Wed, 11 May 2016 16:32:42 +0000 (16:32 +0000)]
[WebAssembl] Implement enough of fast-isel to run the comparison tests.

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

8 years agoUse an emplace_back for consistency, NFC
Vedant Kumar [Wed, 11 May 2016 16:03:02 +0000 (16:03 +0000)]
Use an emplace_back for consistency, NFC

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

8 years ago[BasicAA] Compare GEP indices based on value (Fix PR27418)
Vedant Kumar [Wed, 11 May 2016 15:45:43 +0000 (15:45 +0000)]
[BasicAA] Compare GEP indices based on value (Fix PR27418)

Equivalent GEP indices with different types are treated as different
indices altogether, leading to an incorrect AA result. Fix the issue
by comparing indices based on their values.

Thanks to Mikael Holmén for reporting the issue!

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

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

8 years ago[mips][ias] Work around incorrect microMIPS relocation evaluation exposed by r268900
Daniel Sanders [Wed, 11 May 2016 15:44:23 +0000 (15:44 +0000)]
[mips][ias] Work around incorrect microMIPS relocation evaluation exposed by r268900

microMIPS has a special case that is not correctly implemented in LLVM. If we
have a symbol 'foo' which is equivalent to '.text+0x10'. The value of an
R_MICROMIPS_LO16 relocation using 'foo' is 'foo+0x11' and not 'foo+0x10'. The
in-place addend should therefore be 0x11.

Work around this by partially reverting the effect of r268900 by keeping the
symbol when the STO_MIPS_MICROMIPS flag is set. This fixes
SingleSource/Regression/C/PR640 for microMIPS.

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

8 years ago[X86][AVX512] Regenerate intrinsics test
Simon Pilgrim [Wed, 11 May 2016 15:13:29 +0000 (15:13 +0000)]
[X86][AVX512] Regenerate intrinsics test

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

8 years ago[Hexagon] Add a debug option to disable all backend optimizations
Krzysztof Parzyszek [Wed, 11 May 2016 15:01:30 +0000 (15:01 +0000)]
[Hexagon] Add a debug option to disable all backend optimizations

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

8 years ago[Hexagon] Use offsets relative to FP+8 in .cfi_offset instructions
Krzysztof Parzyszek [Wed, 11 May 2016 14:53:07 +0000 (14:53 +0000)]
[Hexagon] Use offsets relative to FP+8 in .cfi_offset instructions

When generating .cfi_offset instructions, make sure that the offset is
calculated with respect to the register used to define the CFA (which is
currently always FP+8).

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

8 years agoNFC. Introduce Value::isPointerDereferenceable
Artur Pilipenko [Wed, 11 May 2016 14:43:28 +0000 (14:43 +0000)]
NFC. Introduce Value::isPointerDereferenceable

Extract a part of isDereferenceableAndAlignedPointer functionality to Value:

Reviewed By: hfinkel, sanjoy

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

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

8 years agoMerge two unreachable cases.
Rafael Espindola [Wed, 11 May 2016 14:41:30 +0000 (14:41 +0000)]
Merge two unreachable cases.

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

8 years ago[X86] Regenerate shuffle test
Simon Pilgrim [Wed, 11 May 2016 13:57:15 +0000 (13:57 +0000)]
[X86] Regenerate shuffle test

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

8 years agoRefactor duplicated check for valid declaration linkage. NFC.
Rafael Espindola [Wed, 11 May 2016 13:51:39 +0000 (13:51 +0000)]
Refactor duplicated check for valid declaration linkage. NFC.

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

8 years agoDelete duplicated verifier test.
Rafael Espindola [Wed, 11 May 2016 13:23:52 +0000 (13:23 +0000)]
Delete duplicated verifier test.

Also add unittest to show we still detect the errors.

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

8 years ago[mips][ias] Fix missing header that should have been in r269179
Daniel Sanders [Wed, 11 May 2016 13:04:22 +0000 (13:04 +0000)]
[mips][ias] Fix missing header that should have been in r269179

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

8 years ago[mips][ias] Fix N32 and N64 .cprestore directive when inside .set noat region.
Daniel Sanders [Wed, 11 May 2016 12:48:19 +0000 (12:48 +0000)]
[mips][ias] Fix N32 and N64 .cprestore directive when inside .set noat region.

Summary:
r268058 unintentionally made the retrieval of the current assembler temporary
unconditional. This was fine for the existing tests but it broke the cases
where the assembler temporary is not needed (N32/N64 or not PIC) and is
unavailable due to a '.set noat' directive.

This fixes FreeBSD's libc.

Reviewers: emaste, sdardis, seanbruno

Subscribers: dsanders, emaste, sdardis, llvm-commits

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

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

8 years agoTry to fix a msvc warning.
Rafael Espindola [Wed, 11 May 2016 12:37:16 +0000 (12:37 +0000)]
Try to fix a msvc warning.

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

8 years ago[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions
Hrvoje Varga [Wed, 11 May 2016 12:12:24 +0000 (12:12 +0000)]
[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions
Differential Revision: http://reviews.llvm.org/D19713

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

8 years agoclang-format LLToken.h.
Rafael Espindola [Wed, 11 May 2016 12:07:32 +0000 (12:07 +0000)]
clang-format LLToken.h.

Having it be special is quite annoying for being able to just run
git-clang-format in patches that change it.

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

8 years ago[X86][AVX512] Updated shuffle comments instruction macros to split writemask instruct...
Simon Pilgrim [Wed, 11 May 2016 11:55:12 +0000 (11:55 +0000)]
[X86][AVX512] Updated shuffle comments instruction macros to split writemask instructions. NFC

This will make it easier to support the different writemask cases in shuffle comments

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

8 years ago[mips][micromips] Implement DSBH, DSHD, DSLL, DSLL32, DSLLV, DSRA, DSRA32 and DSRAV...
Hrvoje Varga [Wed, 11 May 2016 11:17:04 +0000 (11:17 +0000)]
[mips][micromips] Implement DSBH, DSHD, DSLL, DSLL32, DSLLV, DSRA, DSRA32 and DSRAV instructions
Differential Revision: http://reviews.llvm.org/D16800

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

8 years agoMost common problem is that I get md5 hashes, not crypt hashes.
Chris Lattner [Wed, 11 May 2016 03:47:36 +0000 (03:47 +0000)]
Most common problem is that I get md5 hashes, not crypt hashes.

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

8 years agoReplace PrintLinkage with getLinkagePrintName. NFC.
Rafael Espindola [Wed, 11 May 2016 01:45:31 +0000 (01:45 +0000)]
Replace PrintLinkage with getLinkagePrintName. NFC.

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

8 years ago[AArch64] Fix DAG selection for cmps for fp16 type
Weiming Zhao [Wed, 11 May 2016 01:26:32 +0000 (01:26 +0000)]
[AArch64] Fix DAG selection for cmps for fp16 type

Summary: When emitting comparison for fp16, in addition to promote the LHS and RHS to fp32, we need to change the VT as well.

Reviewers: t.p.northover

Subscribers: t.p.northover, aemerson, rengolin, llvm-commits

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

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

8 years agoDelete mayBeOverridden.
Rafael Espindola [Wed, 11 May 2016 01:26:06 +0000 (01:26 +0000)]
Delete mayBeOverridden.

It is the same as isInterposable which seems to be the preferred name.

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

8 years agoAMDGPU: Make some instructions convergent
Matt Arsenault [Wed, 11 May 2016 00:32:31 +0000 (00:32 +0000)]
AMDGPU: Make some instructions convergent

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

8 years ago[PGO] Use WeakAny linkage for __llvm_profile_raw_version
Rong Xu [Wed, 11 May 2016 00:31:59 +0000 (00:31 +0000)]
[PGO] Use WeakAny linkage for __llvm_profile_raw_version
Use WeakAny linkage instead of LinkOnceAny, as the symbol can be removed with
LinkOnceAny in O2 (not referenced).

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

8 years agoAMDGPU: Change private_element_size to 4
Matt Arsenault [Wed, 11 May 2016 00:28:54 +0000 (00:28 +0000)]
AMDGPU: Change private_element_size to 4

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

8 years agoSDAG: Implement Select instead of SelectImpl in X86
Justin Bogner [Tue, 10 May 2016 23:55:37 +0000 (23:55 +0000)]
SDAG: Implement Select instead of SelectImpl in X86

This is part of the work to have Select return void instead of an
SDNode *, which is in turn part of llvm.org/pr26808.

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

8 years ago[libFuzzer] mention the AFL driver in the docs
Kostya Serebryany [Tue, 10 May 2016 23:52:47 +0000 (23:52 +0000)]
[libFuzzer] mention the AFL driver in the docs

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

8 years ago[libFuzzer] add a driver file to use AFL on LLVMFuzzerTestOneInput
Kostya Serebryany [Tue, 10 May 2016 23:46:50 +0000 (23:46 +0000)]
[libFuzzer] add a driver file to use AFL on LLVMFuzzerTestOneInput

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

8 years ago[libfuzzer] Refactoring coverage state-management code.
Mike Aizatsky [Tue, 10 May 2016 23:43:15 +0000 (23:43 +0000)]
[libfuzzer] Refactoring coverage state-management code.

It is now less state-dependent and will allow easier comparing of
coverages of different units.

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

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

8 years agoAdd missing tests for new PM
Xinliang David Li [Tue, 10 May 2016 23:37:19 +0000 (23:37 +0000)]
Add missing tests for new PM

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

8 years agoRevert r269131
Easwaran Raman [Tue, 10 May 2016 23:26:04 +0000 (23:26 +0000)]
Revert r269131

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

8 years agoPropagate branch metadata when some branch probability is missing.
Dehao Chen [Tue, 10 May 2016 23:07:19 +0000 (23:07 +0000)]
Propagate branch metadata when some branch probability is missing.

Summary: In sample profile, some branches may have profile missing due to profile inaccuracy. We want existing branch probability still valid after propagation.

Reviewers: hfinkel, davidxl, spatel

Subscribers: llvm-commits

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

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

8 years agoSDAG: Make SelectCodeCommon return void
Justin Bogner [Tue, 10 May 2016 22:58:26 +0000 (22:58 +0000)]
SDAG: Make SelectCodeCommon return void

This means SelectCode unconditionally returns nullptr now. I'll follow
up with a change to make that return void as well, but it seems best
to keep that one very mechanical.

This is part of the work to have Select return void instead of an
SDNode *, which is in turn part of llvm.org/pr26808.

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

8 years agoauto-generate checks
Sanjay Patel [Tue, 10 May 2016 22:33:26 +0000 (22:33 +0000)]
auto-generate checks

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

8 years agoAArch64: allow vN to represent 64-bit registers in inline asm.
Tim Northover [Tue, 10 May 2016 22:26:45 +0000 (22:26 +0000)]
AArch64: allow vN to represent 64-bit registers in inline asm.

Unlike xN/wN, the size of vN is genuinely ambiguous in the assembly, so we
should try to infer what was intended from the type. But only down to 64-bits
(vN can never represent sN, hN or bN).

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

8 years agoReapply r266477 and r266488
Easwaran Raman [Tue, 10 May 2016 22:03:23 +0000 (22:03 +0000)]
Reapply r266477 and r266488

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

8 years ago[PM]: port IR based profUse pass to new pass manager
Xinliang David Li [Tue, 10 May 2016 21:59:52 +0000 (21:59 +0000)]
[PM]: port IR based profUse pass to new pass manager

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

8 years agoremove some comments and other cruft from checks
Sanjay Patel [Tue, 10 May 2016 21:52:15 +0000 (21:52 +0000)]
remove some comments and other cruft from checks

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

8 years agoRevert "MemCpyOpt: combine local load/store sequences into memcpy."
Tim Northover [Tue, 10 May 2016 21:49:40 +0000 (21:49 +0000)]
Revert "MemCpyOpt: combine local load/store sequences into memcpy."

This reverts commit r269125. It was in my tree when I ran "git svn dcommit".
It's really still under review.

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

8 years agoARM: report an error when attempting to target a misalgined BLX
Tim Northover [Tue, 10 May 2016 21:48:48 +0000 (21:48 +0000)]
ARM: report an error when attempting to target a misalgined BLX

The CodeGen problem was fixed in r269101, but we still miscompiled assembly
that tried the same thing.

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

8 years agoMemCpyOpt: combine local load/store sequences into memcpy.
Tim Northover [Tue, 10 May 2016 21:48:11 +0000 (21:48 +0000)]
MemCpyOpt: combine local load/store sequences into memcpy.

Sort of the BB-local equivalent to idiom-recognizer: if we have a basic-block
that really implements a memcpy operation, backends can benefit from seeing
this.

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

8 years agoLoop unroller: set thresholds for optsize and minsize functions to zero
Hans Wennborg [Tue, 10 May 2016 21:45:55 +0000 (21:45 +0000)]
Loop unroller: set thresholds for optsize and minsize functions to zero

Before r268509, Clang would disable the loop unroll pass when optimizing
for size. That commit enabled it to be able to support unroll pragmas
in -Os builds. However, this regressed binary size in one of Chromium's
DLLs with ~100 KB.

This restores the original behaviour of no unrolling at -Os, but doing it
in LLVM instead of Clang makes more sense, and also allows the pragmas to
keep working.

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

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

8 years agoupdate test to use FileCheck for tighter checking
Sanjay Patel [Tue, 10 May 2016 21:45:51 +0000 (21:45 +0000)]
update test to use FileCheck for tighter checking

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

8 years agoupdate test to use FileCheck for tighter checking
Sanjay Patel [Tue, 10 May 2016 21:42:09 +0000 (21:42 +0000)]
update test to use FileCheck for tighter checking

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

8 years ago Enable loopreroll for sext of loop control only IV
Lawrence Hu [Tue, 10 May 2016 21:16:49 +0000 (21:16 +0000)]
    Enable loopreroll for sext of loop control only IV

        This patch extend loopreroll to allow the instruction chain
        of loop control only IV has sext.

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

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

8 years agoSDAG: Avoid relying on the return value of SelectCode in SystemZ. NFC
Justin Bogner [Tue, 10 May 2016 21:11:26 +0000 (21:11 +0000)]
SDAG: Avoid relying on the return value of SelectCode in SystemZ. NFC

This is a bit of a spot fix for now. I'll try to fix this up more
comprehensively soon.

This is part of the work to have Select return void instead of an
SDNode *, which is in turn part of llvm.org/pr26808.

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

8 years agoRevert r26084: Enable loopreroll for sext of loop control only IV
Lawrence Hu [Tue, 10 May 2016 21:11:09 +0000 (21:11 +0000)]
Revert r26084: Enable loopreroll for sext of loop control only IV

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

8 years agoRevert r269093: Enable loopreroll for sext of loop control only IV
Lawrence Hu [Tue, 10 May 2016 21:04:28 +0000 (21:04 +0000)]
Revert r269093: Enable loopreroll for sext of loop control only IV

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

8 years ago[X86] Properly check that EAX is dead when copying EFLAGS.
Quentin Colombet [Tue, 10 May 2016 20:49:46 +0000 (20:49 +0000)]
[X86] Properly check that EAX is dead when copying EFLAGS.

This fixes a bug introduced in r267623, where we got smarter and avoided to save
EAX before using it. However, we failed to check if any of the subregister of
EAX were alive and thus, missed cases where we have to save EAX before using it.

The problem may happen on every X86/i386/... platform.

This fixes llvm.org/PR27624

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

8 years ago[InstSimplify] use computeKnownBits on shift amount operands
Sanjay Patel [Tue, 10 May 2016 20:46:54 +0000 (20:46 +0000)]
[InstSimplify] use computeKnownBits on shift amount operands

Do simplifications common to all shift instructions based on the amount shifted:
1. If the shift amount is known larger than the bitwidth, the result is undefined.
2. If the valid bits of the shift amount are all known to be 0, it's a shift by zero, so the shift operand is the result.

Note that we could generalize the shift-by-zero transform into a shift-by-constant if all of the valid bits in the shift
amount are known, but that would have to be done in InstCombine rather than here because it would mean we need to create
a new shift instruction.

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

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

8 years agoSDAG: Avoid relying on the return value of SelectCode in Hexagon. NFC
Justin Bogner [Tue, 10 May 2016 20:31:53 +0000 (20:31 +0000)]
SDAG: Avoid relying on the return value of SelectCode in Hexagon. NFC

This is a bit of a spot fix for now. I'll try to fix this up more
comprehensively soon.

This is part of the work to have Select return void instead of an
SDNode *, which is in turn part of llvm.org/pr26808.

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

8 years agoCloning: Clean up the interface to the CloneFunction function.
Peter Collingbourne [Tue, 10 May 2016 20:23:24 +0000 (20:23 +0000)]
Cloning: Clean up the interface to the CloneFunction function.

Remove the ModuleLevelChanges argument, and the ability to create new
subprograms for cloned functions. The latter was added without review in
r203662, but it has no in-tree clients (all non-test callers pass false
for ModuleLevelChanges [1], so it isn't reachable outside of tests). It
also isn't clear that adding a duplicate subprogram to the compile unit is
always the right thing to do when cloning a function within a module. If
this functionality comes back it should be accompanied with a more concrete
use case.

Furthermore, all in-tree clients add the returned function to the module.
Since that's pretty much the only sensible thing you can do with the function,
just do that in CloneFunction.

[1] http://llvm-cs.pcc.me.uk/lib/Transforms/Utils/CloneFunction.cpp/rCloneFunction

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

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

8 years ago[InstCombine] Fold icmp ugt/ult (udiv i32 C2, X), C1.
Chad Rosier [Tue, 10 May 2016 20:22:09 +0000 (20:22 +0000)]
[InstCombine] Fold icmp ugt/ult (udiv i32 C2, X), C1.

This patch adds support for two optimizations:
icmp ugt (udiv C2, X), C1 -> icmp ule X, C2/(C1+1)
icmp ult (udiv C2, X), C1 -> icmp ugt X, C2/C1

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

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

8 years agoScheduleDAGInstrs: Comment on why subreg defs are not seen as uses; NFC
Matthias Braun [Tue, 10 May 2016 20:11:58 +0000 (20:11 +0000)]
ScheduleDAGInstrs: Comment on why subreg defs are not seen as uses; NFC

Usually subregister definitions are consider uses of the remaining
lanes that did not get defined. Add a comment why the code in
ScheduleDAGInstrs does not add use dependencies regardless.

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

8 years ago[SystemZ] Add support for additional branch extended mnemonics
Kit Barton [Tue, 10 May 2016 20:11:24 +0000 (20:11 +0000)]
[SystemZ] Add support for additional branch extended mnemonics

Added support for extended mnemonics for the following branch instructions and
load/store-on-condition opcodes:

BR, LOCR, LOCGR, LOC, LOCG, STOC, STOCG

Phabricator: http://reviews.llvm.org/D19729

Committing on behalf of Zhan Liau

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

8 years ago[SCCP] Partially propagate informations when the input is not fully defined.
Davide Italiano [Tue, 10 May 2016 19:49:47 +0000 (19:49 +0000)]
[SCCP] Partially propagate informations when the input is not fully defined.

With this patch:
%r1 = lshr i64 -1, 4294967296 -> undef

Before this patch:
%r1 = lshr i64 -1, 4294967296 -> 0

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

8 years ago[CMake] Add some extra variables to LLVMConfig.cmake.in
Chris Bieneman [Tue, 10 May 2016 19:45:17 +0000 (19:45 +0000)]
[CMake] Add some extra variables to LLVMConfig.cmake.in

Compiler-RT needs LLVM_LIBRARY_DIR, LLVM_BINARY_DIR.

Setting these in LLVMConfig.cmake will allow Compiler-RT to not need to run llvm-config as long as the LLVMConfig.cmake module is in the CMake module path.

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

8 years agoDebug Info: Prevent DW_AT_abstract_origin from being emitted twice
Adrian Prantl [Tue, 10 May 2016 19:38:51 +0000 (19:38 +0000)]
Debug Info: Prevent DW_AT_abstract_origin from being emitted twice
for the same subprogram.

This fixes a bug where DW_AT_abstract_origin is being emitted twice for
the same subprogram if a function is both inlined and emitted in the same
translation unit, by restoring the pre-r266446 behavior.

http://reviews.llvm.org/D20072

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

8 years agoARM: stop emitting blx instructions for most calls on MachO.
Tim Northover [Tue, 10 May 2016 19:17:47 +0000 (19:17 +0000)]
ARM: stop emitting blx instructions for most calls on MachO.

I'm really not sure why we were in the first place, it's the linker's job to
convert between BL/BLX as necessary. Even worse, using BLX left Thumb calls
that could be locally resolved completely unencodable since all offsets to BLX
are multiples of 4.

rdar://26182344

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

8 years ago[AMDGPU][NFC] Rename SIInsertNops -> SIDebuggerInsertNops
Konstantin Zhuravlyov [Tue, 10 May 2016 18:33:41 +0000 (18:33 +0000)]
[AMDGPU][NFC] Rename SIInsertNops -> SIDebuggerInsertNops

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

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

8 years agoLPM: Drop require<loops> from these tests, it's redundant. NFC
Justin Bogner [Tue, 10 May 2016 18:28:10 +0000 (18:28 +0000)]
LPM: Drop require<loops> from these tests, it's redundant. NFC

The LoopPassManager needs to calculate the loops analysis in order to
iterate over the loops at all. Requiring it is redundant and just adds
noise to the RUN lines here.

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

8 years agoMake "@name =" mandatory for globals in .ll files.
Rafael Espindola [Tue, 10 May 2016 18:22:45 +0000 (18:22 +0000)]
Make "@name =" mandatory for globals in .ll files.

An oddity of the .ll syntax is that the "@var = " in

@var = global i32 42

is optional. Writing just

global i32 42

is equivalent to

@0 = global i32 42

This means that there is a pretty big First set at the top level. The
current implementation maintains it manually. I was trying to refactor
it, but then started wondering why keep it a all. I personally find the
above syntax confusing. It looks like something is missing.

This patch removes the feature and simplifies the parser.

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

8 years agoRe-apply r269081 and r269082 with a fix for MSVC.
Peter Collingbourne [Tue, 10 May 2016 18:07:21 +0000 (18:07 +0000)]
Re-apply r269081 and r269082 with a fix for MSVC.

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

8 years ago Enable loopreroll for sext of loop control only IV
Lawrence Hu [Tue, 10 May 2016 18:00:42 +0000 (18:00 +0000)]
Enable loopreroll for sext of loop control only IV

    This patch extend loopreroll to allow the instruction chain
    of loop control only IV has sext.

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

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

8 years agoFix PR26655: Bail out if all regs of an inst BUNDLE have the correct kill flag
Mandeep Singh Grang [Tue, 10 May 2016 17:57:27 +0000 (17:57 +0000)]
Fix PR26655: Bail out if all regs of an inst BUNDLE have the correct kill flag

Summary:
While setting kill flags on instructions inside a BUNDLE, we bail out as soon
as we set kill flag on a register.  But we are missing a check when all the
registers already have the correct kill flag set. We need to bail out in that
case as well.

This patch refactors the old code and simply makes use of the addRegisterKilled
function in MachineInstr.cpp in order to determine whether to set/remove kill
on an instruction.

Reviewers: apazos, t.p.northover, pete, MatzeB

Subscribers: MatzeB, davide, llvm-commits

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

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

8 years agoRevert r269081 and r269082 while I try to find the right incantation to fix MSVC...
Peter Collingbourne [Tue, 10 May 2016 17:54:43 +0000 (17:54 +0000)]
Revert r269081 and r269082 while I try to find the right incantation to fix MSVC build.

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

8 years ago[PGO] resubmit r268969
Rong Xu [Tue, 10 May 2016 17:45:33 +0000 (17:45 +0000)]
[PGO] resubmit r268969
Put the test into a target specific directory.

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

8 years ago Enable loopreroll for sext of loop control only IV
Lawrence Hu [Tue, 10 May 2016 17:42:27 +0000 (17:42 +0000)]
Enable loopreroll for sext of loop control only IV

    This patch extend loopreroll to allow the instruction chain
    of loop control only IV has sext.

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

8 years ago[WebAssembly] Preliminary fast-isel support.
Dan Gohman [Tue, 10 May 2016 17:39:48 +0000 (17:39 +0000)]
[WebAssembly] Preliminary fast-isel support.

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

8 years agoUse doxygen style comments.
Peter Collingbourne [Tue, 10 May 2016 17:35:30 +0000 (17:35 +0000)]
Use doxygen style comments.

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

8 years agoWholeProgramDevirt: Move logic for finding devirtualizable call sites to Analysis.
Peter Collingbourne [Tue, 10 May 2016 17:34:21 +0000 (17:34 +0000)]
WholeProgramDevirt: Move logic for finding devirtualizable call sites to Analysis.

The plan is to eventually make this logic simpler, however I expect it to
be a little tricky for the foreseeable future (at least until we're rid of
pointee types), so move it here so that it can be reused to build a summary
index for devirtualization.

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

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

8 years agoSimplify LLParser::ParseOptionalLinkage. NFC.
Rafael Espindola [Tue, 10 May 2016 17:16:45 +0000 (17:16 +0000)]
Simplify LLParser::ParseOptionalLinkage. NFC.

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

8 years ago[X86][AVX512] Added another masked shuffle combine from load test
Simon Pilgrim [Tue, 10 May 2016 16:55:20 +0000 (16:55 +0000)]
[X86][AVX512] Added another masked shuffle combine from load test

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

8 years ago[ScheduleDAG] Make sure to process all def operands before any use operands
Krzysztof Parzyszek [Tue, 10 May 2016 16:50:30 +0000 (16:50 +0000)]
[ScheduleDAG] Make sure to process all def operands before any use operands

An example from Hexagon where things went wrong:
  %R0<def> = L2_loadrigp <ga:@fp04>      ; load function address
  J2_callr %R0<kill>, ..., %R0<imp-def>  ; call *R0, return value in R0

ScheduleDAGInstrs::buildSchedGraph would visit all instructions going
backwards, and in each instruction it would visit all operands in their
order on the operand list. In the case of this call, it visited the use
of R0 first, then removed it from the set Uses after it visited the def.
This caused the DAG to be missing the data dependence edge on R0 between
the load and the call.

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

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

8 years ago[PR27599] [SystemZ] [SelectionDAG] Fix extension of atomic cmpxchg result.
Marcin Koscielnicki [Tue, 10 May 2016 16:49:04 +0000 (16:49 +0000)]
[PR27599] [SystemZ] [SelectionDAG] Fix extension of atomic cmpxchg result.

Currently, SelectionDAG assumes 8/16-bit cmpxchg returns either a sign
extended result, or a zero extended result.  SystemZ takes a third
option by returning junk in the high bits (rotated contents of the other
bytes in the memory word).  In that case, don't use Assert*ext, and
zero-extend the result ourselves if a comparison is needed.

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

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

8 years agoUpdate my email address.
Nadav Rotem [Tue, 10 May 2016 16:23:54 +0000 (16:23 +0000)]
Update my email address.

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

8 years ago[X86][AVX] Added some shuffle combine from load tests
Simon Pilgrim [Tue, 10 May 2016 16:08:24 +0000 (16:08 +0000)]
[X86][AVX] Added some shuffle combine from load tests

As discussed on D19198 - we need to check what happens when we shuffle with different value type to the load

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

8 years ago[ThinLTO] Add option to emit imports files for distributed backends
Teresa Johnson [Tue, 10 May 2016 15:54:09 +0000 (15:54 +0000)]
[ThinLTO] Add option to emit imports files for distributed backends

Summary:
Add support for emission of plaintext lists of the imported files for
each distributed backend compilation. Used for distributed build file
staging.

Invoked with new gold-plugin thinlto-emit-imports-files option, which is
only valid with thinlto-index-only (i.e. for distributed builds), or
from llvm-lto with new -thinlto-action=emitimports value.

Depends on D19556.

Reviewers: joker.eph

Subscribers: llvm-commits, joker.eph

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

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

8 years ago[docs] Fix unexpected indentation in HowToCrossCompileLLVM.rst
Renato Golin [Tue, 10 May 2016 14:02:46 +0000 (14:02 +0000)]
[docs] Fix unexpected indentation in HowToCrossCompileLLVM.rst

Seems like my sphynx version is different than the one in the bot, as it
accepted everything locally. I think this is the right fix...

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

8 years agoRestore "[ThinLTO] Emit individual index files for distributed backends"
Teresa Johnson [Tue, 10 May 2016 13:48:23 +0000 (13:48 +0000)]
Restore "[ThinLTO] Emit individual index files for distributed backends"

This restores commit r268627:
    Summary:
    When launching ThinLTO backends in a distributed build (currently
    supported in gold via the thinlto-index-only plugin option), emit
    an individual index file for each backend process as described here:
    http://lists.llvm.org/pipermail/llvm-dev/2016-April/098272.html

    ...

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

Address msan failures by avoiding std::prev on map.end(), the
theory is that this is causing issues due to some known UB problems
in __tree.

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

8 years ago[docs] Change CrossCompilation guidde to reflect changes in Clang/GCC
Renato Golin [Tue, 10 May 2016 12:54:12 +0000 (12:54 +0000)]
[docs] Change CrossCompilation guidde to reflect changes in Clang/GCC

HowToCrossCompile was outdated and generating too much traffic on the mailing
list with similar queries. This change helps offset most of the problems that
were reported recently including:

 * Removing the -ccc-gcc-name, adding --sysroot
 * Making references to Debian's multiarch for target libraries
 * Expanding -DCMAKE_CXX_FLAGS for both GCC and Clang
 * Some formatting and clarifications in the text

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

8 years ago[LAA] Use re-written SCEV expressions when computing distances
Silviu Baranga [Tue, 10 May 2016 12:28:49 +0000 (12:28 +0000)]
[LAA] Use re-written SCEV expressions when computing distances

This removes a redundant stride versioning step (we already
do it in getPtrStride, so it has no effect) and uses PSE to
get the SCEV expressions for the source and destination
(this might have changed when getPtrStride was called).

I discovered this through code inspection, and couldn't
produce a regression test for it.

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

8 years agoRevert "[VectorUtils] Query number of sign bits to allow more truncations"
James Molloy [Tue, 10 May 2016 12:27:23 +0000 (12:27 +0000)]
Revert "[VectorUtils] Query number of sign bits to allow more truncations"

This was a fairly simple patch but on closer inspection was seriously flawed and caused PR27690.

This reverts commit r268921.

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

8 years ago[mips][ias] Make the default path unreachable in needsRelocateWithSymbol() (except...
Daniel Sanders [Tue, 10 May 2016 12:17:04 +0000 (12:17 +0000)]
[mips][ias] Make the default path unreachable in needsRelocateWithSymbol() (except for N64).

Following post-commit comments on r268900 from Rafael Espindola:
The missing relocations are now explicitly listed in the switch statement with
appropriate FIXME comments and the default path is now unreachable. The
temporary exception to this is that compound relocations for N64 still have a
default path that returns true. This is because fixing that case ought to be a
separate patch.

Also make R_MIPS_NONE return false since it has no effect on the section data.

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

8 years ago[OCaml] Update core test and re-enable testing
Jeroen Ketema [Tue, 10 May 2016 11:19:20 +0000 (11:19 +0000)]
[OCaml] Update core test and re-enable testing

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

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