summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* add tests for potential select transformsSanjay Patel2016-06-261-0/+117
| | | | llvm-svn: 273833
* Use isPositionIndependent predicate. NFC.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273830
* Use isPositionIndependent. NFC.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273829
* Use isPositionIndependent predicate.Rafael Espindola2016-06-261-1/+1
| | | | llvm-svn: 273828
* Use isPositionIndependent predicate. NFC.Rafael Espindola2016-06-261-9/+8
| | | | llvm-svn: 273827
* Refactor a duplicated predicate. NFC.Rafael Espindola2016-06-266-10/+6
| | | | llvm-svn: 273826
* [lit] Add SANITIZER_IGNORE_CVE_2016_2143 to pass_vars.Marcin Koscielnicki2016-06-261-1/+2
| | | | | | | | | | | | | | | 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 llvm-svn: 273825
* Apply clang-tidy's modernize-loop-convert to lib/Analysis.Benjamin Kramer2016-06-2619-121/+105
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273816
* Revert r273807 (and r273809, r273810), it caused PR28311Nico Weber2016-06-262-240/+3
| | | | llvm-svn: 273815
* Apply clang-tidy's modernize-loop-convert to lib/MC.Benjamin Kramer2016-06-266-67/+56
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273814
* Apply clang-tidy's modernize-loop-convert to most of lib/IR.Benjamin Kramer2016-06-2610-70/+61
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273813
* [CodeExtractor] Merge DEBUG statements in an attempt to fix the msvcBenjamin Kramer2016-06-261-4/+6
| | | | | | | | | build. There's a known bug in msvc 2013 that fails to compile do-while loops inside of ranged for loops. llvm-svn: 273811
* Fixed build failure (due to unused variable error) in r273807.Amjad Aboud2016-06-261-0/+1
| | | | llvm-svn: 273810
* Fixed build failure (due to unused variable error) in r273807.Amjad Aboud2016-06-261-3/+1
| | | | llvm-svn: 273809
* Apply clang-tidy's modernize-loop-convert to most of lib/Transforms.Benjamin Kramer2016-06-2653-519/+398
| | | | | | Only minor manual fixes. No functionality change intended. llvm-svn: 273808
* [codeview] Improved array type support.Amjad Aboud2016-06-262-2/+240
| | | | | | | | | | | 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 llvm-svn: 273807
* [RSForGC] Appease MSVCSanjoy Das2016-06-261-2/+4
| | | | llvm-svn: 273805
* [X86] Rewrite lowerVectorShuffleWithPSHUFB to not require a ZeroableMask to ↵Craig Topper2016-06-261-39/+21
| | | | | | be created. We can do everything with the starting mask and zeroable bit vector. This removes the last usage of isSingleInputShuffleMask. NFC llvm-svn: 273804
* [X86] Replace calls to isSingleInputShuffleMask with just checking if V2 is ↵Craig Topper2016-06-261-25/+25
| | | | | | UNDEF. Canonicalization and creation of shuffle vector ensures this is equivalent. llvm-svn: 273803
* [SelectionDAG] Use DAG.getCommutedVectorShuffle instead of reimplementing it.Craig Topper2016-06-261-15/+2
| | | | llvm-svn: 273802
* [LoopUnswitch] Unswitch on conditions feeding into guardsSanjoy Das2016-06-262-7/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 273801
* [RSForGC] Bring the BDVState struct up to code; NFCSanjoy Das2016-06-261-25/+33
| | | | llvm-svn: 273800
* [RSForGC] Bring computeLiveInValues up to code; NFCSanjoy Das2016-06-261-8/+5
| | | | llvm-svn: 273799
* [RSForGC] Bring computeLiveOutSeed up to code; NFCSanjoy Das2016-06-261-7/+7
| | | | llvm-svn: 273798
* [RSForGC] Bring computeLiveInValues up to code; NFCSanjoy Das2016-06-261-19/+8
| | | | llvm-svn: 273797
* [RSForGC] Bring recomputeLiveInValues up to code; NFCSanjoy Das2016-06-261-9/+9
| | | | llvm-svn: 273796
* [RSForGC] Bring containsGCPtrType, isGCPointerType up to code; NFCSanjoy Das2016-06-261-3/+2
| | | | llvm-svn: 273795
* [RSForGC] Bring analyzeParsePointLiveness up to code; NFCSanjoy Das2016-06-261-7/+7
| | | | llvm-svn: 273794
* [RSForGC] Bring meetBDVStateImpl up to code; NFCSanjoy Das2016-06-261-14/+13
| | | | llvm-svn: 273793
* [RSForGC] Get rid of the unnecessary MeetBDVStates struct; NFCSanjoy Das2016-06-261-58/+36
| | | | | | All of its implementation is in just one function. llvm-svn: 273792
* [RSForGC] Bring findBasePointer up to code; NFCSanjoy Das2016-06-262-110/+96
| | | | | | | Name-casing and minor style changes to bring the function up to the LLVM coding style. llvm-svn: 273791
* [Object, COFF] An import data directory might not consist soley of importsDavid Majnemer2016-06-263-31/+47
| | | | | | | | | | | | | 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. llvm-svn: 273790
* [llvm-cov] Simplify the way expansion views are rendered (NFC)Vedant Kumar2016-06-264-35/+38
| | | | | | | | | 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. llvm-svn: 273789
* [X86] Convert ==/!= comparisons with -1 for checking undef in shuffle ↵Craig Topper2016-06-251-47/+54
| | | | | | 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. llvm-svn: 273788
* [X86] Pull similar bitcasts on different paths to earlier shared point. NFCCraig Topper2016-06-251-10/+9
| | | | llvm-svn: 273787
* AMDGPU/R600: Fix GlobalValue regressions.Jan Vesely2016-06-253-7/+13
| | | | | | | | | | | | | | | 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 llvm-svn: 273785
* update tests to use FileCheckSanjay Patel2016-06-251-34/+47
| | | | llvm-svn: 273784
* [cmake] Port the llvm-config option --build-mode to LLVMConfig.cmake via the ↵Michael Gottesman2016-06-251-0/+2
| | | | | | | | | | | | 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@. llvm-svn: 273782
* Reapply r273664 with workaround for MSVCHubert Tong2016-06-251-0/+45
| | | | | | | | | | Reviewers: rsmith, faisalv, aaron.ballman Subscribers: llvm-commits, cfe-commits, nwilson Differential Revision: http://reviews.llvm.org/D19770 llvm-svn: 273781
* Just a small cleanupDavid Majnemer2016-06-251-30/+21
| | | | | | No functional change is intended llvm-svn: 273780
* Revert "[SimplifyCFG] Stop inserting calls to llvm.trap for UB"David Majnemer2016-06-2510-31/+73
| | | | | | This reverts commit r273778, it seems to break UBSan :/ llvm-svn: 273779
* [SimplifyCFG] Stop inserting calls to llvm.trap for UBDavid Majnemer2016-06-2510-73/+31
| | | | | | | | | | | | | | | | | SimplifyCFG had logic to insert calls to llvm.trap for two very particular IR patterns: stores and invokes of undef/null. While InstCombine canonicalizes certain undefined behavior IR patterns to stores of undef, phase ordering means that this cannot be relied upon in general. There are much better tools than llvm.trap: UBSan and ASan. N.B. I could be argued into reverting this change if a clear argument as to why it is important that we synthesize llvm.trap for stores, I'd be hard pressed to see why it'd be useful for invokes... llvm-svn: 273778
* [InstSimplify] Replace calls to null with undefDavid Majnemer2016-06-252-1/+18
| | | | | | | Calling null is undefined behavior, we can simplify the resulting value to undef. llvm-svn: 273777
* [SimplifyCFG] Replace calls to null/undef with unreachableDavid Majnemer2016-06-253-1/+42
| | | | | | | Calling null is undefined behavior, a call to undef can be trivially treated as a call to null. llvm-svn: 273776
OpenPOWER on IntegriCloud