summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86][AVX] Renamed VPERMILPI shuffle comment macros to be more specificSimon Pilgrim2016-07-031-27/+27
| | | | llvm-svn: 274467
* [X86][AVX512] Add support for VPALIGNR/PSHUFD/PSHUFHW/PSHUFLW masked shuffle ↵Simon Pilgrim2016-07-035-30/+46
| | | | | | comments llvm-svn: 274466
* [InstCombine] enable vector select of bools -> logic foldsSanjay Patel2016-07-032-13/+19
| | | | llvm-svn: 274465
* [X86][AVX512] Add support for UNPCK masked shuffle commentsSimon Pilgrim2016-07-037-76/+126
| | | | llvm-svn: 274464
* fix formatting; NFCSanjay Patel2016-07-031-6/+6
| | | | llvm-svn: 274463
* [X86][AVX512] Add support for VPERM/VSHUF masked shuffle commentsSimon Pilgrim2016-07-037-66/+122
| | | | llvm-svn: 274462
* [X86][AVX512] Add support for PMOVZX masked shuffle commentsSimon Pilgrim2016-07-036-74/+108
| | | | llvm-svn: 274461
* add vector bool select tests and regenerate checks for scalar bool select testsSanjay Patel2016-07-031-59/+139
| | | | llvm-svn: 274460
* [X86][AVX512] Add support for masked shuffle commentsSimon Pilgrim2016-07-038-62/+113
| | | | | | | | | | This patch adds support for including the avx512 mask register information in the mask/maskz versions of shuffle instruction comments. This initial version just adds support for MOVDDUP/MOVSHDUP/MOVSLDUP to reduce the mass of test regenerations, other shuffle instructions can be added in due course. Differential Revision: http://reviews.llvm.org/D21953 llvm-svn: 274459
* [X86][AVX512] Add support for lowering shuffles to VPERMILPSSimon Pilgrim2016-07-032-0/+31
| | | | llvm-svn: 274458
* PR28400: Partly undo r274440 to bring test-suite back to life with the new PMSean Silva2016-07-031-1/+2
| | | | | | | | | PR28400 seems to be not an isolated issue, but a general problem related to caching analyses. We will need to discuss on llvm-dev. A test case is in the PR. llvm-svn: 274457
* [PM] Some preparatory refactoring to minimize the diff of D21921Sean Silva2016-07-031-14/+20
| | | | llvm-svn: 274456
* Remove dead TLI arg of isKnownNonNull and propagate deadness. NFC.Sean Silva2016-07-0210-70/+42
| | | | | | | | | | | | | | This actually uncovered a surprisingly large chain of ultimately unused TLI args. From what I can gather, this argument is a remnant of when isKnownNonNull would look at the TLI directly. The current approach seems to be that InferFunctionAttrs runs early in the pipeline and uses TLI to annotate the TLI-dependent non-null information as return attributes. This also removes the dependence of functionattrs on TLI altogether. llvm-svn: 274455
* [Refactor NFC] Rename the (non-CCE, fold-failure) Diag during constant ↵Faisal Vali2016-07-021-102/+112
| | | | | | | | | | | | expression evaluation as FFDiag. Currently, we have CCEDiags (C++11 core constant expression diags) and Fold failure diagnostics [I don't claim to yet fully understand exactly why we need the difference]. This patch explicitly replaces Info.Diag (whose use always represents a fold failure diag within the file) with Info.FFDiag. This makes it more easily greppable in the file, and just like the name Info.CCEDiag, it gives the reader slight further insight into the nature of the diagnostic (as opposed to Info.Diag). This patch is a preliminary refactoring step in an effort to allow support for compatibility-warnings and extensions (such as constexpr lambda) during constant expression evaluation. All regressions pass. llvm-svn: 274454
* Fix wrong commentXinliang David Li2016-07-021-1/+1
| | | | llvm-svn: 274453
* [PM] Port LoopAccessInfo analysis to new PMXinliang David Li2016-07-0225-1/+75
| | | | | | | It is implemented as a LoopAnalysis pass as discussed and agreed upon. llvm-svn: 274452
* Fix spelling.Simon Pilgrim2016-07-021-2/+2
| | | | llvm-svn: 274451
* [X86][AVX512] Add support for lowering shuffles to VPERMILPDSimon Pilgrim2016-07-022-52/+37
| | | | llvm-svn: 274450
* fix some various typos in the docSylvestre Ledru2016-07-027-10/+10
| | | | llvm-svn: 274449
* [X86][AVX512VL] Add fast-isel MOVDDUP/MOVSLDUP/MOVSHDUP shuffle testsSimon Pilgrim2016-07-021-0/+407
| | | | llvm-svn: 274448
* fix two typos in the docSylvestre Ledru2016-07-022-2/+2
| | | | llvm-svn: 274447
* [PM] Some preparatory refactoring to minimize the diff of D21921Sean Silva2016-07-021-15/+17
| | | | | | The main change here is just moving stuff to static functions. llvm-svn: 274446
* [PM] Preparatory cleanups to ArgumentPromotion.Sean Silva2016-07-021-54/+74
| | | | | | | This pulls some obvious changes out of http://reviews.llvm.org/D21921 to minimize the diff. llvm-svn: 274445
* [X86][AVX512] Add support for 512-bit PSHUFB loweringSimon Pilgrim2016-07-022-17/+10
| | | | llvm-svn: 274444
* [X86][AVX512] Converted the MOVDDUP/MOVSLDUP/MOVSHDUP masked intrinsics to ↵Simon Pilgrim2016-07-023-72/+156
| | | | | | generic IR llvm-svn: 274443
* [X86][AVX512] Converted the MOVDDUP/MOVSLDUP/MOVSHDUP masked intrinsics to ↵Simon Pilgrim2016-07-025-118/+110
| | | | | | | | generic IR llvm companion patch imminent llvm-svn: 274442
* New Kaleidoscope chapter: Creating object filesWilfred Hughes2016-07-0216-355/+1800
| | | | | | | | | | | | This new chapter describes compiling LLVM IR to object files. The new chaper is chapter 8, so later chapters have been renumbered. Since this brings us to 10 chapters total, I've also needed to rename the other chapters to use two digit numbering. Differential Revision: http://reviews.llvm.org/D18070 llvm-svn: 274441
* [PM] Fix a small typo from when I ported JumpThreadingSean Silva2016-07-021-1/+1
| | | | llvm-svn: 274440
* [X86][AVX512] Autoupgrade the MOVDDUP/MOVSLDUP/MOVSHDUP intrinsicsSimon Pilgrim2016-07-025-204/+227
| | | | llvm-svn: 274439
* [DIBuilder] Remove dead code. NFC.Benjamin Kramer2016-07-021-34/+0
| | | | llvm-svn: 274438
* [Hexagon] Create global std::map lazily.Benjamin Kramer2016-07-021-3/+3
| | | | | | | | This could of course be a simple binary search with no global state involved at all if someone cares enough. Just don't make everyone linking the hexagon backend pay for it on process startup and shutdown. llvm-svn: 274437
* [X86][AVX512] Add support for lowering shuffles to MOVDDUP/MOVSLDUP/MOVSHDUPSimon Pilgrim2016-07-023-8/+23
| | | | llvm-svn: 274436
* [X86][AVX512] Add test cases that should lower to MOVSLDUP/MOVSHDUPSimon Pilgrim2016-07-021-1/+21
| | | | llvm-svn: 274435
* [X86][AVX512] Add fast-isel shuffle testsSimon Pilgrim2016-07-022-0/+737
| | | | | | Its not worth trying to write out tests for all the avx512f builtins yet, just adding tests for lowering of generic IR as we transition to it (shuffles mainly right now). llvm-svn: 274434
* [CUDA] Move argument type lists to the stack. NFC.Benjamin Kramer2016-07-021-4/+4
| | | | llvm-svn: 274433
* Use arrays or initializer lists to feed ArrayRefs instead of SmallVector ↵Benjamin Kramer2016-07-027-86/+53
| | | | | | | | where possible. No functionality change intended llvm-svn: 274432
* Use arrays or initializer lists to feed ArrayRefs instead of SmallVector ↵Benjamin Kramer2016-07-029-55/+28
| | | | | | | | where possible. No functionality change intended. llvm-svn: 274431
* Correct two typosTobias Grosser2016-07-021-2/+2
| | | | llvm-svn: 274430
* Remove duplicate declaration.Rui Ueyama2016-07-022-2/+1
| | | | llvm-svn: 274429
* Move getAddend to Relocations.h.Rui Ueyama2016-07-022-10/+10
| | | | | | | Because the function works on relocations, it should be in Relocations.h instead of OutputSections.h. llvm-svn: 274428
* CodegenCleanup: Drop CFLAA pass from codegen cleanup sequenceTobias Grosser2016-07-021-1/+0
| | | | | | | | | | | | Since r274197 -polly-position=before-vectorizer caused various LNT failures for example in SingleSource/Benchmarks/Linpack. These failures seem to only occur when the CFLAA pass is scheduled in our codegen-cleanup passes, which suggests that the way we call this AA pass is somehow problematic. As this pass is not of high importance, we drop the pass for now to prevent these failures from happening. At a later point, we might investigate more in-depth why this specific usage scenario caused correctness issues. llvm-svn: 274427
* Fix formatting. NFC.Rui Ueyama2016-07-021-2/+2
| | | | llvm-svn: 274426
* [X86] Replace 128-bit and 256 masked vpermilps/vpermilpd builtins with ↵Craig Topper2016-07-024-47/+48
| | | | | | native IR. llvm-svn: 274425
* Add unordered_map::insert benchmark test and rename fileEric Fiselier2016-07-022-29/+44
| | | | llvm-svn: 274424
* Improve performance of unordered_set<uint32_t>::find by 45%. Add benchmarks.Eric Fiselier2016-07-022-2/+33
| | | | | | | | | | | | | | | | This patch improves the performance of unordered_set's find by 45% when the value exists within the set. __hash_tables find method needs to check if it's reached the end of the bucket by constraining the hash of the current node and checking it against the bucket index. However constraining the hash is an expensive operations and it can be avoided if the two unconstrained hashes are equal. This patch applies that optimization. This patch also adds a top level directory called benchmarks. 'benchmarks/' is intended to store any/all benchmarks written for the standard library. Currently nothing is done with files under 'benchmarks/' but I would like to move towards introducing a formal format and test runner. llvm-svn: 274423
* Handle std::get<T>(...) for std::tuple<>Eric Fiselier2016-07-022-0/+8
| | | | llvm-svn: 274422
* [esan|cfrag] Add struct array access reportQin Zhao2016-07-022-19/+35
| | | | | | | | | | | | | | | Summary: Adds struct array access counter report. Updates test struct-simple.cpp. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D21595 llvm-svn: 274421
* [esan|cfrag] Add counters for struct array accessesQin Zhao2016-07-023-72/+143
| | | | | | | | | | | | | | | | | Summary: Adds one counter to the struct counter array for counting struct array accesses. Adds instrumentation to insert counter update for struct array accesses. Reviewers: aizatsky Subscribers: llvm-commits, bruening, eugenis, kcc, zhaoqin, vitalybuka Differential Revision: http://reviews.llvm.org/D21594 llvm-svn: 274420
* Remove workarounds for C++17 inline variable ABI break. It has been fixed in ↵Eric Fiselier2016-07-022-11/+0
| | | | | | clang. llvm-svn: 274419
* Rewrite std::get<Type>(...) helper using constexpr functions.Eric Fiselier2016-07-026-120/+63
| | | | llvm-svn: 274418
OpenPOWER on IntegriCloud