OSDN Git Service

android-x86/external-llvm.git
8 years ago[Sparc] Atomics pass changes to make work with SparcV8 back-ends.
Chris Dewhurst [Mon, 27 Jun 2016 22:11:09 +0000 (22:11 +0000)]
[Sparc] Atomics pass changes to make work with SparcV8 back-ends.

This change reverts a "false" test that was placed to avoid regressions while the atomics pass was completed for the Sparc back-ends.

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

8 years agoAMDGPU: Set MinInstAlignment
Matt Arsenault [Mon, 27 Jun 2016 21:42:49 +0000 (21:42 +0000)]
AMDGPU: Set MinInstAlignment

Not sure this actually changes anything

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

8 years agoChange all but the last ErrorOr<...> use for MachOUniversalBinary to Expected<.....
Kevin Enderby [Mon, 27 Jun 2016 21:39:39 +0000 (21:39 +0000)]
Change all but the last ErrorOr<...> use for MachOUniversalBinary to Expected<...> to
allow a good error message to be produced.

I added the one test case that the object file tools could produce an error
message.  The other two errors can’t be triggered if the input file is passed
through sys::fs::identify_magic().  But the malformedError("bad magic number")
does get triggered by the logic in llvm-dsymutil when dealing with a normal
Mach-O file.  The other "File too small ..." error would take a logic error
currently to produce and is not tested for.

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

8 years agoConvert a few more comparisons to isPositionIndependent(). NFC.
Rafael Espindola [Mon, 27 Jun 2016 21:33:08 +0000 (21:33 +0000)]
Convert a few more comparisons to isPositionIndependent(). NFC.

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

8 years agoDelete the IsStatic predicate.
Rafael Espindola [Mon, 27 Jun 2016 21:09:14 +0000 (21:09 +0000)]
Delete the IsStatic predicate.

In all its uses it was equivalent to IsNotPIC.

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

8 years agoAMDGPU: Implement per-function subtargets
Matt Arsenault [Mon, 27 Jun 2016 20:48:03 +0000 (20:48 +0000)]
AMDGPU: Implement per-function subtargets

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

8 years ago[llvm-ar] Ignore -plugin option.
Davide Italiano [Mon, 27 Jun 2016 20:38:39 +0000 (20:38 +0000)]
[llvm-ar] Ignore -plugin option.

binutils ar uses -plugin to specify the LTO plugin, but LLVM doesn't
need this as it doesn't use a plugin for LTO. Accepting (and ignoring)
the option allows interoperability with existing build systems and
make downstream consumers life much easier.

No objections from Rafael on this change.

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

8 years agoAMDGPU: Move subtarget feature checks into passes
Matt Arsenault [Mon, 27 Jun 2016 20:32:13 +0000 (20:32 +0000)]
AMDGPU: Move subtarget feature checks into passes

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

8 years agoadd tests for PR28153
Sanjay Patel [Mon, 27 Jun 2016 20:28:59 +0000 (20:28 +0000)]
add tests for PR28153

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

8 years agoOnly emit extension for zeroext/signext arguments if type is < 32 bits
Justin Holewinski [Mon, 27 Jun 2016 20:22:22 +0000 (20:22 +0000)]
Only emit extension for zeroext/signext arguments if type is < 32 bits

Reviewers: jingyue, jlebar

Subscribers: jholewinski

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

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

8 years agoTeach shouldAssumeDSOLocal about tls.
Rafael Espindola [Mon, 27 Jun 2016 20:19:14 +0000 (20:19 +0000)]
Teach shouldAssumeDSOLocal about tls.

Fixes a fixme about handling other visibilities.

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

8 years agoFixed crash of SLP Vectorizer on KNL
Elena Demikhovsky [Mon, 27 Jun 2016 20:07:00 +0000 (20:07 +0000)]
Fixed crash of SLP Vectorizer on KNL

The bug is connected to vector GEPs.
https://llvm.org/bugs/show_bug.cgi?id=28313

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

8 years ago[yaml2obj] Missed updating a few test cases in r273915
Chris Bieneman [Mon, 27 Jun 2016 20:02:49 +0000 (20:02 +0000)]
[yaml2obj] Missed updating a few test cases in r273915

