Krzysztof Parzyszek
339dc3dc8f
[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
2016-06-27 15:08:22 +00:00
Simon Dardis
4cc8cc2f69
[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
2016-06-27 14:55:07 +00:00
Renato Golin
4a90581b5a
[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
2016-06-27 14:42:20 +00:00
Nico Weber
ebad00c746
Revert 273848, it caused PR28329
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273879 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 14:36:46 +00:00
Chris Dewhurst
56b08a5b8c
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
2016-06-27 14:35:07 +00:00
Rafael Espindola
665d49773d
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
2016-06-27 14:19:45 +00:00
Chris Dewhurst
97f87458e4
[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
2016-06-27 14:19:19 +00:00
Rafael Espindola
47347b8315
Use the isPositionIndependent predicate. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273875 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 14:05:43 +00:00
Simon Pilgrim
9040edc5de
Removed duplicate assertions note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273874 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 13:06:18 +00:00
Diana Picus
e50b5c5180
[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
2016-06-27 13:06:10 +00:00
Simon Pilgrim
b0c59abcd3
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
2016-06-27 12:58:10 +00:00
Rafael Espindola
7a6104fd55
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
2016-06-27 12:56:02 +00:00
Rafael Espindola
3334c59094
Use the isPositionIndependent predicate. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273870 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 12:48:21 +00:00
Rafael Espindola
706f4ac5f6
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
2016-06-27 12:33:33 +00:00
Benjamin Kramer
8430ca2f8f
[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
2016-06-27 12:25:26 +00:00
Benjamin Kramer
8f7d823142
[msan] Tighten up type in StoreList. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273866 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 12:25:23 +00:00
Elena Demikhovsky
98cea819c1
Removed extra test from the prev commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273865 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 11:40:49 +00:00
Elena Demikhovsky
1abadbff39
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
2016-06-27 11:19:23 +00:00
NAKAMURA Takumi
c4cd97e86f
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
2016-06-27 10:26:43 +00:00
NAKAMURA Takumi
9a3b139888
Reformat.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273859 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 10:26:36 +00:00
NAKAMURA Takumi
58ebb2d4e5
Reformat blank lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273858 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 10:26:25 +00:00
Benjamin Kramer
886cd3a38a
[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
2016-06-27 09:38:56 +00:00
Arnaud A. de Grandmaison
7ca89ec4a8
[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
2016-06-27 09:13:03 +00:00
Diana Picus
92eaa569c3
[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
2016-06-27 09:08:23 +00:00
Pawel Bylica
01b8445ea6
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
2016-06-27 08:46:23 +00:00
Pawel Bylica
7fe7e468cf
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
2016-06-27 08:31:48 +00:00
Hrvoje Varga
b256e8a5b2
[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
2016-06-27 08:23:28 +00:00
Simon Pilgrim
7c1d489b88
[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
2016-06-27 07:44:32 +00:00
Igor Breger
baa0bfe5d8
[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
2016-06-27 06:42:54 +00:00
Rafael Espindola
00fd9cb07c
Mips: Fix access to private functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273843 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 03:19:40 +00:00
Sanjay Patel
5a5bead6c7
add tests for potential select transforms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273833 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 23:44:21 +00:00
Rafael Espindola
a0e42848da
Use isPositionIndependent predicate. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273830 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 22:38:44 +00:00
Rafael Espindola
9dfcab0b93
Use isPositionIndependent. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273829 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 22:32:53 +00:00
Rafael Espindola
678eac4d05
Use isPositionIndependent predicate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273828 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 22:30:06 +00:00
Rafael Espindola
608ab75c0b
Use isPositionIndependent predicate. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273827 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 22:24:01 +00:00
Rafael Espindola
73b2bb0c65
Refactor a duplicated predicate. NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273826 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 22:13:55 +00:00
Marcin Koscielnicki
9200e60f15
[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
2016-06-26 21:49:58 +00:00
Benjamin Kramer
8d0d2b6abd
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
2016-06-26 17:27:42 +00:00
Nico Weber
96caeda925
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
2016-06-26 15:10:34 +00:00
Benjamin Kramer
dd1d7a40c6
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
2016-06-26 14:49:00 +00:00
Benjamin Kramer
e96e21f003
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
2016-06-26 14:10:56 +00:00
Benjamin Kramer
36a5f73f45
[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
2016-06-26 13:39:33 +00:00
Amjad Aboud
1c56f09923
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
2016-06-26 13:36:23 +00:00
Amjad Aboud
1d63a7ddba
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
2016-06-26 12:43:33 +00:00
Benjamin Kramer
5288df58b7
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
2016-06-26 12:28:59 +00:00
Amjad Aboud
9aed97cfb6
[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
2016-06-26 11:44:45 +00:00
Sanjoy Das
3204b8036b
[RSForGC] Appease MSVC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273805 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-26 05:42:52 +00:00
Craig Topper
caddfacae3
[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
2016-06-26 05:10:56 +00:00
Craig Topper
e8326f9cc1
[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
2016-06-26 05:10:53 +00:00
Craig Topper
63e75c45f1
[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
2016-06-26 05:10:49 +00:00