summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* ThinLTOCodeGenerator: handle cases where temporary files can't be renamedMehdi Amini2016-05-141-2/+6
| | | | | | | For instance when they're on different filesystem. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269544
* ThinLTOCodeGenerator: handle std::error_code instead of silently dropping it.Mehdi Amini2016-05-141-1/+5
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269541
* StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against ↵Mehdi Amini2016-05-141-9/+2
| | | | | | | | | | llvm.dbg.* (NFC) Suggested by Adrian. This is NFC right now but is more clean and robust against future potential new debug info intrinsics. From: mehdi_amini <mehdi_amini@91177308-0d34-0410-b5e6-96231b3b80d8> llvm-svn: 269540
* Revert "StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching ↵Mehdi Amini2016-05-141-2/+9
| | | | | | | | | against llvm.dbg.* (NFC)" This reverts commit r269537, was not ready to be commited and went through by mistake From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269539
* StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against ↵Mehdi Amini2016-05-141-9/+2
| | | | | | | | | | llvm.dbg.* (NFC) Suggested by Adrian. This is NFC right now but is more clean and robust against future potential new debug info intrinsics. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 269537
* [WebAssembly] Fix legalization of i128 shifts.Dan Gohman2016-05-141-9/+4
| | | | | | | | compiler-rt/libgcc shift routines expect the shift count to be an i32, so use i32 as the shift count for shifts that are legalized to libcalls. This also reverts r268991, now that the signatures are correct. llvm-svn: 269531
* [AVX512] Fix types for pshufd intrinsics. The immediate is the second ↵Craig Topper2016-05-141-3/+3
| | | | | | | | argument and the mask is the 4th argument. Also move the 128/256 tests to the right test file. Prior to this the immediate was a strange 16-bits and the 512-bit intrinsic couldn't receive the full 16 mask bits it needs. llvm-svn: 269526
* [WebAssembly] Update expected torture test failuresDerek Schuff2016-05-141-2/+2
| | | | | | NFC; the waterfall just changed the way they are built. llvm-svn: 269523
* [codeview] Add type stream merging prototypeReid Kleckner2016-05-147-88/+504
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This code is intended to be used as part of LLD's PDB writing. Until that exists, this is exposed via llvm-readobj for testing purposes. Type stream merging uses the following algorithm: - Begin with a new empty stream, and a new empty hash table that maps from type record contents to new type index. - For each new type stream, maintain a map from source type index to destination type index. - For each record, copy it and rewrite its type indices to be valid in the destination type stream. - If the new type record is not already present in the destination stream hash table, append it to the destination type stream, assign it the next type index, and update the two hash tables. - If the type record already exists in the destination stream, discard it and update the type index map to forward the source type index to the existing destination type index. Reviewers: zturner, ruiu Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20122 llvm-svn: 269521
* SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISelJustin Bogner2016-05-136-62/+54
| | | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. - Where we were calling SelectNodeTo, just return afterwards. Part of llvm.org/pr26808. llvm-svn: 269519
* [MSan] [PowerPC] Implement PowerPC64 vararg helper.Marcin Koscielnicki2016-05-131-0/+161
| | | | | | Differential Revision: http://reviews.llvm.org/D20000 llvm-svn: 269518
* SDAG: Clean up a dead node I missed earlier in X86Justin Bogner2016-05-131-1/+1
| | | | | | H.J. Lu pointed out that I missed this in r269236. Thanks! llvm-svn: 269516
* [AArch64] Simplify logic to reduce vertical space. NFC.Chad Rosier2016-05-131-6/+2
| | | | llvm-svn: 269512
* [PM] Port LowerAtomic to the new pass manager.Davide Italiano2016-05-134-42/+58
| | | | llvm-svn: 269511
* SDAG: Implement Select instead of SelectImpl in XCoreDAGToDAGISelJustin Bogner2016-05-131-28/+38
| | | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. - Where we were calling SelectNodeTo, just return afterwards. Part of llvm.org/pr26808. llvm-svn: 269509
* [LAA] Include MaxSafeDepDistBytes in the analysis print-outAdam Nemet2016-05-131-0/+3
| | | | llvm-svn: 269508
* [LAA] Prepare the code to print more things in the summary. NFCAdam Nemet2016-05-131-3/+3
| | | | llvm-svn: 269507
* SDAG: Implement Select instead of SelectImpl in WebAssemblyDAGToDAGISelJustin Bogner2016-05-131-14/+4
| | | | | | | | | This backend doesn't do anything custom here yet, so we just modernize the boilerplate. Part of llvm.org/pr26808. llvm-svn: 269506
* SDAG: Implement Select instead of SelectImpl in SystemZDAGToDAGISelJustin Bogner2016-05-131-56/+56
| | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. Part of llvm.org/pr26808. llvm-svn: 269505
* [libFuzzer] do the merge faster and a bit less preciseKostya Serebryany2016-05-131-1/+2
| | | | llvm-svn: 269497
* use 'match' for less indenting; NFCISanjay Patel2016-05-131-21/+20
| | | | llvm-svn: 269494
* Retry "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC"Vedant Kumar2016-05-137-325/+351
| | | | | | | | | | | | | | Transition InstrProf and Coverage over to the stricter Error/Expected interface. Changes since the initial commit: - Fix error message printing in llvm-profdata. - Check errors in loadTestingFormat() + annotateAllFunctions(). - Defer error handling in InstrProfIterator to InstrProfReader. Differential Revision: http://reviews.llvm.org/D19901 llvm-svn: 269491
* SDAG: Implement Select instead of SelectImpl in SparcDAGToDAGISelJustin Bogner2016-05-131-16/+17
| | | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. - Where we were calling SelectNodeTo, just return afterwards. Part of llvm.org/pr26808. llvm-svn: 269490
* Revert "Revert "[Unroll] Implement a conservative and monotonically ↵Michael Zolotukhin2016-05-132-13/+188
| | | | | | | | | | increasing cost tracking system during the full unroll heuristic analysis that avoids counting any instruction cost until that instruction becomes "live" through a side-effect or use outside the..."" This reverts commit r269395. Try to reapply with a fix from chapuni. llvm-svn: 269486
* pdbdump: Print "Publics" stream.Rui Ueyama2016-05-134-11/+163
| | | | | | | | | | | | | | | | Publics stream seems to contain information as to public symbols. It actually contains a serialized hash table along with fixed-sized headers. This patch is not complete. It scans only till the end of the stream and dump the header information. I'll write code to de-serialize the hash table later. Reviewers: zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20256 llvm-svn: 269484
* SDAG: Implement Select instead of SelectImpl in NVPTXDAGToDAGISelJustin Bogner2016-05-132-213/+236
| | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. Part of llvm.org/pr26808. llvm-svn: 269483
* Correct spelling in comment (NFC)Matthew Simpson2016-05-131-1/+1
| | | | llvm-svn: 269482
* AMDGPU: Unify LowerGlobalAddressJan Vesely2016-05-133-18/+5
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19794 llvm-svn: 269481
* AMDGPU/R600: Fold global address operandJan Vesely2016-05-131-0/+7
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19793 llvm-svn: 269480
* AMDGPU/R600: Implement memory loads from constant ASJan Vesely2016-05-134-56/+33
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19792 llvm-svn: 269479
* AMDGPU/R600: Add support for emitting MCExprJan Vesely2016-05-132-1/+19
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19791 llvm-svn: 269478
* AMDGPU: Add support for MCExpr to instruction printerJan Vesely2016-05-132-3/+10
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19790 llvm-svn: 269477
* AMDGPU/R600: Use machine operands instead of ints to track literalsJan Vesely2016-05-131-19/+36
| | | | | | | | | | | | This will be used for global addresses Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19789 llvm-svn: 269476
* AMDGPU/R600: There are other uses for ALU_LITERAL besides ImmJan Vesely2016-05-131-3/+6
| | | | | | | | | | | | This will be used for GV Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19788 llvm-svn: 269475
* AMDGPU: Make CONST_DATA_PTR available to R600Jan Vesely2016-05-133-6/+6
| | | | | | | | | | | | Rename to AMDGPUconstdata_ptr Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19786 llvm-svn: 269474
* AMDGPU/EG,CM: Add instruction to read from constant AS (VTX2)Jan Vesely2016-05-133-1/+53
| | | | | | | | | | Reviewers: tstellard Subscribers: arsenm Differential Revision: http://reviews.llvm.org/D19785 llvm-svn: 269473
* use range-loops; NFCISanjay Patel2016-05-131-7/+7
| | | | llvm-svn: 269471
* Revert "(HEAD -> master, origin/master, origin/HEAD) [ProfileData] (llvm) ↵Vedant Kumar2016-05-137-350/+324
| | | | | | | | Use Error in InstrProf and Coverage, NFC" This reverts commit r269462. It fails two llvm-profdata tests. llvm-svn: 269466
* [ProfileData] (llvm) Use Error in InstrProf and Coverage, NFCVedant Kumar2016-05-137-324/+350
| | | | | | | | | Transition InstrProf and Coverage over to the stricter Error/Expected interface. Differential Revision: http://reviews.llvm.org/D19901 llvm-svn: 269462
* [codeview] Align class and print names of typesReid Kleckner2016-05-136-87/+81
| | | | | | | | | | | | Summary: This way we can get rid of one of the fields in the .def file. Reviewers: llvm-commits Subscribers: zturner Differential Revision: http://reviews.llvm.org/D20251 llvm-svn: 269461
* ARM: use callee-saved list in the order they're actually saved.Tim Northover2016-05-135-11/+29
| | | | | | | | | When setting the frame pointer, the offset from SP is calculated based on the stack slot it gets allocated, but this slot is in turn based on the order of the CSR list so that list should match the order we actually save the registers in. Mostly it did, but in the edge-case of MachO AAPCS targets it was wrong. llvm-svn: 269459
* [Hexagon] Remove dead nodes from SelectionDAG to avoid cyclesKrzysztof Parzyszek2016-05-131-1/+2
| | | | | | | | Recent changes to the instruction selection code exposed a problem where a dead node was not removed on time. This node had both input and output chains, which lead to an apparent cycle. llvm-svn: 269458
* Rename getLargestLegalIntTypeSize to getLargestLegalIntTypeSizeInBits(). NFC.Jun Bum Lim2016-05-135-5/+5
| | | | | | | | | | | | Summary: Rename DataLayout::getLargestLegalIntTypeSize to DataLayout::getLargestLegalIntTypeSizeInBits() to prevent similar mistakes fixed in r269433. Reviewers: joker.eph, mcrosier Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20248 llvm-svn: 269456
* [AMDGPU] Update nop insertion for debugger usageKonstantin Zhuravlyov2016-05-132-36/+15
| | | | | | | | | - Insert one nop for each high level statement instead of two - Do not insert nop before prologue Differential Revision: http://reviews.llvm.org/D20215 llvm-svn: 269452
* [libFuzzer] print the file name before executing the input so that if there ↵Kostya Serebryany2016-05-132-3/+4
| | | | | | is a crash we know which files has caused it llvm-svn: 269450
* [libFuzzer] simplify FuzzerInterface.hKostya Serebryany2016-05-136-79/+43
| | | | llvm-svn: 269448
* add support for -print-imm-hex for AArch64Paul Osmialowski2016-05-133-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | Most immediates are printed in Aarch64InstPrinter using 'formatImm' macro, but not all of them. Implementation contains following rules: - floating point immediates are always printed as decimal - signed integer immediates are printed depends on flag settings (for negative values 'formatImm' macro prints the value as i.e -0x01 which may be convenient when imm is an address or offset) - logical immediates are always printed as hex - the 64-bit immediate for advSIMD, encoded in "a:b:c:d:e:f:g:h" is always printed as hex - the 64-bit immedaite in exception generation instructions like: brk, dcps1, dcps2, dcps3, hlt, hvc, smc, svc is always printed as hex - the rest of immediates is printed depends on availability of -print-imm-hex Signed-off-by: Maciej Gabka <maciej.gabka@arm.com> Signed-off-by: Paul Osmialowski <pawel.osmialowski@arm.com> Differential Revision: http://reviews.llvm.org/D16929 llvm-svn: 269446
* [EarlyCSE] Change key type of AvailableCalls to Instruction*. NFCI.Geoff Berry2016-05-131-3/+4
| | | | llvm-svn: 269445
* [codeview] Dump the type index on the first line of each recordReid Kleckner2016-05-131-2/+2
| | | | | | This will make it easier to write FileCheck tests. llvm-svn: 269444
* [obj2yaml] [yaml2obj] Basic support for MachO::load_commandChris Bieneman2016-05-131-0/+11
| | | | | | | | This patch adds basic support for MachO::load_command. Load command types and sizes are encoded in the YAML and expanded back into MachO. The YAML doesn't yet support load command structs, that is coming next. In the meantime as a temporary measure when writing MachO files the load commands are padded with zeros so that the generated binary is valid. llvm-svn: 269442
OpenPOWER on IntegriCloud