This should fix the broken bots.

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

8 years agoAMDGPU: Fix verifier errors with undef vector indices
Matt Arsenault [Mon, 27 Jun 2016 19:57:44 +0000 (19:57 +0000)]
AMDGPU: Fix verifier errors with undef vector indices

Also fix pointlessly adding exec to liveins.

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

8 years ago[yaml2obj] Remove --format option in favor of YAML tags
Chris Bieneman [Mon, 27 Jun 2016 19:53:53 +0000 (19:53 +0000)]
[yaml2obj] Remove --format option in favor of YAML tags

Summary:
Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that.

Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are:

!ELF
!COFF
!mach-o
!fat-mach-o

I have a corresponding patch that is quite large that fixes up all the in-tree test cases.

Reviewers: rafael, Bigcheese, compnerd, silvas

Subscribers: compnerd, llvm-commits

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

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

8 years agoVerifier: Reject non-float !fpmath
Matt Arsenault [Mon, 27 Jun 2016 19:43:15 +0000 (19:43 +0000)]
Verifier: Reject non-float !fpmath

Code already assumes this is float. getFPAccuracy()
crashes on any other type.

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

8 years agoDAGCombiner: Don't narrow volatile vector loads + extract
Matt Arsenault [Mon, 27 Jun 2016 19:31:04 +0000 (19:31 +0000)]
DAGCombiner: Don't narrow volatile vector loads + extract

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

8 years agoUse isPositionIndependent(). NFC.
Rafael Espindola [Mon, 27 Jun 2016 19:15:08 +0000 (19:15 +0000)]
Use isPositionIndependent(). NFC.

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

8 years ago[InstCombine] refactor sdiv by APInt transforms (NFC)
Sanjay Patel [Mon, 27 Jun 2016 18:38:40 +0000 (18:38 +0000)]
[InstCombine] refactor sdiv by APInt transforms (NFC)

There's at least one more fold to do here:
https://llvm.org/bugs/show_bug.cgi?id=28153

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

8 years agoUse isPositionIndependent(). NFC.
Rafael Espindola [Mon, 27 Jun 2016 18:37:44 +0000 (18:37 +0000)]
Use isPositionIndependent(). NFC.

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

8 years ago[CFLAA] Use unsigned numbers for bit-shifts.
George Burgess IV [Mon, 27 Jun 2016 18:35:00 +0000 (18:35 +0000)]
[CFLAA] Use unsigned numbers for bit-shifts.

This uses `1U` instead of `1ULL` because StratifiedAttrs is a 32-bit
bitset.

Thanks to Hans-Bernhard Broker for bringing this up.

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

8 years agoFactor out buildMemorySSA from getWalker.
Daniel Berlin [Mon, 27 Jun 2016 18:22:27 +0000 (18:22 +0000)]
Factor out buildMemorySSA from getWalker.
NFC.

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

8 years agoRefactor duplicated condition.
Rafael Espindola [Mon, 27 Jun 2016 18:09:22 +0000 (18:09 +0000)]
Refactor duplicated condition.

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

8 years agoX86 Lowering - Fixed a crash in ICMP scalar instruction
Elena Demikhovsky [Mon, 27 Jun 2016 18:07:16 +0000 (18:07 +0000)]
X86 Lowering - Fixed a crash in ICMP scalar instruction

Fixed a bug in EmitTest() function in combining shl + icmp.

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

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

8 years ago[InstCombine] use m_APInt for div --> ashr fold
Sanjay Patel [Mon, 27 Jun 2016 17:25:57 +0000 (17:25 +0000)]
[InstCombine] use m_APInt for div --> ashr fold
The APInt matcher works with splat vectors, so we get this fold for vectors too.

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

8 years agoUse isPositionIndependent(). NFC.
Rafael Espindola [Mon, 27 Jun 2016 17:21:46 +0000 (17:21 +0000)]
Use isPositionIndependent(). NFC.

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

