summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Retry "[llvm-profdata] Add option to ingest filepaths from a file"Vedant Kumar2016-06-061-0/+16
| | | | | | | | | | | | Changes since the initial commit: - Normalize file paths read from the file to prevent Windows path separators from escaping parts of the path. - Since we need to store the normalized file paths in WeightedFile, don't do tricky things to keep the source MemoryBuffer alive. Differential Revision: http://reviews.llvm.org/D20980 llvm-svn: 271949
* [pdbdump] Print section header flags.Rui Ueyama2016-06-061-8/+38
| | | | llvm-svn: 271943
* [llvm-pdbdump] Dump MSF headers to YAML.Zachary Turner2016-06-061-0/+17
| | | | | | | | | | | This is the simplest possible patch to get some kind of YAML output. All it dumps is the MSF header fields so that in theory an empty MSF file could be reconstructed. Reviewed By: ruiu, majnemer Differential Revision: http://reviews.llvm.org/D20971 llvm-svn: 271939
* AMDGPU: Fix constantexpr addrspacecastsMatt Arsenault2016-06-061-0/+106
| | | | | | | | If we had a constant group address space cast the queue pointer wasn't enabled for the function, resulting in a crash on noreg later. llvm-svn: 271935
* [LoopUnrollAnalyzer] Fix a crash in analyzeLoopUnrollCost.Michael Zolotukhin2016-06-061-0/+16
| | | | | | | | | | | In some cases, when simplifying with SCEV, we might consider pointer values as just usual integer values. Thus, we might get a different type from what we had originally in the map of simplified values, and hence we need to check types before operating on the values. This fixes PR28015. llvm-svn: 271931
* Fix a test case. NFC.Haicheng Wu2016-06-061-5/+5
| | | | llvm-svn: 271930
* Reapply [LSR] Create fewer redundant instructions.Geoff Berry2016-06-062-0/+81
| | | | | | | | | | | | | | | | | | | Summary: Fix LSRInstance::HoistInsertPosition() to check the original insert position block first for a canonical insertion point that is dominated by all inputs. This leads to SCEV being able to reuse more instructions since it currently tracks the instructions it creates for reuse by keeping a table of <Value, insert point> pairs. Originally reviewed in http://reviews.llvm.org/D18001 Reviewers: atrick Subscribers: llvm-commits, mzolotukhin, mcrosier Differential Revision: http://reviews.llvm.org/D18480 llvm-svn: 271929
* [pdbdump] Print out New FPO stream contents.Rui Ueyama2016-06-061-1/+25
| | | | | | | | | | The data strucutre in the new FPO stream is described in the PE/COFF spec. There is one record per function if frame pointer is omitted. Differential Revision: http://reviews.llvm.org/D20999 llvm-svn: 271926
* [MBP] Reduce code size by running tail merging in MBP.Haicheng Wu2016-06-062-1/+64
| | | | | | | | | | | | | The code layout that TailMerging (inside BranchFolding) works on is not the final layout optimized based on the branch probability. Generally, after BlockPlacement, many new merging opportunities emerge. This patch calls Tail Merging after MBP and calls MBP again if Tail Merging merges anything. Differential Revision: http://reviews.llvm.org/D20276 llvm-svn: 271925
* [InstCombine] limit icmp transform to ConstantInt (PR28011)Sanjay Patel2016-06-061-0/+28
| | | | | | | | | | | | | | | In r271810 ( http://reviews.llvm.org/rL271810 ), I loosened the check above this to work for any Constant rather than ConstantInt. AFAICT, that part makes sense if we can determine that the shrunken/extended constant remained equal. But it doesn't make sense for this later transform where we assume that the constant DID change. This could assert for a ConstantExpr: https://llvm.org/bugs/show_bug.cgi?id=28011 And it could be wrong for a vector as shown in the added regression test. llvm-svn: 271908
* regenerate checksSanjay Patel2016-06-061-110/+159
| | | | llvm-svn: 271904
* regenerate checksSanjay Patel2016-06-061-57/+86
| | | | llvm-svn: 271903
* [AMDGPU][llvm-mc] v_cndmask_b32: src2 is mandatory; do not enforce VOP2 when ↵Artem Tamazov2016-06-067-5/+27
| | | | | | | | | | | | src2 == VCC. Another step for unification llvm assembler/disassembler with sp3. Besides, CodeGen output is a bit improved, thus changes in CodeGen tests. Assembler/Disassembler tests updated/added. Differential Revision: http://reviews.llvm.org/D20796 llvm-svn: 271900
* [KNL] Fix UMULO lowering.Igor Breger2016-06-061-1/+20
| | | | | | Differential Revision: http://reviews.llvm.org/D21013 llvm-svn: 271891
* [AVX512] Remove masked palignr intrinsics and auto-upgrade them to native IR ↵Craig Topper2016-06-064-72/+71
| | | | | | of vector shuffle and select. llvm-svn: 271872
* [AVX512] Add PALIGNR shuffle lowering for v32i16 and v16i32.Craig Topper2016-06-062-13/+4
| | | | llvm-svn: 271870
* [AVX512] Update tests to show shuffle decoding for vpshuflw/vpshufhw.Craig Topper2016-06-061-12/+12
| | | | llvm-svn: 271869
* LICM: Don't sink stores out of loops that may throw.Eli Friedman2016-06-051-0/+71
| | | | | | | | | | | | | | | | Summary: This hasn't been caught before because it requires noalias or similarly strong alias analysis to actually reproduce. Fixes http://llvm.org/PR27952 . Reviewers: hfinkel, sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20944 llvm-svn: 271858
* Add safety check to InstCombiner::commonIRemTransformsSanjoy Das2016-06-051-0/+116
| | | | | | | | | | | | | | | | Since FoldOpIntoPhi speculates the binary operation to potentially each of the predecessors of the PHI node (pulling it out of arbitrary control dependence in the process), we can FoldOpIntoPhi only if we know the operation doesn't have UB. This also brings up an interesting profitability question -- the way it is written today, commonIRemTransforms will hoist out work from dynamically dead code into code that will execute at runtime. Perhaps that isn't the best canonicalization? Fixes PR27968. llvm-svn: 271857
* Add test case for InstCombiner::commonIRemTransforms; NFCSanjoy Das2016-06-051-0/+23
| | | | | | | The PHI case in commonIRemTransforms was untested; add a trivial test case. llvm-svn: 271856
* [Internalize] Test that __stack_chk_{guard, fail} are not internalized.Davide Italiano2016-06-051-0/+9
| | | | | | | r154645 introduced this feature without test. This should have better coverage now. llvm-svn: 271853
* [BitCode] Make sure atomicrmw's argument is an actual PointerTypeFilipe Cabecinhas2016-06-052-0/+5
| | | | llvm-svn: 271851
* [BitCode] Make sure storeatomic's argument is an actual PointerTypeFilipe Cabecinhas2016-06-052-0/+5
| | | | llvm-svn: 271850
* [BitCode] Diagnose GEPs with no indicesFilipe Cabecinhas2016-06-052-0/+5
| | | | llvm-svn: 271849
* [BitCode] Don't allow constants of void type.Filipe Cabecinhas2016-06-052-0/+5
| | | | llvm-svn: 271848
* [PM] Port IndVarSimplify to the new pass managerSanjoy Das2016-06-053-0/+3
| | | | | | | | | | | | | | | | | Summary: There are some rough corners, since the new pass manager doesn't have (as far as I can tell) LoopSimplify and LCSSA, so I've updated the tests to run them separately in the old pass manager in the lit tests. We also don't have an equivalent for AU.setPreservesCFG() in the new pass manager, so I've left a FIXME. Reviewers: bogner, chandlerc, davide Subscribers: sanjoy, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20783 llvm-svn: 271846
* [IndVars] Remove -liv-reduceSanjoy Das2016-06-051-56/+0
| | | | | | | | | | It is an off-by-default option that no one seems to use[0], and given that SCEV directly understands the overflow instrinsics there is no real need for it anymore. [0]: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098181.html llvm-svn: 271845
* fix checksSanjay Patel2016-06-051-3/+3
| | | | | | update_test_checks.py got confused matching the variable names. llvm-svn: 271844
* [InstCombine] allow vector icmp bool transformsSanjay Patel2016-06-052-5/+5
| | | | llvm-svn: 271843
* add tests to show missing vector transformsSanjay Patel2016-06-051-0/+20
| | | | llvm-svn: 271842
* regenerate checksSanjay Patel2016-06-051-57/+78
| | | | llvm-svn: 271841
* update test to use FileCheckSanjay Patel2016-06-051-93/+175
| | | | llvm-svn: 271840
* update test to use FileCheckSanjay Patel2016-06-051-11/+16
| | | | llvm-svn: 271838
* update test to FileCheckSanjay Patel2016-06-051-8/+12
| | | | llvm-svn: 271837
* [X86][XOP] Added VPERMIL2PD/VPERMIL2PS raw mask decoding for target shuffle ↵Simon Pilgrim2016-06-051-4/+1
| | | | | | combines llvm-svn: 271834
* [X86][XOP] Added VPERMIL2PD/VPERMIL2PS as a target shuffle typeSimon Pilgrim2016-06-051-10/+14
| | | | llvm-svn: 271831
* [AVX512] Add support for lowering PALIGNR for v64i8.Craig Topper2016-06-051-0/+21
| | | | | | Could do this for other types to, but this is what's needed to replace the instrinsic with native IR in clang. llvm-svn: 271828
* [AVX512] Split command lines and regenerate a test to prepare for a future ↵Craig Topper2016-06-051-8/+20
| | | | | | commit. llvm-svn: 271827
* [AVX512] Fix PANDN combining for v4i32/v8i32 when VLX is enabled.Craig Topper2016-06-051-0/+48
| | | | | | v4i32/v8i32 ANDs aren't promoted to v2i64/v4i64 when VLX is enabled. llvm-svn: 271826
* [PM] Port GCOVProfiler pass to the new pass managerXinliang David Li2016-06-057-0/+33
| | | | llvm-svn: 271823
* [SimplifyCFG] Don't kill empty cleanuppads with multiple usesDavid Majnemer2016-06-041-0/+24
| | | | | | | | | | | | | | | | | A basic block could contain: %cp = cleanuppad [] cleanupret from %cp unwind to caller This basic block is empty and is thus a candidate for removal. However, there can be other uses of %cp outside of this basic block. This is only possible in unreachable blocks. Make our transform more correct by checking that the pad has a single user before removing the BB. This fixes PR28005. llvm-svn: 271816
* [InstCombine] allow vector constants for cast+icmp foldSanjay Patel2016-06-042-8/+12
| | | | | | | This is step 1 of unknown towards fixing PR28001: https://llvm.org/bugs/show_bug.cgi?id=28001 llvm-svn: 271810
* [X86][XOP] Added VPERMIL2PD/VPERMIL2PS shuffle mask comment decodingSimon Pilgrim2016-06-042-5/+89
| | | | llvm-svn: 271809
* [InstCombine] add test for missing vector optimizationSanjay Patel2016-06-041-2/+15
| | | | llvm-svn: 271808
* [InstCombine] add test for missing vector optimizationSanjay Patel2016-06-041-2/+16
| | | | llvm-svn: 271806
* [InstCombine] minimize test case and use FileCheckSanjay Patel2016-06-041-27/+13
| | | | llvm-svn: 271805
* [Analysis] Enabled BITREVERSE as a vectorizable intrinsicSimon Pilgrim2016-06-041-288/+633
| | | | | | Allows XOP to vectorize BITREVERSE - other targets will follow as their costmodels improve. llvm-svn: 271803
* X86: enable TLS on Windows itaniumSaleem Abdulrasool2016-06-041-0/+30
| | | | | | | Windows itanium is nearly identical to windows-msvc (MS ABI for C, itanium for C++). Enable the TLS support for the target similar to the MSVC model. llvm-svn: 271797
* [X86][AVX2] Fix v16i16 SHL lowering (PR27730)Simon Pilgrim2016-06-048-61/+61
| | | | | | | | The AVX2 v16i16 shift lowering works by unpacking to 2 x v8i32, performing the shift and then truncating the result. The unpacking is used to place the values in the upper 16-bits so that we can correctly sign-extend for SRA shifts. Unfortunately we weren't ensuring that the lower 16-bits were zero to ensure that SHL correctly shifts in zero bits. llvm-svn: 271796
* [InstCombine][MMX] Extend SimplifyDemandedUseBits MOVMSK support to MMXSimon Pilgrim2016-06-041-0/+20
| | | | | | | | Add the MMX implementation to the SimplifyDemandedUseBits SSE/AVX MOVMSK support added in D19614 Requires a minor tweak as llvm.x86.mmx.pmovmskb takes a x86_mmx argument - so we have to be explicit about the implied v8i8 vector type. llvm-svn: 271789
OpenPOWER on IntegriCloud