summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Testcase cleanup: Remove a redundant test input.Adrian Prantl2016-06-042-153/+1
| | | | llvm-svn: 271753
* MIR: Support MachineMemOperands without associated valueMatthias Braun2016-06-044-34/+28
| | | | | | | This is allowed (though used rarely) and useful to keep your tests short. llvm-svn: 271752
* Replace hard coded probability threshold with parameter /NFCXinliang David Li2016-06-032-8/+13
| | | | llvm-svn: 271751
* [llvm-profdata] Fix use-after-free from discarded MemoryBuffer (NFC)Vedant Kumar2016-06-031-8/+13
| | | | | | | | Thanks to Justin Bogner for pointing this out! Caught by ASAN. llvm-svn: 271748
* [pgo] extend r271532 to darwin platformXinliang David Li2016-06-031-4/+4
| | | | llvm-svn: 271746
* Reapply r271728 after adding move cobstructor for ProfileSummaryInfoEaswaran Raman2016-06-038-2/+322
| | | | llvm-svn: 271745
* [esan|wset] Optionally assume intra-cache-line accessesDerek Bruening2016-06-033-12/+185
| | | | | | | | | | | | | | | | | | Summary: Adds an option -esan-assume-intra-cache-line which causes esan to assume that a single memory access touches just one cache line, even if it is not aligned, for better performance at a potential accuracy cost. Experiments show that the performance difference can be 2x or more, and accuracy loss is typically negligible, so we turn this on by default. This currently applies just to the working set tool. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits Differential Revision: http://reviews.llvm.org/D20978 llvm-svn: 271743
* Add a FIXME note in the release notes about documenting ThinLTOMehdi Amini2016-06-031-0/+3
| | | | llvm-svn: 271742
* [libfuzzer] hiding custom mutator handling in MutationDispatcher.Mike Aizatsky2016-06-033-29/+60
| | | | | | | | Summary: Refactoring, no functional changes. Differential Revision: http://reviews.llvm.org/D20975 llvm-svn: 271740
* Revert r271728 as it breaks Windows buildEaswaran Raman2016-06-038-320/+2
| | | | llvm-svn: 271738
* pdbdump: print out TPI hashes.Rui Ueyama2016-06-038-26/+91
| | | | | | Differential Revision: http://reviews.llvm.org/D20945 llvm-svn: 271736
* Re-apply "SDAG: Update ChainNodesMatched as nodes are deleted"Justin Bogner2016-06-032-4/+17
| | | | | | | | | | | | | | | My first attempt at this had an overly aggressive assert - chain nodes will only be removed, but we could hit the assert if a non-chain node was CSE'd (NodeToMatch, for instance). This reapplies r271706 by reverting r271713 and fixing an assert. Original message: Avoid relying on UB by looking into deleted nodes for a marker value. Instead, update the list of chain nodes as we go. llvm-svn: 271733
* [ThinLTO/gold] Pass import lists by reference (NFC)Teresa Johnson2016-06-031-1/+1
| | | | | | | In my earlier patch r271690 I missed passing a map by reference in one place. llvm-svn: 271732
* Analysis pass to access profile summary infoEaswaran Raman2016-06-038-2/+320
| | | | | | Differential Revision: http://reviews.llvm.org/D20648 llvm-svn: 271728
* Fix non-Windows build when inserting a move only type into a mapReid Kleckner2016-06-031-1/+1
| | | | llvm-svn: 271727
* [cpu-detection] Naming conventionAlina Sbirlea2016-06-031-28/+27
| | | | | | | | | | | | Summary: Follow-up to D20926 (committed as r271595, r271596). This patch is in preparation for a substantial refactoring of the code. No functionality changed. Differential Revision: http://reviews.llvm.org/D20970 llvm-svn: 271726
* [Symbolize] Check if the PE file has a PDB and emit an error if we can't load itReid Kleckner2016-06-039-86/+161
| | | | | | | | | | | | | | | | | | | | | Summary: Previously we would try to load PDBs for every PE executable we tried to symbolize. If that failed, we would fall back to DWARF. If there wasn't any DWARF, we'd print mostly useless symbol information using the export table. With this change, we only try to load PDBs for executables that claim to have them. If that fails, we can now print an error rather than falling back silently. This should make it a lot easier to diagnose and fix common symbolization issues, such as not having DIA or not having a PDB. Reviewers: zturner, eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20982 llvm-svn: 271725
* [AArch64] Move tests from r271677 to a more appropriately named file. NFC.Chad Rosier2016-06-032-88/+88
| | | | llvm-svn: 271718
* [AArch64] Spot SBFX-compatible code expressed with sign_extend.Chad Rosier2016-06-032-0/+40
| | | | | | | This is very similar to r271677, but for extracts from i32 with the SIGN_EXTEND acting on a arithmetic shift. llvm-svn: 271717
* [esan] Specify which tool via a global variableDerek Bruening2016-06-031-0/+13
| | | | | | | | | | | | | | | Summary: Adds a global variable to specify the tool, to support handling early interceptors that invoke instrumented code and require shadow memory to be initialized prior to __esan_init() being invoked. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits Differential Revision: http://reviews.llvm.org/D20973 llvm-svn: 271715
* Revert "SDAG: Update ChainNodesMatched as nodes are deleted"Justin Bogner2016-06-032-17/+4
| | | | | | | | | Seeing failures in CodeGen/Generic/icmp-illegal.ll on quite a few bots. This reverts r271706. llvm-svn: 271713
* [llvm-pdbdump] Introduce an abstraction for the output style.Zachary Turner2016-06-036-653/+788
| | | | | | | | | | | This opens the door to introducing a YAML outputter which can be used for machine consumption. Currently the yaml output style is unimplemented and returns an error if you try to use it. Reviewed By: rnk, ruiu Differential Revision: http://reviews.llvm.org/D20967 llvm-svn: 271712
* Test commit. Removes some spaces. No functionality changed.Alina Sbirlea2016-06-031-22/+22
| | | | | | | | | | | | Summary: Test commit. Removes some spaces. No functionality changed. Reviewers: llvm-commits Differential Revision: http://reviews.llvm.org/D20972 llvm-svn: 271711
* [llvm-profdata] Fix option description (NFC)Vedant Kumar2016-06-031-1/+1
| | | | llvm-svn: 271710
* [llvm-profdata] Add option to ingest filepaths from a fileVedant Kumar2016-06-033-4/+70
| | | | | | Differential Revision: http://reviews.llvm.org/D20980 llvm-svn: 271709
* SDAG: Update ChainNodesMatched as nodes are deletedJustin Bogner2016-06-032-4/+17
| | | | | | | Avoid relying on UB by looking into deleted nodes for a marker value. Instead, update the list of chain nodes as we go. llvm-svn: 271706
* In openFileForRead, attempt to fetch the actual name of the file on disk -- ↵Taewook Oh2016-06-034-3/+196
| | | | | | | | | | including case -- so that clang can later warn about non-portable #include and #import directives. Differential Revision: http://reviews.llvm.org/D19842 Patch by Eric Niebler llvm-svn: 271704
* [WebAssembly] Emit type signatures for declared functionsDerek Schuff2016-06-034-10/+129
| | | | | | | | | | | | | | | | | | | | | Under emscripten, C code can take the address of a function implemented in Javascript (which is exposed via an import in wasm). Because imports do not have linear memory address in wasm, we need to generate a thunk to be the target of the indirect call; it call the import directly. To make this possible, LLVM needs to emit the type signatures for these functions, because they may not be called directly or referred to other than where the address is taken. This uses s new .s directive (.functype) which specifies the signature. Differential Revision: http://reviews.llvm.org/D20891 Re-apply r271599 but instead of bailing with an error when a declared function has multiple returns, replace it with a pointer argument. Also add the test case I forgot to 'git add' last time around. llvm-svn: 271703
* SDAG: Replace some unreachable code with an assert. NFCJustin Bogner2016-06-031-6/+3
| | | | | | | The current node shouldn't be (and isn't) removed partway through selection. llvm-svn: 271699
* [sancov] Disable these tests if there is no X86 backendReid Kleckner2016-06-031-0/+4
| | | | | | Copied from test/CodeGen/X86 llvm-svn: 271698
* [libfuzzer] splitting fuzzer.testMike Aizatsky2016-06-0311-97/+99
| | | | llvm-svn: 271697
* [sancov] Run sancov tests on more platformsReid Kleckner2016-06-037-5/+10
| | | | | | | | The only tests that need to be run on Linux are the ones that use C++ demangling. I'm assuming they will fail on Mac, since __cxa_demangle there won't handle the non-double-underscore prefixed mangled names. llvm-svn: 271695
* Doxygen for FoldingSet::reserve and FoldingSet::capacityBen Craig2016-06-031-0/+5
| | | | llvm-svn: 271694
* [ThinLTO/gold] Pass down the imports lists from the thin link (NFC)Teresa Johnson2016-06-031-31/+30
| | | | | | No longer need to compute the imports in each backend thread. llvm-svn: 271690
* [yaml2obj] Sort MachO LinkEdit write operations based on offsetChris Bieneman2016-06-032-26/+330
| | | | | | | | This re-applies r271611, and hopefully the bots won't break this time. Although ld64 always outputs linkedit data in the same order, it isn't actually required to. This change makes yaml2obj resilient if the offsets are in arbitrary order. llvm-svn: 271687
* Trim some spaces (NFC)Vedant Kumar2016-06-031-2/+0
| | | | llvm-svn: 271681
* [codeview] Add basic record type translationReid Kleckner2016-06-037-25/+945
| | | | | | | | | | | This only translates data members for now. Translating overloaded methods is complicated, so I stopped short of doing that. Reviewers: aaboud Differential Revision: http://reviews.llvm.org/D20924 llvm-svn: 271680
* Code size optimisation: do not inline memcpy if this expansion resultsSjoerd Meijer2016-06-032-0/+39
| | | | | | | | in more instructions than the libary call. Differential Revision: http://reviews.llvm.org/D20958 llvm-svn: 271678
* [AArch64] Spot SBFX-compatbile code expressed with sign_extend_inreg.Chad Rosier2016-06-032-0/+125
| | | | | | | | | | We were assuming all SBFX-like operations would have the shl/asr form, but often when the field being extracted is an i8 or i16, we end up with a SIGN_EXTEND_INREG acting on a shift instead. This is a port of r213754 from ARM to AArch64. llvm-svn: 271677
* [InstCombine] look through bitcasts to find selectsSanjay Patel2016-06-032-47/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was concern that creating bitcasts for the simpler potential select pattern: define <2 x i64> @vecBitcastOp1(<4 x i1> %cmp, <2 x i64> %a) { %a2 = add <2 x i64> %a, %a %sext = sext <4 x i1> %cmp to <4 x i32> %bc = bitcast <4 x i32> %sext to <2 x i64> %and = and <2 x i64> %a2, %bc ret <2 x i64> %and } might lead to worse code for some targets, so this patch is matching the larger patterns seen in the test cases. The motivating example for this patch is this IR produced via SSE intrinsics in C: define <2 x i64> @gibson(<2 x i64> %a, <2 x i64> %b) { %t0 = bitcast <2 x i64> %a to <4 x i32> %t1 = bitcast <2 x i64> %b to <4 x i32> %cmp = icmp sgt <4 x i32> %t0, %t1 %sext = sext <4 x i1> %cmp to <4 x i32> %t2 = bitcast <4 x i32> %sext to <2 x i64> %and = and <2 x i64> %t2, %a %neg = xor <4 x i32> %sext, <i32 -1, i32 -1, i32 -1, i32 -1> %neg2 = bitcast <4 x i32> %neg to <2 x i64> %and2 = and <2 x i64> %neg2, %b %or = or <2 x i64> %and, %and2 ret <2 x i64> %or } For an AVX target, this is currently: vpcmpgtd %xmm1, %xmm0, %xmm2 vpand %xmm0, %xmm2, %xmm0 vpandn %xmm1, %xmm2, %xmm1 vpor %xmm1, %xmm0, %xmm0 retq With this patch, it becomes: vpmaxsd %xmm1, %xmm0, %xmm0 Differential Revision: http://reviews.llvm.org/D20774 llvm-svn: 271676
* [test/AMDGPU] Square-braced-syntax for registers: add macro test/example.Artem Tamazov2016-06-032-19/+80
| | | | | | | | | | Test added as per discussion in http://reviews.llvm.org/D20588. The macro is just a demonstration, useless in practice. Coding style fixes. Differential Revision: http://reviews.llvm.org/D20797 llvm-svn: 271675
* [pdb] Add string table offsets to check output.Zachary Turner2016-06-031-91/+91
| | | | llvm-svn: 271674
* [X86][AVX512] Fixed 512-bit vector nontemporal load alignmentSimon Pilgrim2016-06-031-16/+16
| | | | llvm-svn: 271673
* RAS extensions are part of ARMv8.2-A. This change enables them by introducing aSjoerd Meijer2016-06-0320-25/+254
| | | | | | | | | | new instruction to ARM and AArch64 targets and several system registers. Patch by: Roger Ferrer Ibanez and Oliver Stannard Differential Revision: http://reviews.llvm.org/D20282 llvm-svn: 271670
* Adding reserve and capacity methods to FoldingSetBen Craig2016-06-033-6/+164
| | | | | | http://reviews.llvm.org/D20930 llvm-svn: 271669
* [X86][AVX512] Added 512-bit vector nontemporal load testsSimon Pilgrim2016-06-031-145/+909
| | | | llvm-svn: 271668
* ARM target does not use printAliasInstr machinery whichSjoerd Meijer2016-06-037-137/+100
| | | | | | | | | | | | | | | | | | forces having special checks in ArmInstPrinter::printInstruction. This patch addresses this issue. Not all special checks could be removed: either they involve elaborated conditions under which the alias is emitted (e.g. ldm/stm on sp may be pop/push but only if the number of registers is >= 2) or the number of registers is multivalued (like happens again with ldm/stm) and they do not match the InstAlias pattern which assumes single-valued operands in the pattern. Patch by: Roger Ferrer Ibanez Differential Revision: http://reviews.llvm.org/D20237 llvm-svn: 271667
* AsmWriterEmitter.cpp assumes that all operands of a printed aliasSjoerd Meijer2016-06-031-3/+4
| | | | | | | | | | | will appear after a blank. This assumption does not hold in the ARM target. Patch by: Roger Ferrer Ibanez Differential Revision: http://reviews.llvm.org/D20234 llvm-svn: 271666
* Currently AsmWriterEmiter.cpp (used by tblgen -gen-asm-writer) does notSjoerd Meijer2016-06-031-2/+34
| | | | | | | | | | | | | consider the Predicates attached to InstAlias when generating printAliasInstr. This forces users of printAliasInstr to check those predicates beforehand. This commit adds them in the condition set of the IAPrinter object. Patch by: Roger Ferrer Ibanez Differential Revision: http://reviews.llvm.org/D20233 llvm-svn: 271665
* [AMDGPU] Assembler: More tests for SDWA instructions. Fix for SDWA float ↵Sam Kolton2016-06-033-23/+468
| | | | | | | | | | | | | | modifiers. Summary: Depends on D20625 Reviewers: tstellarAMD, vpykhtin, artem.tamazov Subscribers: arsenm, kzhuravl Differential Revision: http://reviews.llvm.org/D20674 llvm-svn: 271662
OpenPOWER on IntegriCloud