8 years agoRevert -r273892 "Support arbitrary addrspace pointers in masked load/store intrinsics...
Artur Pilipenko [Mon, 27 Jun 2016 16:54:33 +0000 (16:54 +0000)]
Revert -r273892 "Support arbitrary addrspace pointers in masked load/store intrinsics" since some of the clang tests don't expect to see the updated signatures.

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

8 years ago[PM] Port PartialInlining to the new PM
Easwaran Raman [Mon, 27 Jun 2016 16:50:18 +0000 (16:50 +0000)]
[PM] Port PartialInlining to the new PM

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

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

8 years agoSupport arbitrary addrspace pointers in masked load/store intrinsics
Artur Pilipenko [Mon, 27 Jun 2016 16:29:26 +0000 (16:29 +0000)]
Support arbitrary addrspace pointers in masked load/store intrinsics

This is a resubmittion of 263158 change after fixing the existing problem with intrinsics mangling (see LTO and intrinsics mangling llvm-dev thread for details).

This patch fixes the problem which occurs when loop-vectorize tries to use @llvm.masked.load/store intrinsic for a non-default addrspace pointer. It fails with "Calling a function with a bad signature!" assertion in CallInst constructor because it tries to pass a non-default addrspace pointer to the pointer argument which has default addrspace.

The fix is to add pointer type as another overloaded type to @llvm.masked.load/store intrinsics.

Reviewed By: reames

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

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

8 years ago[X86][SSE] Added extra broadcast tests to cover PR28327
Simon Pilgrim [Mon, 27 Jun 2016 16:15:37 +0000 (16:15 +0000)]
[X86][SSE] Added extra broadcast tests to cover PR28327

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

8 years ago[asan] fix false dynamic-stack-buffer-overflow report with constantly-sized dynamic...
Kuba Brecka [Mon, 27 Jun 2016 15:57:08 +0000 (15:57 +0000)]
[asan] fix false dynamic-stack-buffer-overflow report with constantly-sized dynamic allocas, LLVM part

See the bug report at https://github.com/google/sanitizers/issues/691. When a dynamic alloca has a constant size, ASan instrumentation will treat it as a regular dynamic alloca (insert calls to poison and unpoison), but the backend will turn it into a regular stack variable. The poisoning/unpoisoning is then broken. This patch will treat such allocas as static.

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

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

8 years ago[SystemZ] Avoid generating 2 XOR instructions for (and (xor x, -1), y)
Zhan Jun Liau [Mon, 27 Jun 2016 15:55:30 +0000 (15:55 +0000)]
[SystemZ] Avoid generating 2 XOR instructions for (and (xor x, -1), y)

Summary:
Created a pattern to match 64-bit mode (and (xor x, -1), y)
to a shorter sequence of instructions.

Before the change, the canonical form is translated to:
        xihf    %r3, 4294967295
        xilf    %r3, 4294967295
        ngr     %r2, %r3

After the change, the canonical form is translated to:
        ngr     %r3, %r2
        xgr     %r2, %r3

Reviewers: zhanjunl, uweigand

Subscribers: llvm-commits

Author: assem

Committing on behalf of Assem.

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

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

8 years ago[Hexagon] Equally-sized vectors are equivalent in ISel (except vNi1)
Krzysztof Parzyszek [Mon, 27 Jun 2016 15:08:22 +0000 (15:08 +0000)]
[Hexagon] Equally-sized vectors are equivalent in ISel (except vNi1)

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

8 years ago[mips] Add instruction itineraries for LSA, DLSA
Simon Dardis [Mon, 27 Jun 2016 14:55:07 +0000 (14:55 +0000)]
[mips] Add instruction itineraries for LSA, DLSA

Reviewers: vkalintiris, dsanders

Differential Review: http://reviews.llvm.org/D21679

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

8 years ago[ARM] Fix Thumb text sections' flags under COFF/Windows
Renato Golin [Mon, 27 Jun 2016 14:42:20 +0000 (14:42 +0000)]
[ARM] Fix Thumb text sections' flags under COFF/Windows

