summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [ThinLTO] Fix bot failures by avoiding threaded map modificationsTeresa Johnson2016-05-241-3/+5
| | | | | | | | Ensure multiple threads won't have to modify map, probable cause of bot failures from r270584 such as: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/13095 llvm-svn: 270595
* [AMDGPU][NFC] Rename ReserveTrapVGPRs -> ReserveRegsKonstantin Zhuravlyov2016-05-248-26/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D20081 llvm-svn: 270594
* Fix build errorsZachary Turner2016-05-241-2/+2
| | | | llvm-svn: 270587
* [InstCombine] Clean up and FileCheckize test case.Chad Rosier2016-05-241-61/+74
| | | | llvm-svn: 270586
* Dump symbol record details in llvm-pdbdumpZachary Turner2016-05-249-149/+262
| | | | | | | | | | | | | This makes use of the newly introduced `CVSymbolVisitor` to dump details of each type of symbol record in the symbol streams. Future patches will bring this visitor based dumping to the publics stream, as well as creating a `SymbolDumpDelegate` to print more information about relocations etc. Differential Revision: http://reviews.llvm.org/D20545 Reviewed By: ruiu llvm-svn: 270585
* [ThinLTO] Change ODR resolution and internalization to be index-basedTeresa Johnson2016-05-243-196/+289
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch changes the ODR resolution and internalization to be based on updates to the Index, which are consumed by the backend portion of the transformations. It will be followed by an NFC change to move these out of libLTO's ThinLTOCodeGenerator so that it can be used by other linkers (gold and lld) and by ThinLTO distributed backends. The global summary-based portions use callbacks so that the client can determine the prevailing copy and other information in a client-specific way. Eventually, with the API being developed in D20268, these may be modified to use information such as symbol resolutions, supplied by the clients to the API. Reviewers: joker-eph Subscribers: joker.eph, pcc, llvm-commits Differential Revision: http://reviews.llvm.org/D20290 llvm-svn: 270584
* [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
OpenPOWER on IntegriCloud