summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [yaml2obj] Missed updating a few test cases in r273915Chris Bieneman2016-06-272-4/+4
| | | | | | This should fix the broken bots. llvm-svn: 273918
* AMDGPU: Fix verifier errors with undef vector indicesMatt Arsenault2016-06-273-27/+385
| | | | | | Also fix pointlessly adding exec to liveins. llvm-svn: 273916
* [yaml2obj] Remove --format option in favor of YAML tagsChris Bieneman2016-06-2776-208/+261
| | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 273915
* Verifier: Reject non-float !fpmathMatt Arsenault2016-06-273-2/+7
| | | | | | | Code already assumes this is float. getFPAccuracy() crashes on any other type. llvm-svn: 273912
* DAGCombiner: Don't narrow volatile vector loads + extractMatt Arsenault2016-06-272-3/+42
| | | | llvm-svn: 273909
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-271-2/+2
| | | | llvm-svn: 273907
* [InstCombine] refactor sdiv by APInt transforms (NFC)Sanjay Patel2016-06-271-9/+10
| | | | | | | There's at least one more fold to do here: https://llvm.org/bugs/show_bug.cgi?id=28153 llvm-svn: 273904
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-272-5/+3
| | | | llvm-svn: 273903
* [CFLAA] Use unsigned numbers for bit-shifts.George Burgess IV2016-06-271-1/+1
| | | | | | | | | This uses `1U` instead of `1ULL` because StratifiedAttrs is a 32-bit bitset. Thanks to Hans-Bernhard Broker for bringing this up. llvm-svn: 273902
* Factor out buildMemorySSA from getWalker.Daniel Berlin2016-06-272-9/+12
| | | | | | NFC. llvm-svn: 273901
* Refactor duplicated condition.Rafael Espindola2016-06-271-4/+3
| | | | llvm-svn: 273900
* X86 Lowering - Fixed a crash in ICMP scalar instructionElena Demikhovsky2016-06-272-4/+33
| | | | | | | | Fixed a bug in EmitTest() function in combining shl + icmp. https://llvm.org/bugs/show_bug.cgi?id=28119 llvm-svn: 273899
* [InstCombine] use m_APInt for div --> ashr foldSanjay Patel2016-06-272-8/+15
| | | | | | The APInt matcher works with splat vectors, so we get this fold for vectors too. llvm-svn: 273897
* Use isPositionIndependent(). NFC.Rafael Espindola2016-06-271-3/+2
| | | | llvm-svn: 273896
* Revert -r273892 "Support arbitrary addrspace pointers in masked load/store ↵Artur Pilipenko2016-06-2712-338/+206
| | | | | | intrinsics" since some of the clang tests don't expect to see the updated signatures. llvm-svn: 273895
* [PM] Port PartialInlining to the new PMEaswaran Raman2016-06-277-23/+65
| | | | | | Differential revision: http://reviews.llvm.org/D21699 llvm-svn: 273894
* Support arbitrary addrspace pointers in masked load/store intrinsicsArtur Pilipenko2016-06-2712-206/+338
| | | | | | | | | | | | | | 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 llvm-svn: 273892
* [X86][SSE] Added extra broadcast tests to cover PR28327Simon Pilgrim2016-06-272-0/+53
| | | | llvm-svn: 273891
* [asan] fix false dynamic-stack-buffer-overflow report with constantly-sized ↵Kuba Brecka2016-06-271-9/+10
| | | | | | | | | | 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 llvm-svn: 273888
* [SystemZ] Avoid generating 2 XOR instructions for (and (xor x, -1), y)Zhan Jun Liau2016-06-272-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 273887
* [Hexagon] Equally-sized vectors are equivalent in ISel (except vNi1)Krzysztof Parzyszek2016-06-273-52/+51
| | | | llvm-svn: 273885
* [mips] Add instruction itineraries for LSA, DLSASimon Dardis2016-06-271-7/+6
| | | | | | | | Reviewers: vkalintiris, dsanders Differential Review: http://reviews.llvm.org/D21679 llvm-svn: 273883
* [ARM] Fix Thumb text sections' flags under COFF/WindowsRenato Golin2016-06-272-7/+12
| | | | | | | | | | | | | | | | 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. llvm-svn: 273880
* Revert 273848, it caused PR28329Nico Weber2016-06-273-12/+12
| | | | llvm-svn: 273879
* Last line of file missing on previous check-in.Chris Dewhurst2016-06-271-0/+1
| | | | llvm-svn: 273878
* Move isPositionIndependent up to AsmPrinter.Rafael Espindola2016-06-275-8/+9
| | | | | | Use it in ppc too. llvm-svn: 273877
* [Sparc] Formatting and commenting changes per review.Chris Dewhurst2016-06-272-185/+191
| | | | | | Differential Review: http://reviews.llvm.org/rL273108 llvm-svn: 273876
* Use the isPositionIndependent predicate. NFC.Rafael Espindola2016-06-271-4/+2
| | | | llvm-svn: 273875
* Removed duplicate assertions noteSimon Pilgrim2016-06-271-1/+0
| | | | llvm-svn: 273874
* [ARM] Use member initializers in ARMSubtarget. NFCIDiana Picus2016-06-272-103/+78
| | | | | | | | Same as r273556, but with C++11 member initializers. Change suggested by Matthias Braun (see http://reviews.llvm.org/D21432). llvm-svn: 273873
* Fix "not all control paths return a value" warning on MSVCSimon Pilgrim2016-06-271-0/+2
| | | | llvm-svn: 273872
* Simplify getLabelAccessInfo.Rafael Espindola2016-06-271-24/+19
| | | | | | It now takes a IsPIC flag instead of computing and returning it. llvm-svn: 273871
* Use the isPositionIndependent predicate. NFC.Rafael Espindola2016-06-271-6/+6
| | | | llvm-svn: 273870
* Add an explanation on how mips is special in here.Rafael Espindola2016-06-271-0/+11
| | | | llvm-svn: 273868
* [IRBuilder] Drop unused CreateInvoke overloads.Benjamin Kramer2016-06-271-20/+2
| | | | | | | The arrayref overload is more flexible with virtually the same interface. NFC. llvm-svn: 273867
* [msan] Tighten up type in StoreList. NFC.Benjamin Kramer2016-06-271-13/+13
| | | | llvm-svn: 273866
* Removed extra test from the prev commit.Elena Demikhovsky2016-06-271-34/+0
| | | | llvm-svn: 273865
* Fixed consecutive memory access detection in Loop Vectorizer.Elena Demikhovsky2016-06-276-90/+93
| | | | | | | | | | | | | | | | 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 llvm-svn: 273864
* SIMachineFunctionInfo.cpp: Appease msc18 to use std::array.NAKAMURA Takumi2016-06-272-4/+5
| | | | llvm-svn: 273860
* Reformat.NAKAMURA Takumi2016-06-271-1/+1
| | | | llvm-svn: 273859
* Reformat blank lines.NAKAMURA Takumi2016-06-272-3/+0
| | | | llvm-svn: 273858
* [sparc] Simplify slow and verbose string matching code to startswith_lower.Benjamin Kramer2016-06-271-15/+10
| | | | | | No functionality change intended, found by cppcheck. PR28274. llvm-svn: 273857
* [gold] Fix test to not assume it runs on x86 hardware.Arnaud A. de Grandmaison2016-06-271-0/+2
| | | | llvm-svn: 273854
* [ARM] Do not test for CPUs, use SubtargetFeatures (Part 2). NFCIDiana Picus2016-06-275-63/+174
| | | | | | | | | | | | | 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 llvm-svn: 273853
* CachePruning: correct comment about file order. NFCPawel Bylica2016-06-271-3/+3
| | | | | | | | | | | | 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 llvm-svn: 273852
* APInt: remove unsued param in private method. NFCPawel Bylica2016-06-272-3/+3
| | | | | | | | | | Reviewers: davide Subscribers: davide, llvm-commits Differential Revision: http://reviews.llvm.org/D21638 llvm-svn: 273851
* [mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV ↵Hrvoje Varga2016-06-2726-76/+236
| | | | | | | | instructions Differential Revision: http://reviews.llvm.org/D16625 llvm-svn: 273850
* [X86][AVX] Peek through bitcasts to find the source of broadcastsSimon Pilgrim2016-06-273-12/+12
| | | | | | | | | | | | 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 llvm-svn: 273848
* [ConstantFolding] Fix bitcast vector of i1.Igor Breger2016-06-272-1/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D21735 llvm-svn: 273845
* Mips: Fix access to private functions.Rafael Espindola2016-06-272-1/+15
| | | | llvm-svn: 273843
OpenPOWER on IntegriCloud