The main issue here is that the "thumb" flag wasn't set for some of these
sections, making MSVC's link.exe fails to correctly relocate code
against the symbols inside these sections. link.exe could fail for
instance with the "fixup is not aligned for target 'XX'" error. If
linking doesn't fail, the relocation process goes wrong in the end and
invalid code is generated by the linker.

This patch adds Thumb/ARM information so that the right flags are set
on COFF/Windows.

Patch by Adrien Guinet.

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

8 years agoRevert 273848, it caused PR28329
Nico Weber [Mon, 27 Jun 2016 14:36:46 +0000 (14:36 +0000)]
Revert 273848, it caused PR28329

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

8 years agoLast line of file missing on previous check-in.
Chris Dewhurst [Mon, 27 Jun 2016 14:35:07 +0000 (14:35 +0000)]
Last line of file missing on previous check-in.

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

8 years agoMove isPositionIndependent up to AsmPrinter.
Rafael Espindola [Mon, 27 Jun 2016 14:19:45 +0000 (14:19 +0000)]
Move isPositionIndependent up to AsmPrinter.

Use it in ppc too.

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

8 years ago[Sparc] Formatting and commenting changes per review.
Chris Dewhurst [Mon, 27 Jun 2016 14:19:19 +0000 (14:19 +0000)]
[Sparc] Formatting and commenting changes per review.

Differential Review: http://reviews.llvm.org/rL273108

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

8 years agoUse the isPositionIndependent predicate. NFC.
Rafael Espindola [Mon, 27 Jun 2016 14:05:43 +0000 (14:05 +0000)]
Use the isPositionIndependent predicate. NFC.

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

8 years agoRemoved duplicate assertions note
Simon Pilgrim [Mon, 27 Jun 2016 13:06:18 +0000 (13:06 +0000)]
Removed duplicate assertions note

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

8 years ago[ARM] Use member initializers in ARMSubtarget. NFCI
Diana Picus [Mon, 27 Jun 2016 13:06:10 +0000 (13:06 +0000)]
[ARM] Use member initializers in ARMSubtarget. NFCI

Same as r273556, but with C++11 member initializers.

