summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [IRCE] Return a Value*, not SCEV* from parseRangeCheck; NFCSanjoy Das2016-05-241-26/+10
| | | | | | | This is better layering, since the caller needs to check if the index was an add-rec anyway. llvm-svn: 270582
* fix typos; NFCSanjay Patel2016-05-241-11/+11
| | | | llvm-svn: 270579
* Revert r270518, which re-enabled "[LoopUnroll] Enable advanced unrolling ↵Hans Wennborg2016-05-242-4/+4
| | | | | | | | analysis by default. Chromium builds are still hitting the assert in PR27874. llvm-svn: 270577
* Recommit r270070 ([llvm-mc] - Teach llvm-mc to generate compressed debug ↵George Rimar2016-05-245-48/+32
| | | | | | | | | | | | | | | | | | | sections in zlib style.) Now, after landing r270560, r270557, r270320 it is a proper time. Original commit message: [llvm-mc] - Teach llvm-mc to generate compressed debug sections in zlib style. Before this patch llvm-mc generated zlib-gnu styled sections. That means no SHF_COMPRESSED flag was set, magic 'zlib' signature was used in combination with full size field. Sections were renamed to "*.z*". This patch reimplements the compression style to zlib one as zlib-gnu looks to be depricated everywhere. Differential revision: http://reviews.llvm.org/D20331 llvm-svn: 270569
* [ValueTracking, InstSimplify] extend isKnownNonZero() to handle vector constantsSanjay Patel2016-05-242-22/+19
| | | | | | | | | | | | | Similar in spirit to D20497 : If all elements of a constant vector are known non-zero, then we can say that the whole vector is known non-zero. It seems like we could extend this to FP scalar/vector too, but isKnownNonZero() says it only works for integers and pointers for now. Differential Revision: http://reviews.llvm.org/D20544 llvm-svn: 270562
* [InstCombine][X86][SSE41] The SSE41 PMOVSX intrinsics are auto upgraded now ↵Simon Pilgrim2016-05-241-67/+0
| | | | | | and aren't handled by InstCombine any more llvm-svn: 270561
* [MC/ELF] - Fixed insufficient compression.s testGeorge Rimar2016-05-241-9/+13
| | | | | | | | | | | | | | | Main problem that .debug_info section was used to check that llvm-dwarfdump is able to decompress data that was compressed with llvm-mc tool. This section was not compressed actually, because consumes more space in compressed view. I changed testcase to use .debug_str section which is one that is really compressed. So currently test do what is probably was expected to do: checks that "data"->llvm-mc->llvm-dwarfdump->dumps back initial "data". Differential revision: http://reviews.llvm.org/D20466 llvm-svn: 270560
* Rework/enhance stack coloring data flow analysis.Than McIntosh2016-05-243-110/+530
| | | | | | | | | | | | | | Replace bidirectional flow analysis to compute liveness with forward analysis pass. Treat lifetimes as starting when there is a first reference to the stack slot, as opposed to starting at the point of the lifetime.start intrinsic, so as to increase the number of stack variables we can overlap. Reviewers: gbiv, qcolumbet, wmi Differential Revision: http://reviews.llvm.org/D18827 Bug: 25776 llvm-svn: 270559
* [X86][SSE] Added vector sitofp/uitofp folded load testsSimon Pilgrim2016-05-241-0/+1641
| | | | llvm-svn: 270558
* Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug ↵George Rimar2016-05-2412-20/+92
| | | | | | | | | | | | | | | | | | | | | | | sections in zlib style.) Fix was: 1) Had to regenerate dwarfdump-test-zlib.elf-x86-64, dwarfdump-test-zlib-gnu.elf-x86-64 (because llvm-symbolizer-zlib.test uses that inputs for its purposes and failed). 2) Updated llvm-symbolizer-zlib.test (updated used call function address to match new files + added one more check for newly created dwarfdump-test-zlib-gnu.elf-x86-64 binary input). 3) Updated comment in dwarfdump-test-zlib.cc. Original commit message: [llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style. Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers, this patch adds support for zlib style. It looks reasonable to support both styles for dumping, even if we are not going to suport generating of deprecated gnu one. Differential revision: http://reviews.llvm.org/D20470 llvm-svn: 270557
* [AMDGPU] Assembler: rework parsing of optional operands.Sam Kolton2016-05-243-284/+88
| | | | | | | | | | | | | | | Summary: Change process of parsing of optional operands. All optional operands use same parsing method - parseOptionalOperand(). No default values are added to OperandsVector. Get rid of WORKAROUND_USE_DUMMY_OPERANDS_INSTEAD_MUTIPLE_DEFAULT_OPERANDS. Reviewers: tstellarAMD, vpykhtin, artem.tamazov, nhaustov Subscribers: arsenm, kzhuravl Differential Revision: http://reviews.llvm.org/D20527 llvm-svn: 270556
* [AMDGPU][llvm-mc] Disassembler: support for TTMP/TBA/TMA registers.Artem Tamazov2016-05-244-44/+225
| | | | | | Differential Revision: http://reviews.llvm.org/D20476 llvm-svn: 270552
* [llvm][AVX512][intrinsics] Fix vperm{b|w|d|q|ps|pd} intrinsics. Index is ↵Igor Breger2016-05-248-78/+102
| | | | | | | | second argument to buildin function but it is first instruction operand. Differential Revision: http://reviews.llvm.org/D20515 llvm-svn: 270548
* Revert r270543 ("Recommit r270540")George Rimar2016-05-2411-86/+18
| | | | | | | | Failed build bot in another test. I am sorry for noise. http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/23679/testReport/junit/LLVM/DebugInfo/llvm_symbolizer_zlib_test/ llvm-svn: 270547
* Recommit r270540George Rimar2016-05-2411-18/+86
| | | | | | | | | | | | | | | | fix: forgot to commit the updated dwarfdump-test-zlib.elf-x86-64 Original commit message: [llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style. Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers, this patch adds support for zlib style. It looks reasonable to support both styles for dumping, even if we are not going to suport generating of deprecated gnu one. Differential revision: http://reviews.llvm.org/D20470 llvm-svn: 270543
* [MIPS][LLVM-MC] Fix Disassemble of Negative OffsetSagar Thakur2016-05-248-138/+196
| | | | | | | | | | | Patch by Nitesh Jain. Summary: The type of Imm in MipsDisassembler.cpp was incorrect since SignExtend64 return int64_t type.As per the MIPSr6 doc ,the offset is added to the address of the instruction following the branch (not the branch itself), to form a PC-relative effective target address hence “4” is added to the offset. The offset of some test case are update to reflect the changes due to “ + 4 ” offset and new test case for negative offset are added. Reviewers: dsanders, vkalintiris Differential Revision: http://reviews.llvm.org/D17540 llvm-svn: 270542
* Revert r270540 "[llvm-dwarfdump] - Teach dwarfdump to decompress debug ↵George Rimar2016-05-2410-86/+18
| | | | | | | | | sections in zlib style." it broked bot: http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/5036 llvm-svn: 270541
* [llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.George Rimar2016-05-2410-18/+86
| | | | | | | | | | | Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers, this patch adds support for zlib style. It looks reasonable to support both styles for dumping, even if we are not going to suport generating of deprecated gnu one. Differential revision: http://reviews.llvm.org/D20470 llvm-svn: 270540
* [CostModel][X86][XOP] Added XOP costmodel for BITREVERSE Simon Pilgrim2016-05-243-13/+61
| | | | | | Now that we have a nice fast VPPERM solution. Added framework for future intrinsic costs as well. llvm-svn: 270537
* Remove unused variable breaking -Werror builds.Zachary Turner2016-05-241-2/+1
| | | | llvm-svn: 270529
* Revert "Revert r270478 "[LoopUnroll] Enable advanced unrolling analysis by ↵Michael Zolotukhin2016-05-242-4/+4
| | | | | | | | | default."" This reverts commit r270512 and reapplies r270478. Originally it caused PR27847, but it was fixed in r270517. llvm-svn: 270518
* [LoopUnrollAnalyzer] Fix a crash in UnrolledInstAnalyzer::visitCastInst.Michael Zolotukhin2016-05-242-2/+26
| | | | | | This fixes PR27847. llvm-svn: 270517
* Remove unused variable.Zachary Turner2016-05-241-11/+6
| | | | llvm-svn: 270516
* [msan] Add a test for vector compare x86 intrinsics.Evgeniy Stepanov2016-05-241-0/+81
| | | | | | | This was actually meant to go in with r267966, but I forgot to git add the file. Better late than never. llvm-svn: 270515
* Fix build errorZachary Turner2016-05-231-1/+1
| | | | llvm-svn: 270513
* Revert r270478 "[LoopUnroll] Enable advanced unrolling analysis by default."Hans Wennborg2016-05-232-4/+4
| | | | | | This caused PR27847. llvm-svn: 270512
* Make a symbol visitor and use it to dump CV symbols.Zachary Turner2016-05-2310-751/+1013
| | | | | | | Differential Revision: http://reviews.llvm.org/D20534 Reviewed By: rnk llvm-svn: 270511
* test: Be consistent with clang's sanitizer lit configJustin Bogner2016-05-231-4/+5
| | | | | | | | | | The logic that sets up lit features for sanitizers is largely copied between here and clang, except clang's was fixed some time ago to handle multiple sanitizers (ie, Asan + Ubsan). This just makes the code in LLVM consistent with how it's done in clang to avoid any gotchas by users of this. llvm-svn: 270510
* [ThinLTO] Refactor module loader handling into new LTO file (NFC)Teresa Johnson2016-05-234-43/+96
| | | | | | | | | | | | Moved the ModuleLoader and supporting helper loadModuleFromBuffer out of ThinLTOCodeGenerator and into new LTO.h/LTO.cpp files. This is in preparation for a patch that will utilize these in the gold-plugin. Note that there are some other pending patches (D20268 and D20290) that also plan to refactor common interfaces and functionality into this same pair of new files. llvm-svn: 270509
* [WebAssembly] Basic TargetTransformInfo support for SIMD128.Dan Gohman2016-05-232-1/+65
| | | | llvm-svn: 270508
* llvm-dwp: Reduce indentationDavid Blaikie2016-05-231-48/+47
| | | | llvm-svn: 270507
* llvm-dwp: Split out processing of input sections to improve readabilityDavid Blaikie2016-05-231-61/+84
| | | | llvm-svn: 270503
* Tweak to change in r270491 to deal with the lld-x86_64-darwin13 bot having a ↵Kevin Enderby2016-05-231-0/+4
| | | | | | | | old xar.h header. Reviewed the change with Chris Bieneman and Pete Cooper. llvm-svn: 270502
* [X86][SSE] Updated (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) fast-isel codegen to ↵Simon Pilgrim2016-05-232-8/+6
| | | | | | match D20528 llvm-svn: 270501
* [IRCE] Optimize "uses" not branches; NFCISanjoy Das2016-05-233-11/+12
| | | | | | | | | | This changes IRCE to optimize uses, and not branches. This change is NFCI since the uses we do inspect are in practice only ever going to be the condition use in conditional branches; but this flexibility will later allow us to analyze more complex expressions than just a direct branch on a range check. llvm-svn: 270500
* [InstSimplify] add vector tests for isKnownNonZeroSanjay Patel2016-05-231-0/+81
| | | | llvm-svn: 270498
* [X86][SSE] The int_x86_sse41_pmovsx* intrinsics are no longer in use (not ↵Simon Pilgrim2016-05-231-18/+0
| | | | | | since D13002!) llvm-svn: 270497
* llvm-dwp: Pull out compression handling helperDavid Blaikie2016-05-231-15/+22
| | | | llvm-svn: 270496
* Avoid including AlwaysInliner pass in opt-bisect search.Andrew Kaylor2016-05-233-0/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D19640 llvm-svn: 270495
* [X86][SSE] Added cvtdq2pd/cvtps2pd generic IR testsSimon Pilgrim2016-05-232-0/+51
| | | | | | Added D20528 implementations as well as existing x86 intrinsics versions llvm-svn: 270494
* PrologEpilogInserter: Avoid an infinite loop when MinCSFrameIndex == 0Justin Bogner2016-05-231-3/+3
| | | | | | | | | | | | | | Before r269750 we did the comparisons in this loop in signed ints so that it DTRT when MinCSFrameIndex was 0. This was changed because it's now possible for MinCSFrameIndex to be UINT_MAX, but that introduced a bug when we were comparing `>= 0` - this is tautological in unsigned. Rework the comparisons here to avoid issues with unsigned wrapping. No test. I couldn't find a way to get any of the StackGrowsUp in-tree targets to reach the code that sets MinCSFrameIndex. llvm-svn: 270492
* Add the printing the Mach-O (__LLVM,__bundle) xar archive file section ↵Kevin Enderby2016-05-238-0/+457
| | | | | | | | | | | | | "verbosely" to llvm-objdump. This section is created with -fembed-bitcode option. This requires the use of libxar and the Cmake and lit support were crafted by Chris Bieneman! rdar://26202242 llvm-svn: 270491
* [X86][SSE] Use shuffle/sext instead of deprecated (+ auto-upgraded) pmovsxwd ↵Simon Pilgrim2016-05-231-5/+4
| | | | | | intrinsic call llvm-svn: 270489
* [Kaleidoscope] Add an initial "Building an ORC JIT" tutorial chapter.Lang Hames2016-05-237-0/+1612
| | | | | | | | | This is a work in progress - the chapter text is incomplete, though the example code compiles and runs. Feedback and patches are, as usual, most welcome. llvm-svn: 270487
* [SPARC] Fix 8 and 16-bit atomic load and store.James Y Knight2016-05-233-17/+57
| | | | | | | | | They were accidentally using the 32-bit load/store instruction for 8/16-bit operations, due to incorrect patterns (8/16-bit cmpxchg and atomicrmw will be fixed in subsequent changes) llvm-svn: 270486
* Modify emitTypeInformation to use MemoryTypeTableBuilder, take 2Reid Kleckner2016-05-235-87/+224
| | | | | | | | | | | | | | This effectively revers commit r270389 and re-lands r270106, but it's almost a rewrite. The behavior change in r270106 was that we could no longer assume that each LF_FUNC_ID record got its own type index. This patch adds a map from DINode* to TypeIndex, so we can stop making that assumption. This change also emits padding bytes between type records similar to the way MSVC does. The size of the type record includes the padding bytes. llvm-svn: 270485
* InsertPointAnalysis: Move current live interval from being a class memberWei Mi2016-05-233-24/+22
| | | | | | | | to query interfaces argument; NFC Differential Revision: http://reviews.llvm.org/D20532 llvm-svn: 270481
* tune lowering parameter for small apps (sjeng)Xinliang David Li2016-05-231-2/+3
| | | | llvm-svn: 270480
* [InstCombine] Fix assertion when bitcast is converted to gepGerolf Hoflehner2016-05-232-0/+39
| | | | | | | | | | When an aggregate contains an opaque type its size cannot be determined. This triggers an "Invalid GetElementPtrInst indices for type" assert in function checkGEPType. The fix suppresses the conversion in this case. http://reviews.llvm.org/D20319 llvm-svn: 270479
* [LoopUnroll] Enable advanced unrolling analysis by default.Michael Zolotukhin2016-05-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch turns on LoopUnrollAnalyzer by default. To mitigate compile time regressions, I chose very conservative thresholds for now. Later we can make them more aggressive, but it might require being smarter in which loops we're optimizing. E.g. currently the biggest issue is that with more agressive thresholds we unroll many cold loops, which increases compile time for no performance benefit (performance of those loops is improved, but it doesn't matter since they are cold). Test results for compile time(using 4 samples to reduce noise): ``` MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes 5.19% SingleSource/Benchmarks/Polybench/medley/reg_detect/reg_detect 4.19% MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow 3.39% MultiSource/Applications/JM/lencod/lencod 1.47% MultiSource/Benchmarks/Fhourstones-3_1/fhourstones3_1 -6.06% ``` I didn't see any performance changes in the testsuite, but it improves some internal tests. Reviewers: hfinkel, chandlerc Subscribers: llvm-commits, mzolotukhin Differential Revision: http://reviews.llvm.org/D20482 llvm-svn: 270478
OpenPOWER on IntegriCloud