summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-05-24[codeview, pdb] Dump symbol records in publics streamHEADmasterZachary Turner3-61/+39
Differential Revision: http://reviews.llvm.org/D20580 Reviewed By: ruiu git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270597 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[profile] Fix runtime hook linkage bug for COFFXinliang David Li1-0/+2
Patch by: Johan Engelen the user hook has linkonceODR linkage and it needs to be in comdatAny group. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270596 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[ThinLTO] Fix bot failures by avoiding threaded map modificationsTeresa Johnson1-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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270595 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[AMDGPU][NFC] Rename ReserveTrapVGPRs -> ReserveRegsKonstantin Zhuravlyov7-23/+25
Differential Revision: http://reviews.llvm.org/D20081 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270594 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Fix build errorsZachary Turner1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270587 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Dump symbol record details in llvm-pdbdumpZachary Turner2-8/+15
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270585 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[ThinLTO] Change ODR resolution and internalization to be index-basedTeresa Johnson1-194/+272
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270584 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[IRCE] Return a Value*, not SCEV* from parseRangeCheck; NFCSanjoy Das1-26/+10
This is better layering, since the caller needs to check if the index was an add-rec anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270582 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24fix typos; NFCSanjay Patel1-11/+11
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270579 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Revert r270518, which re-enabled "[LoopUnroll] Enable advanced unrolling ↵Hans Wennborg1-3/+3
analysis by default. Chromium builds are still hitting the assert in PR27874. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270577 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Recommit r270070 ([llvm-mc] - Teach llvm-mc to generate compressed debug ↵George Rimar2-39/+21
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270569 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[ValueTracking, InstSimplify] extend isKnownNonZero() to handle vector constantsSanjay Patel1-1/+14
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270562 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Rework/enhance stack coloring data flow analysis.Than McIntosh1-108/+413
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270559 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug ↵George Rimar3-15/+61
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270557 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[AMDGPU] Assembler: rework parsing of optional operands.Sam Kolton2-282/+86
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270556 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[AMDGPU][llvm-mc] Disassembler: support for TTMP/TBA/TMA registers.Artem Tamazov3-44/+116
Differential Revision: http://reviews.llvm.org/D20476 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270552 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[llvm][AVX512][intrinsics] Fix vperm{b|w|d|q|ps|pd} intrinsics. Index is ↵Igor Breger2-15/+39
second argument to buildin function but it is first instruction operand. Differential Revision: http://reviews.llvm.org/D20515 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270548 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Revert r270543 ("Recommit r270540")George Rimar3-61/+15
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/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270547 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Recommit r270540George Rimar3-15/+61
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270543 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[MIPS][LLVM-MC] Fix Disassemble of Negative OffsetSagar Thakur1-8/+8
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270542 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Revert r270540 "[llvm-dwarfdump] - Teach dwarfdump to decompress debug ↵George Rimar3-61/+15
sections in zlib style." it broked bot: http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/5036 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270541 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.George Rimar3-15/+61
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270540 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[CostModel][X86][XOP] Added XOP costmodel for BITREVERSE Simon Pilgrim2-1/+49
Now that we have a nice fast VPPERM solution. Added framework for future intrinsic costs as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270537 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Revert "Revert r270478 "[LoopUnroll] Enable advanced unrolling analysis by ↵Michael Zolotukhin1-3/+3
default."" This reverts commit r270512 and reapplies r270478. Originally it caused PR27847, but it was fixed in r270517. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270518 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24[LoopUnrollAnalyzer] Fix a crash in UnrolledInstAnalyzer::visitCastInst.Michael Zolotukhin1-1/+6
This fixes PR27847. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270517 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24Remove unused variable.Zachary Turner1-11/+6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270516 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Revert r270478 "[LoopUnroll] Enable advanced unrolling analysis by default."Hans Wennborg1-3/+3
This caused PR27847. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270512 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Make a symbol visitor and use it to dump CV symbols.Zachary Turner3-1/+672
Differential Revision: http://reviews.llvm.org/D20534 Reviewed By: rnk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270511 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[ThinLTO] Refactor module loader handling into new LTO file (NFC)Teresa Johnson3-43/+44
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270509 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[WebAssembly] Basic TargetTransformInfo support for SIMD128.Dan Gohman2-1/+65
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270508 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[IRCE] Optimize "uses" not branches; NFCISanjoy Das1-9/+10
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270500 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Avoid including AlwaysInliner pass in opt-bisect search.Andrew Kaylor2-0/+6
Differential Revision: http://reviews.llvm.org/D19640 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270495 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23PrologEpilogInserter: Avoid an infinite loop when MinCSFrameIndex == 0Justin Bogner1-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270492 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Add the printing the Mach-O (__LLVM,__bundle) xar archive file section ↵Kevin Enderby1-0/+2
"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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270491 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[SPARC] Fix 8 and 16-bit atomic load and store.James Y Knight2-14/+22
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) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270486 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Modify emitTypeInformation to use MemoryTypeTableBuilder, take 2Reid Kleckner2-87/+64
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270485 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23InsertPointAnalysis: Move current live interval from being a class memberWei Mi3-24/+22
to query interfaces argument; NFC Differential Revision: http://reviews.llvm.org/D20532 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270481 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23tune lowering parameter for small apps (sjeng)Xinliang David Li1-2/+3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270480 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[InstCombine] Fix assertion when bitcast is converted to gepGerolf Hoflehner1-0/+7
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270479 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[LoopUnroll] Enable advanced unrolling analysis by default.Michael Zolotukhin1-3/+3
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270478 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Fix DEBUG logs in MachineLICM.Justin Lebar1-7/+5
Summary: MBBs don't necessarily have a name (in my experience, they almost never do), in which case this logging is quite unhelpful. The number seems to work well. Reviewers: iteratee Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20533 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270477 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[codeview] Refactor symbol records to use same pattern as types.Zachary Turner1-11/+11
This will pave the way to introduce a full fledged symbol visitor similar to how we have a type visitor, thus allowing the same dumping code to be used in llvm-readobj and llvm-pdbdump. Differential Revision: http://reviews.llvm.org/D20384 Reviewed By: rnk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270475 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23fix typo; NFCSanjay Patel1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270469 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23use range-loop; NFCISanjay Patel1-4/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270467 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23fix formatting; NFCSanjay Patel1-4/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270465 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[WebAssembly] Speed up LiveIntervals updating.Dan Gohman1-6/+9
Use the more specific LiveInterval::removeSegment instead of LiveInterval::shrinkToUses when we know the specific range that's being removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270463 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[Hexagon] Move some debug-only variable declarations into DEBUGKrzysztof Parzyszek1-19/+21
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270459 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Extract renaming from D19181Amaury Sechet1-7/+2
Summary: This needs to get in before anything is released concerning attribute. If the old name gets in the wild, then we are stuck with it forever. Putting it in its own diff should getting that part at least in fast. Reviewers: Wallbraker, whitequark, joker.eph, echristo, rafael, jyknight Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D20417 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270452 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23Removing a switch statement that contains only a default label; NFC.Aaron Ballman1-3/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270444 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[BPF] Remove exit-on-error flag in test (PR27766)Diana Picus2-4/+10
The exit-on-error flag on the many_args1.ll test is needed to avoid an unreachable in BPFTargetLowering::LowerCall. We can also avoid it by ignoring any superfluous arguments to the call (i.e. any arguments after the first 5). Fixes PR27766. Differential Revision: http://reviews.llvm.org/D20471 v2 of r270419 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270440 91177308-0d34-0410-b5e6-96231b3b80d8