Change suggested by Matthias Braun (see http://reviews.llvm.org/D21432).

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

8 years agoFix "not all control paths return a value" warning on MSVC
Simon Pilgrim [Mon, 27 Jun 2016 12:58:10 +0000 (12:58 +0000)]
Fix "not all control paths return a value" warning on MSVC

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

8 years agoSimplify getLabelAccessInfo.
Rafael Espindola [Mon, 27 Jun 2016 12:56:02 +0000 (12:56 +0000)]
Simplify getLabelAccessInfo.

It now takes a IsPIC flag instead of computing and returning it.

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

8 years agoUse the isPositionIndependent predicate. NFC.
Rafael Espindola [Mon, 27 Jun 2016 12:48:21 +0000 (12:48 +0000)]
Use the isPositionIndependent predicate. NFC.

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

8 years agoAdd an explanation on how mips is special in here.
Rafael Espindola [Mon, 27 Jun 2016 12:33:33 +0000 (12:33 +0000)]
Add an explanation on how mips is special in here.

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

8 years ago[IRBuilder] Drop unused CreateInvoke overloads.
Benjamin Kramer [Mon, 27 Jun 2016 12:25:26 +0000 (12:25 +0000)]
[IRBuilder] Drop unused CreateInvoke overloads.

The arrayref overload is more flexible with virtually the same
interface. NFC.

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

8 years ago[msan] Tighten up type in StoreList. NFC.
Benjamin Kramer [Mon, 27 Jun 2016 12:25:23 +0000 (12:25 +0000)]
[msan] Tighten up type in StoreList. NFC.

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

8 years agoRemoved extra test from the prev commit.
Elena Demikhovsky [Mon, 27 Jun 2016 11:40:49 +0000 (11:40 +0000)]
Removed extra test from the prev commit.

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

8 years agoFixed consecutive memory access detection in Loop Vectorizer.
Elena Demikhovsky [Mon, 27 Jun 2016 11:19:23 +0000 (11:19 +0000)]
Fixed consecutive memory access detection in Loop Vectorizer.
It did not handle correctly cases without GEP.

The following loop wasn't vectorized:

for (int i=0; i<len; i++)

  *to++ = *from++;

I use getPtrStride() to find Stride for memory access and return 0 is the Stride is not 1 or -1.

Re-commit rL273257 - revision: http://reviews.llvm.org/D20789

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

8 years agoSIMachineFunctionInfo.cpp: Appease msc18 to use std::array.
NAKAMURA Takumi [Mon, 27 Jun 2016 10:26:43 +0000 (10:26 +0000)]
SIMachineFunctionInfo.cpp: Appease msc18 to use std::array.

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

8 years agoReformat.
NAKAMURA Takumi [Mon, 27 Jun 2016 10:26:36 +0000 (10:26 +0000)]
Reformat.

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

8 years agoReformat blank lines.
NAKAMURA Takumi [Mon, 27 Jun 2016 10:26:25 +0000 (10:26 +0000)]
Reformat blank lines.

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

8 years ago[sparc] Simplify slow and verbose string matching code to startswith_lower.
Benjamin Kramer [Mon, 27 Jun 2016 09:38:56 +0000 (09:38 +0000)]
[sparc] Simplify slow and verbose string matching code to startswith_lower.

No functionality change intended, found by cppcheck. PR28274.

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

8 years ago[gold] Fix test to not assume it runs on x86 hardware.
Arnaud A. de Grandmaison [Mon, 27 Jun 2016 09:13:03 +0000 (09:13 +0000)]
[gold] Fix test to not assume it runs on x86 hardware.

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

8 years ago[ARM] Do not test for CPUs, use SubtargetFeatures (Part 2). NFCI
Diana Picus [Mon, 27 Jun 2016 09:08:23 +0000 (09:08 +0000)]
[ARM] Do not test for CPUs, use SubtargetFeatures (Part 2). NFCI

This is a follow-up for r273544.

The end goal is to get rid of the isSwift / isCortexXY / isWhatever methods.

Since the ARM backend seems to have quite a lot of calls to these methods, I
intend to submit 5-6 subtarget features at a time, instead of one big lump.

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

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

8 years agoCachePruning: correct comment about file order. NFC
Pawel Bylica [Mon, 27 Jun 2016 08:46:23 +0000 (08:46 +0000)]
CachePruning: correct comment about file order. NFC

Summary: Actually the list of cached files is sorted by file size, not by last accessed time. Also remove unused file access time param for a helper function.

Reviewers: joker-eph, chandlerc, davide

Subscribers: llvm-commits

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

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

8 years agoAPInt: remove unsued param in private method. NFC
Pawel Bylica [Mon, 27 Jun 2016 08:31:48 +0000 (08:31 +0000)]
APInt: remove unsued param in private method. NFC

Reviewers: davide

Subscribers: davide, llvm-commits

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

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

8 years ago[mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV instructions
Hrvoje Varga [Mon, 27 Jun 2016 08:23:28 +0000 (08:23 +0000)]
[mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV instructions
Differential Revision: http://reviews.llvm.org/D16625

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

8 years ago[X86][AVX] Peek through bitcasts to find the source of broadcasts
Simon Pilgrim [Mon, 27 Jun 2016 07:44:32 +0000 (07:44 +0000)]
[X86][AVX] Peek through bitcasts to find the source of broadcasts

AVX1 can only broadcast vectors as floats/doubles, so for 256-bit vectors we insert bitcasts if we are shuffling v8i32/v4i64 types. Unfortunately the presence of these bitcasts prevents the current broadcast lowering code from peeking through cases where we have concatenated / extracted vectors to create the 256-bit vectors.

This patch allows us to peek through bitcasts as long as the number of elements doesn't change (i.e. element bitwidth is the same) so the broadcast index is not affected.

Note this bitcast peek is different from the stage later on which doesn't care about the type and is just trying to find a load node.

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

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

8 years ago[ConstantFolding] Fix bitcast vector of i1.
Igor Breger [Mon, 27 Jun 2016 06:42:54 +0000 (06:42 +0000)]
[ConstantFolding] Fix bitcast vector of i1.

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

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

8 years agoMips: Fix access to private functions.
Rafael Espindola [Mon, 27 Jun 2016 03:19:40 +0000 (03:19 +0000)]
Mips: Fix access to private functions.

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

8 years agoadd tests for potential select transforms
Sanjay Patel [Sun, 26 Jun 2016 23:44:21 +0000 (23:44 +0000)]
add tests for potential select transforms

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

8 years agoUse isPositionIndependent predicate. NFC.
Rafael Espindola [Sun, 26 Jun 2016 22:38:44 +0000 (22:38 +0000)]
Use isPositionIndependent predicate. NFC.

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

8 years agoUse isPositionIndependent. NFC.
Rafael Espindola [Sun, 26 Jun 2016 22:32:53 +0000 (22:32 +0000)]
Use isPositionIndependent. NFC.

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

8 years agoUse isPositionIndependent predicate.
Rafael Espindola [Sun, 26 Jun 2016 22:30:06 +0000 (22:30 +0000)]
Use isPositionIndependent predicate.

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

8 years agoUse isPositionIndependent predicate. NFC.
Rafael Espindola [Sun, 26 Jun 2016 22:24:01 +0000 (22:24 +0000)]
Use isPositionIndependent predicate. NFC.

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

8 years agoRefactor a duplicated predicate. NFC.
Rafael Espindola [Sun, 26 Jun 2016 22:13:55 +0000 (22:13 +0000)]
Refactor a duplicated predicate. NFC.

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

8 years ago[lit] Add SANITIZER_IGNORE_CVE_2016_2143 to pass_vars.
Marcin Koscielnicki [Sun, 26 Jun 2016 21:49:58 +0000 (21:49 +0000)]
[lit] Add SANITIZER_IGNORE_CVE_2016_2143 to pass_vars.

This variable is used by ASan (and other sanitizers in the future)
on s390x-linux to override a check for CVE-2016-2143 in the running
kernel (see revision 267747 on compiler-rt).  Since the check simply
checks if the kernel version is in a whitelist of known-good versions,
it may miss distribution kernels, or manually-patched kernels - hence
the need for this variable.  To enable running the ASan testsuite on
such kernels, this variable should be passed from the environment
down to the testcases.

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

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

8 years agoApply clang-tidy's modernize-loop-convert to lib/Analysis.
Benjamin Kramer [Sun, 26 Jun 2016 17:27:42 +0000 (17:27 +0000)]
Apply clang-tidy's modernize-loop-convert to lib/Analysis.

Only minor manual fixes. No functionality change intended.

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

8 years agoRevert r273807 (and r273809, r273810), it caused PR28311
Nico Weber [Sun, 26 Jun 2016 15:10:34 +0000 (15:10 +0000)]
Revert r273807 (and r273809, r273810), it caused PR28311

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

8 years agoApply clang-tidy's modernize-loop-convert to lib/MC.
Benjamin Kramer [Sun, 26 Jun 2016 14:49:00 +0000 (14:49 +0000)]
Apply clang-tidy's modernize-loop-convert to lib/MC.

Only minor manual fixes. No functionality change intended.

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

8 years agoApply clang-tidy's modernize-loop-convert to most of lib/IR.
Benjamin Kramer [Sun, 26 Jun 2016 14:10:56 +0000 (14:10 +0000)]
Apply clang-tidy's modernize-loop-convert to most of lib/IR.

Only minor manual fixes. No functionality change intended.

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

8 years ago[CodeExtractor] Merge DEBUG statements in an attempt to fix the msvc
Benjamin Kramer [Sun, 26 Jun 2016 13:39:33 +0000 (13:39 +0000)]
[CodeExtractor] Merge DEBUG statements in an attempt to fix the msvc
build.

There's a known bug in msvc 2013 that fails to compile do-while loops
inside of ranged for loops.

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

8 years agoFixed build failure (due to unused variable error) in r273807.
Amjad Aboud [Sun, 26 Jun 2016 13:36:23 +0000 (13:36 +0000)]
Fixed build failure (due to unused variable error) in r273807.

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

8 years agoFixed build failure (due to unused variable error) in r273807.
Amjad Aboud [Sun, 26 Jun 2016 12:43:33 +0000 (12:43 +0000)]
Fixed build failure (due to unused variable error) in r273807.

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

8 years agoApply clang-tidy's modernize-loop-convert to most of lib/Transforms.
Benjamin Kramer [Sun, 26 Jun 2016 12:28:59 +0000 (12:28 +0000)]
Apply clang-tidy's modernize-loop-convert to most of lib/Transforms.

Only minor manual fixes. No functionality change intended.

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

8 years ago[codeview] Improved array type support.
Amjad Aboud [Sun, 26 Jun 2016 11:44:45 +0000 (11:44 +0000)]
[codeview] Improved array type support.

Added support for:
1. Multi dimension array.
2. Array of structure type, which previously was declared incompletely.
3. Dynamic size array.

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

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

8 years ago[RSForGC] Appease MSVC
Sanjoy Das [Sun, 26 Jun 2016 05:42:52 +0000 (05:42 +0000)]
[RSForGC] Appease MSVC

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

8 years ago[X86] Rewrite lowerVectorShuffleWithPSHUFB to not require a ZeroableMask to be create...
Craig Topper [Sun, 26 Jun 2016 05:10:56 +0000 (05:10 +0000)]
[X86] Rewrite lowerVectorShuffleWithPSHUFB to not require a ZeroableMask to be created. We can do everything with the starting mask and zeroable bit vector. This removes the last usage of isSingleInputShuffleMask. NFC

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

8 years ago[X86] Replace calls to isSingleInputShuffleMask with just checking if V2 is UNDEF...
Craig Topper [Sun, 26 Jun 2016 05:10:53 +0000 (05:10 +0000)]
[X86] Replace calls to isSingleInputShuffleMask with just checking if V2 is UNDEF. Canonicalization and creation of shuffle vector ensures this is equivalent.

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

8 years ago[SelectionDAG] Use DAG.getCommutedVectorShuffle instead of reimplementing it.
Craig Topper [Sun, 26 Jun 2016 05:10:49 +0000 (05:10 +0000)]
[SelectionDAG] Use DAG.getCommutedVectorShuffle instead of reimplementing it.

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

8 years ago[LoopUnswitch] Unswitch on conditions feeding into guards
Sanjoy Das [Sun, 26 Jun 2016 05:10:45 +0000 (05:10 +0000)]
[LoopUnswitch] Unswitch on conditions feeding into guards

Summary:
This is a straightforward extension of what LoopUnswitch does to
branches to guards.  That is, we unswitch

```
for (;;) {
  ...
  guard(loop_invariant_cond);
  ...
}
```

into

```
if (loop_invariant_cond) {
  for (;;) {
    ...
    // There is no need to emit guard(true)
    ...
  }
} else {
  for (;;) {
    ...
    guard(false);
    // SimplifyCFG will clean this up by adding an
    // unreachable after the guard(false)
    ...
  }
}
```

Reviewers: majnemer

Subscribers: mcrosier, llvm-commits, mzolotukhin

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

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

8 years ago[RSForGC] Bring the BDVState struct up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:35 +0000 (04:55 +0000)]
[RSForGC] Bring the BDVState struct up to code; NFC

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

8 years ago[RSForGC] Bring computeLiveInValues up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:32 +0000 (04:55 +0000)]
[RSForGC] Bring computeLiveInValues up to code; NFC

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

8 years ago[RSForGC] Bring computeLiveOutSeed up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:30 +0000 (04:55 +0000)]
[RSForGC] Bring computeLiveOutSeed up to code; NFC

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

