summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Added Skylake client to X86 targets and featuresElena Demikhovsky2016-01-246-199/+337
| | | | | | | | | | | | | Changes in X86.td: I set features of Intel processors in incremental form: IVB = SNB + X HSW = IVB + X .. I added Skylake client processor and defined it's features FeatureADX was missing on KNL Added some new features to appropriate processors SMAP, IFMA, PREFETCHWT1, VMFUNC and others Differential Revision: http://reviews.llvm.org/D16357 llvm-svn: 258659
* Fixed few comments.Amjad Aboud2016-01-242-4/+4
| | | | llvm-svn: 258658
* AVX512: VMOVDQU8/16/32/64 (load) intrinsic implementation.Igor Breger2016-01-249-15/+335
| | | | | | Differential Revision: http://reviews.llvm.org/D16137 llvm-svn: 258657
* [TableGen] In AsmWriterEmitter unique command search, rather than storing a ↵Craig Topper2016-01-241-43/+32
| | | | | | | | mapping from instruction to unique command, instead store a list of which instructions each unique command corresponds to. This simplifies the complexity of the code that tries to find further operands to merge into the unique command. llvm-svn: 258656
* Fix buildbot failuresDavid Majnemer2016-01-241-1/+1
| | | | llvm-svn: 258655
* [SCCP] Remove duplicate codeDavid Majnemer2016-01-243-22/+16
| | | | | | | | | SCCP has code identical to changeToUnreachable's behavior, switch it over to just call changeToUnreachable. No functionality change intended. llvm-svn: 258654
* [InstCombine, SCCP] Consolidate code used to remove instructionsDavid Majnemer2016-01-244-37/+30
| | | | | | | | | InstCombine and SCCP both want to remove dead code in a very particular way but using identical means to do so. Share the code between the two. No functionality change is intended. llvm-svn: 258653
* [PGO] Windows buildbot failure fix. [NFC]Betul Buyukkurt2016-01-241-2/+3
| | | | llvm-svn: 258652
* [WinEH] Don't miscompile cleanups which conditionally unwind to callerDavid Majnemer2016-01-232-1/+26
| | | | | | | | | | | | | | | | A cleanup can have paths which unwind or end up in unreachable. If there is an unreachable path *and* a path which unwinds to caller, we would mistakenly inject an unwind path to a catchswitch on the unreachable path. This results in a verifier assertion firing because the cleanup unwinds to two different places: to the caller and to the catchswitch. This occured because we used getCleanupRetUnwindDest to determine if the cleanuppad had no cleanuprets. This is incorrect, getCleanupRetUnwindDest returns null for cleanuprets which unwind to caller. llvm-svn: 258651
* Clang changes for value profilingBetul Buyukkurt2016-01-234-6/+109
| | | | | | Differential Revision: http://reviews.llvm.org/D8940 llvm-svn: 258650
* Remove duplicate documentation in ConstantFolding.cpp. NFC.Manuel Jacob2016-01-231-22/+0
| | | | | | The documentation for these functions is already present in the header file. llvm-svn: 258649
* Remove duplicate documentation in Attributes.cpp. NFC.Manuel Jacob2016-01-231-10/+0
| | | | | | The documentation for these methods is already present in the header. llvm-svn: 258648
* Update outdated method documention in Attributes.h. NFC.Manuel Jacob2016-01-231-2/+2
| | | | | | Nowadays the alignment attribute is not the only integer attribute. llvm-svn: 258647
* [SelectionDAG] Generalised the CONCAT_VECTORS creation to support ↵Simon Pilgrim2016-01-232-12/+14
| | | | | | BUILD_VECTOR and UNDEF folding. llvm-svn: 258646
* [X86][SSE] Generalised TRUNC -> PACKSS/PACKUS code. NFC.Simon Pilgrim2016-01-231-16/+11
| | | | | | Generalised mask generation / subvector extraction to use the input/output types directly instead of an if/else through all the currently accepted types. llvm-svn: 258645
* Tidied up TRUNC combine code. NFC.Simon Pilgrim2016-01-231-9/+5
| | | | | | Make use of DAG.getBitcast and use clang-format to reduce number of lines (and make it more readable). llvm-svn: 258644
* [CUDA] Disallow variadic functions other than printf in device code.Justin Lebar2016-01-233-13/+37
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, echristo, jhen Differential Revision: http://reviews.llvm.org/D16484 llvm-svn: 258643
* [CUDA] Make printf work.Justin Lebar2016-01-237-0/+197
| | | | | | | | | | | | | | | | | | Summary: The code in CGCUDACall is largely based on a patch written by Eli Bendersky: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140324/210218.html That patch implemented an LLVM pass lowering printf to vprintf; this one does something similar, but in Clang codegen. Reviewers: echristo Subscribers: cfe-commits, jhen, tra, majnemer Differential Revision: http://reviews.llvm.org/D16372 llvm-svn: 258642
* [CUDA] Reject the alias attribute in CUDA device code.Justin Lebar2016-01-233-0/+15
| | | | | | | | | | | | Summary: CUDA (well, strictly speaking, NVPTX) doesn't support aliases. Reviewers: echristo Subscribers: cfe-commits, jhen, tra Differential Revision: http://reviews.llvm.org/D16502 llvm-svn: 258641
* [CUDA] Use Triple::isNVPTX() instead of enumerating nvptx && nvptx64.Justin Lebar2016-01-231-4/+2
| | | | | | | | | | Summary: No functional changes. Subscribers: tra, echristo, jhen, cfe-commits Differential Revision: http://reviews.llvm.org/D16495 llvm-svn: 258640
* [CUDA] Add Target::isNVPTX().Justin Lebar2016-01-231-0/+5
| | | | | | | | | | | | Summary: Helper so we don't have to enumerate nvptx && nvptx64 everywhere. Reviewers: echristo Subscribers: llvm-commits, jhen, tra Differential Revision: http://reviews.llvm.org/D16494 llvm-svn: 258639
* [CUDA] Die gracefully when trying to output an LLVM alias.Justin Lebar2016-01-232-0/+12
| | | | | | | | | | | | | | Summary: Previously, we would just output "foo = bar" in the assembly, and then ptxas would choke. Now we die before emitting any invalid code. Reviewers: echristo Subscribers: jholewinski, llvm-commits, jhen, tra Differential Revision: http://reviews.llvm.org/D16490 llvm-svn: 258638
* [CUDA] Make empty parameter lists in nvptx function decls easier to read.Justin Lebar2016-01-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Summary: Before: .func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv( ) { After: .func (.param .b32 func_retval0) _ZL21__nvvm_reflect_anchorv() { Reviewers: bkramer Subscribers: llvm-commits, tra, jhen, echristo, jholewinski Differential Revision: http://reviews.llvm.org/D16512 llvm-svn: 258637
* Don't check if a list is empty with ilist::size.Benjamin Kramer2016-01-231-1/+1
| | | | | | ilist::size() is O(n) while ilist::empty() is O(1) llvm-svn: 258636
* ObjectTransformLayerTest.cpp: Rework r258633. [-Winconsistent-missing-override]NAKAMURA Takumi2016-01-231-1/+1
| | | | | | Sorry for the noise. llvm-svn: 258635
* ObjectTransformLayerTest.cpp: Fix a warning. [-Wredundant-move]NAKAMURA Takumi2016-01-231-1/+1
| | | | llvm-svn: 258634
* ObjectTransformLayerTest.cpp: Fix a warning. [-Winconsistent-missing-override]NAKAMURA Takumi2016-01-231-1/+1
| | | | llvm-svn: 258633
* ScopInfo: Simplify code by folding definition into ifTobias Grosser2016-01-231-2/+1
| | | | llvm-svn: 258632
* [libFuzzer] add -abort_on_timeout optionKostya Serebryany2016-01-236-0/+7
| | | | llvm-svn: 258631
* [ORC] Update ObjectTransformLayer signatureJoseph Tremoulet2016-01-232-8/+71
| | | | | | | | | | | | | | | | | | | | Summary: Update ObjectTransformLayer::addObjectSet to take the object set by value rather than reference and pass it to the base layer with move semantics rather than copy, to match r258185's changes to ObjectLinkingLayer. Update the unit test to verify that ObjectTransformLayer's signature stays in sync with ObjectLinkingLayer's. Reviewers: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16414 llvm-svn: 258630
* regenerate checks and note some near-term improvementsSanjay Patel2016-01-231-239/+1100
| | | | | | | | For the moment, this file takes way too long to run (see inline comments), but that should be a temporary problem. The fact that the compile time is so slow for a target that doesn't support maskmov may be a bug worth investigating too. llvm-svn: 258629
* Improving documentation for the isMoveAssignmentOperator AST matcher.Aaron Ballman2016-01-232-10/+14
| | | | | | Patch by Jonathan Coe. llvm-svn: 258628
* [Bitcode] Insert the darwin wrapper at the beginning of a file when theAkira Hatanaka2016-01-231-2/+2
| | | | | | | | | | | target is macho. It looks like the check for macho was accidentally dropped in r132959. I don't have a test case, but I'll add one if anyone knows how this can be tested. llvm-svn: 258627
* Silence a -Wparentheses warning; NFC.Aaron Ballman2016-01-231-1/+1
| | | | llvm-svn: 258626
* Revert "unordered_map: Reuse insert logic in emplace when possible, NFC"Duncan P. N. Exon Smith2016-01-231-27/+3
| | | | | | | | This reverts commit r258575. EricWF sent me an email (no link since it was off-list) requesting to review this pre-commit instead of post-commit. llvm-svn: 258625
* Added missing comment. NFC.Simon Pilgrim2016-01-231-2/+3
| | | | llvm-svn: 258624
* AlignOf.h: Satisfy both g++-4.7 and msc18.NAKAMURA Takumi2016-01-231-15/+2
| | | | llvm-svn: 258623
* [X86][SSE] Remove INSERTPS dependencies from unreferenced operands.Simon Pilgrim2016-01-232-3/+45
| | | | | | If the INSERTPS zeroes out all the referenced elements from either of the 2 input vectors (and the input is not already UNDEF), then set that input to UNDEF to reduce dependencies. llvm-svn: 258622
* [LLDB] Consider only valid symbols while resolving by addressMohit K. Bhakkad2016-01-234-1/+50
| | | | | | | | Reviewers: clayborg. Subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits. Differential Revision: http://reviews.llvm.org/D16397 llvm-svn: 258621
* [LIR] Add support for structs and hand unrolled loopsHaicheng Wu2016-01-237-124/+775
| | | | | | | | | | | | | | | | | | | | | | | | | Now LIR can turn following codes into memset: typedef struct foo { int a; int b; } foo_t; void bar(foo_t *f, unsigned n) { for (unsigned i = 0; i < n; ++i) { f[i].a = 0; f[i].b = 0; } } void test(foo_t *f, unsigned n) { for (unsigned i = 0; i < n; i += 2) { f[i] = 0; f[i+1] = 0; } } llvm-svn: 258620
* Inline variable into assertMatthias Braun2016-01-231-3/+1
| | | | | | | | | Seems like some compilers still give unused variable warnings for bool var = ...; (void)var; so I have to inline the variable. llvm-svn: 258619
* AArch64ISelLowering.cpp: Fix a warning. [-Wunused-variable]NAKAMURA Takumi2016-01-231-0/+1
| | | | llvm-svn: 258618
* Remove extra whitespace. NFC.Junmo Park2016-01-231-4/+4
| | | | llvm-svn: 258617
* [PruneEH] Don't try to insert a terminator after another terminatorDavid Majnemer2016-01-232-1/+28
| | | | | | LLVM's BasicBlock has a single terminator, it is not valid to have two. llvm-svn: 258616
* Put space after pointer type in test. NFC.Manuel Jacob2016-01-232-3/+3
| | | | llvm-svn: 258615
* AMDGPU: Replace some deprecated intrinsic uses in testsMatt Arsenault2016-01-239-62/+59
| | | | llvm-svn: 258614
* AMDGPU: Run instnamer on a few testsMatt Arsenault2016-01-234-1727/+1713
| | | | | | This will make future test updates easier llvm-svn: 258613
* AMDGPU: Remove more unused intrinsicsMatt Arsenault2016-01-2312-1904/+1947
| | | | | | Replace tests with lrp with basic IR expansion llvm-svn: 258612
* [PruneEH] FuncletPads must not have undef operandsDavid Majnemer2016-01-232-5/+46
| | | | | | | | | Instead of RAUW with undef, replace the first non-token instruction with unreachable. This fixes PR26263. llvm-svn: 258611
* [PruneEH] Unify invoke and call handling in DeleteBasicBlockDavid Majnemer2016-01-231-5/+9
| | | | | | No functionality change is intended. llvm-svn: 258610
OpenPOWER on IntegriCloud