OSDN Git Service
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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