8 years ago[RSForGC] Bring computeLiveInValues up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:26 +0000 (04:55 +0000)]
[RSForGC] Bring computeLiveInValues up to code; NFC

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

8 years ago[RSForGC] Bring recomputeLiveInValues up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:23 +0000 (04:55 +0000)]
[RSForGC] Bring recomputeLiveInValues up to code; NFC

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

8 years ago[RSForGC] Bring containsGCPtrType, isGCPointerType up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:19 +0000 (04:55 +0000)]
[RSForGC] Bring containsGCPtrType, isGCPointerType up to code; NFC

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

8 years ago[RSForGC] Bring analyzeParsePointLiveness up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:17 +0000 (04:55 +0000)]
[RSForGC] Bring analyzeParsePointLiveness up to code; NFC

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

8 years ago[RSForGC] Bring meetBDVStateImpl up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:13 +0000 (04:55 +0000)]
[RSForGC] Bring meetBDVStateImpl up to code; NFC

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

8 years ago[RSForGC] Get rid of the unnecessary MeetBDVStates struct; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:10 +0000 (04:55 +0000)]
[RSForGC] Get rid of the unnecessary MeetBDVStates struct; NFC

All of its implementation is in just one function.

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

8 years ago[RSForGC] Bring findBasePointer up to code; NFC
Sanjoy Das [Sun, 26 Jun 2016 04:55:05 +0000 (04:55 +0000)]
[RSForGC] Bring findBasePointer up to code; NFC

Name-casing and minor style changes to bring the function up to the LLVM
coding style.

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

8 years ago[Object, COFF] An import data directory might not consist soley of imports
David Majnemer [Sun, 26 Jun 2016 04:36:32 +0000 (04:36 +0000)]
[Object, COFF] An import data directory might not consist soley of imports

The last import is the penultimate entry, the last entry is nulled out.
Data beyond the null entry should not be considered to hold import
entries.

This fixes PR28302.

N.B.  I am working on a reduced testcase, the one in PR28302 is too
large.

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

8 years ago[llvm-cov] Simplify the way expansion views are rendered (NFC)
Vedant Kumar [Sun, 26 Jun 2016 02:45:13 +0000 (02:45 +0000)]
[llvm-cov] Simplify the way expansion views are rendered (NFC)

If a sub-view has already been rendered, it's helpful to re-render the
expansion site before rendering the next expansion view. Make this fact
explicit in the rendering interface, instead of hiding it behind an
awkward Optional<LineRef> parameter.

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

8 years ago[X86] Convert ==/!= comparisons with -1 for checking undef in shuffle lowering to...
Craig Topper [Sat, 25 Jun 2016 19:05:29 +0000 (19:05 +0000)]
[X86] Convert ==/!= comparisons with -1 for checking undef in shuffle lowering to comparisons of <0 or >=0. While there do the same for other kinds of index checks that can just check for greater than 0. No functional change intended.

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

8 years ago[X86] Pull similar bitcasts on different paths to earlier shared point. NFC
Craig Topper [Sat, 25 Jun 2016 19:05:23 +0000 (19:05 +0000)]
[X86] Pull similar bitcasts on different paths to earlier shared point. NFC

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

8 years agoAMDGPU/R600: Fix GlobalValue regressions.
Jan Vesely [Sat, 25 Jun 2016 18:24:16 +0000 (18:24 +0000)]
AMDGPU/R600: Fix GlobalValue regressions.

Don't cast GV expression to MCSymbolRefExpr. r272705 changed GV to binary
expressions by including offset even if the offset it 0
(we haven't hit this sooner since tested workloads don't include static offsets)
We don't really care about the type of expression, so set it directly.
Fixes: r272705

Consider section relative relocations. Since all const as data is in one boffer section relative is equivalent to abs32.
Fixes: r273166

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

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

8 years agoupdate tests to use FileCheck
Sanjay Patel [Sat, 25 Jun 2016 17:39:10 +0000 (17:39 +0000)]
update tests to use FileCheck

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

8 years ago[cmake] Port the llvm-config option --build-mode to LLVMConfig.cmake via the variable...
Michael Gottesman [Sat, 25 Jun 2016 11:31:50 +0000 (11:31 +0000)]
[cmake] Port the llvm-config option --build-mode to LLVMConfig.cmake via the variable LLVM_BUILD_TYPE.

This is just a small step in the direction of making LLVMConfig.cmake a complete
replacement for llvm-config.

For those unfamiliar, llvm-config --build-mode prints out CMAKE_BUILD_TYPE. Thus
as one can imagine, LLVM_BUILD_TYPE is @CMAKE_BUILD_TYPE@.

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