summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [mips] Don't derive the default ABI from the CPU in the backend.Daniel Sanders2016-06-2333-95/+70
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The backend has no reason to behave like a driver and should generally do as it's told (and error out if it can't) instead of trying to figure out what the API user meant. The default ABI is still derived from the arch component as a concession to backwards compatibility. API-users that previously passed an explicit CPU and a triple that was inconsistent with the CPU (e.g. mips-linux-gnu and mips64r2) may get a different ABI to what they got before. However, it's expected that there are no such users on the basis that CodeGen has been asserting that the triple is consistent with the selected ABI for several releases. API-users that were consistent or passed '' or 'generic' as the CPU will see no difference. Reviewers: sdardis, rafael Subscribers: rafael, dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D21466 llvm-svn: 273557
* [ARM] Use member initializers in ARMSubtarget. NFCIDiana Picus2016-06-231-66/+22
| | | | | | | | | Move most of the initializations in ARMSubtarget::initializeEnvironment to member initializers. Change suggested by Matthias Braun (see http://reviews.llvm.org/D21432). llvm-svn: 273556
* [mips][ias] Integers are not registers.Daniel Sanders2016-06-232-6/+30
| | | | | | | | | | | | | | | | | | | Summary: When parseAnyRegister() encounters a symbol alias, it parses integers and adds a corresponding expression to the operand list. This is clearly wrong since the only operands that parseAnyRegister() should be accepting are registers. It's not clear why this code was added and there are no test cases that cover it. I think it might be leftover from when searchSymbolAlias() was more widely used. Reviewers: sdardis Subscribers: dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D21377 llvm-svn: 273555
* [llc] Remove exit-on-error flag (PR27759)Diana Picus2016-06-231-12/+4
| | | | | | | | | | | | | This flag was introduced in r269655 with the new diagnostic handler for llc. Its purpose was to keep the old behavior for some of the tests that didn't recover well after an error. Those tests have been fixed, so now it's safe to remove the flag entirely. Fixes PR27759. Differential Revision: http://reviews.llvm.org/D21368 llvm-svn: 273554
* clang-format: [Proto] Use more compact format for text-formatted optionsDaniel Jasper2016-06-232-8/+5
| | | | | | | | | | | | | | | | | Before: enum Type { UNKNOWN = 0 [(some_options) = { a: aa, b: bb }]; }; After: enum Type { UNKNOWN = 0 [(some_options) = {a: aa, b: bb}]; }; llvm-svn: 273553
* Attempt to fix MIPS buildbots after r273425.Daniel Sanders2016-06-231-2/+2
| | | | | | MIPS has a 'signext' attribute that was causing the check to fail. llvm-svn: 273552
* [misched] Extend scheduler to handle unsupported featuresSimon Dardis2016-06-233-1/+53
| | | | | | | | | | | | | | | | | | | | | | | Currently isComplete = 1 requires that every instruction must be described, declared unsupported or marked as having no scheduling information for a processor. For some backends such as MIPS, this requirement entails long regex lists of instructions that are unsupported. This patch teaches Tablegen to skip over instructions that are associated with unsupported feature when checking if the scheduling model is complete. Patch by: Daniel Sanders Contributions by: Simon Dardis Reviewers: MatzeB Differential Reviewer: http://reviews.llvm.org/D20522 llvm-svn: 273551
* [AMDGPU] Remove exit-on-error in test (PR27761)Diana Picus2016-06-235-8/+12
| | | | | | | | | | | | | | | | | The exit-on-error flag was necessary in order to avoid an assertion when handling DYNAMIC_STACKALLOC nodes in SelectionDAGLegalize. We can avoid the assertion by creating some dummy nodes. This enables us to remove the exit-on-error flag on the first 2 run lines (SI), but on the third run line (R600) we would run into another assertion when trying to reserve indirect registers. This patch also replaces that assertion with an early exit from the function. Fixes PR27761. Differential Revision: http://reviews.llvm.org/D20852 llvm-svn: 273550
* [mips] Fix dext/dins definitionsSimon Dardis2016-06-232-6/+14
| | | | | | | | | | | dext and dins, along with their 'm' and 'u' variants are defined in mips64r2, not mips64. Reviewers: dsanders, vkalintiris Differential Review: http://reviews.llvm.org/D21608 llvm-svn: 273549
* Rearrange condition handling so that semantic checks on a condition variableRichard Smith2016-06-2316-374/+294
| | | | | | | | | are performed before the other substatements of the construct are parsed, rather than deferring them until the end. This allows better error recovery from semantic errors in the condition, improves diagnostic order, and is a prerequisite for C++17 constexpr if. llvm-svn: 273548
* Add MemoryRegionInfo to SB APIHoward Hellyer2016-06-2313-0/+587
| | | | | | | | | | | | | | | | | | | Summary: This adds new SB API calls and classes to allow a user of the SB API to obtain a full list of memory regions accessible within the process. Adding this to the API makes it possible use the API for tasks like scanning memory for blocks allocated with a header and footer to track down memory leaks, otherwise just inspecting every address is impractical especially for 64 bit processes. These changes only add the API itself and a base implementation of GetMemoryRegions() to lldb_private::Process::GetMemoryRegions. I will submit separate patches to fill in lldb_private::Process::GetMemoryRegionInfoList and GetMemoryRegionInfo for individual platforms. The original discussion about this is here: http://lists.llvm.org/pipermail/lldb-dev/2016-May/010203.html Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20565 llvm-svn: 273547
* Test commit to verify access, fix typo.Howard Hellyer2016-06-231-1/+1
| | | | llvm-svn: 273546
* [IfConversion] Bugfix: Don't use undef flag while adding use operands.Jonas Paulsson2016-06-231-3/+16
| | | | | | | | | | | | | | | IfConversion used to always add the undef flag when adding a use operand on a newly predicated instruction. This would be an operand for the register being conditionally redefined. Due to the undef flag, the liveness of this register prior to the predicated instruction would get lost. This patch changes this so that such use operands are added only when the register is live, without the undef flag. Reviewed by Quentin Colombet. http://reviews.llvm.org/D209077 llvm-svn: 273545
* [ARM] Do not test for CPUs, use SubtargetFeatures (Part 1). NFCIDiana Picus2016-06-236-25/+91
| | | | | | | | | | | | | This is a cleanup commit similar to r271555, but for ARM. The end goal is to get rid of the isSwift / isCortexXY / isWhatever methods. Since the ARM backend seems to have quite a lot of calls to these methods, I intend to submit 5-6 subtarget features at a time, instead of one big lump. Differential Revision: http://reviews.llvm.org/D21432 llvm-svn: 273544
* [AVX512] Remove masked unpack intrinsics and autoupgrade to vectorshuffle ↵Craig Topper2016-06-2313-963/+713
| | | | | | and selects. llvm-svn: 273543
* [X86] Add assert to ensure only 128-bit vector types are used. 256 or ↵Craig Topper2016-06-231-0/+2
| | | | | | 512-bit would require lane handling which is missing. llvm-svn: 273542
* [modules] Good ol' JIT is gone.Vassil Vassilev2016-06-231-1/+0
| | | | llvm-svn: 273541
* Add missing include. Should fix modules builds.Vassil Vassilev2016-06-231-0/+1
| | | | llvm-svn: 273540
* [ELF] - Reorder expressions in parseVersionSymbols()'s loop. NFC.George Rimar2016-06-231-2/+2
| | | | llvm-svn: 273539
* Revert r273427 "[ELF] - Simplify loop in parseVersionSymbols(). NFC."George Rimar2016-06-231-2/+4
| | | | llvm-svn: 273538
* Attempt to fix Windows buildbots.Rui Ueyama2016-06-231-2/+2
| | | | llvm-svn: 273537
* Implement --trace-symbol=symbol option.Rui Ueyama2016-06-2310-0/+143
| | | | | | | | | | | | | | | Patch by Shridhar Joshi. This option provides names of all the link time modules which define and reference symbols requested by user. This helps to speed up application development by detecting references causing undefined symbols. It also helps in detecting symbols being resolved to wrong (unintended) definitions in case of applications containing multiple definitions for same symbols with different types, bindings. Implements PR28226. llvm-svn: 273536
* [LLDB][MIPS] Fix Emulation of Compact branch and ADDIU instructionsSagar Thakur2016-06-232-32/+33
| | | | | | | | | | | | | | Patch by Nitesh Jain. This patch contains 2 changes: - Corrected target address calculation of compact branch instructions to reflect changes in disassembler (http://reviews.llvm.org/D17540). - Added emulation for (missing) 'Addiu' instruction. Reviewers :jaydeep, bhushan, clayborg Differential: http://reviews.llvm.org/D21064 llvm-svn: 273535
* [LLVM][MIPS] Introduce 64 bit atomic check in CheckAtomic.cmakeSagar Thakur2016-06-231-0/+37
| | | | | | | | | | Patch by Nitesh Jain. Summary: On some target like MIPS32 we need to explicitly link atomic library for 64 bit atomic operations. This module then can be used in LLDB (http://reviews.llvm.org/D20464) or Libcxx (http://reviews.llvm.org/D16613) for explicitly link to atomic library. Reviewers: chandlerc, beanz Differential: reviews.llvm.org/D20896 llvm-svn: 273534
* [AVX512] Replace masked unpack builtins with shufflevector and selects.Craig Topper2016-06-239-666/+618
| | | | llvm-svn: 273533
* Fix a bug that MIPS thunks can overwrite other section contents.Rui Ueyama2016-06-238-77/+174
| | | | | | | | | | | | | | | Peter Smith found while trying to support thunk creation for ARM that LLD sometimes creates broken thunks for MIPS. The cause of the bug is that we assign file offsets to input sections too early. We need to create all sections and then assign section offsets because appending thunks changes file offsets for all following sections. This patch separates the pass to assign file offsets from thunk creation pass. This effectively reverts r265673. Differential Revision: http://reviews.llvm.org/D21598 llvm-svn: 273532
* Revert r273524, it may have been the cause of a linux testbot failureJason Molenda2016-06-2321-32/+32
| | | | | | | | for TestNamespaceLookup.py; didn't see anything obviously wrong so I'll need to look at this more closely before re-committing. (passed OK on macOS ;) llvm-svn: 273531
* Fix doubly included headerMatt Arsenault2016-06-231-1/+0
| | | | llvm-svn: 273528
* [libFuzzer] Add standard license info and comment header to AFLDriverTest.cppVitaly Buka2016-06-231-0/+4
| | | | | | | | | | | | Summary: Add license info and brief description of file to AFLDriverTest.cpp. Reviewers: kcc, aizatsky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21487 llvm-svn: 273527
* Use C++ comments for large block comment.Eric Christopher2016-06-231-16/+17
| | | | llvm-svn: 273526
* AMDGPU: readlane/writelane do not read execMatt Arsenault2016-06-232-2/+26
| | | | llvm-svn: 273525
* Do some minor renames of "Mac OS X" to "macOS".Jason Molenda2016-06-2321-32/+32
| | | | | | | | | There's uses of "macosx" that will be more tricky to change, like in triples (e.g. "x86_64-apple-macosx10.11") - for now I'm just updating source comments and strings printed for humans. llvm-svn: 273524
* Fix unused variable warning by folding the temporary into the debug statement.Eric Christopher2016-06-231-2/+2
| | | | llvm-svn: 273523
* Use ranges to concisely express iterationDavid Majnemer2016-06-2318-184/+123
| | | | | | | No functional change is intended, this should just clean things up a little. llvm-svn: 273522
* [SCCP] Don't assume all Constants are ConstantIntDavid Majnemer2016-06-232-8/+18
| | | | | | This fixes PR28269. llvm-svn: 273521
* [ADT] Add a range variant of std::transformDavid Majnemer2016-06-231-0/+8
| | | | | | This will be used in a followup change in clang. llvm-svn: 273520
* [IRObjectFile] Try to be defensive, add a break.Davide Italiano2016-06-231-0/+1
| | | | | | Suggested by Sean Silva. llvm-svn: 273519
* Revert r273456, "Preserve DebugInfo when replacing values in DAGCombiner" as ↵Peter Collingbourne2016-06-238-34/+15
| | | | | | it caused pr28270. llvm-svn: 273518
* [llvm-cov] Fix a buggy lit testVedant Kumar2016-06-221-1/+1
| | | | | | | There is no check prefix for "WHOLE-FILE": this particular line was supposed to use the "ALL" prefix. llvm-svn: 273517
* [codeview] Add EFLAGS to the list of CodeView register numbersReid Kleckner2016-06-221-1/+3
| | | | llvm-svn: 273516
* AMDGPU: Fix liveness when expanding m0 loopMatt Arsenault2016-06-223-25/+89
| | | | llvm-svn: 273514
* [RS4GC] Use StringRef; NFCSanjoy Das2016-06-221-4/+3
| | | | | | Spotted during random inspection. llvm-svn: 273512
* Change that to include MCMachObjectWriter.hReid Kleckner2016-06-221-1/+1
| | | | llvm-svn: 273511
* Add one more missing MCObjectWriter.h includeReid Kleckner2016-06-221-0/+1
| | | | llvm-svn: 273510
* Fix instance of -Wdelete-incompleteReid Kleckner2016-06-221-0/+1
| | | | llvm-svn: 273508
* Prune some includes from headers and sink some inline functionsReid Kleckner2016-06-2210-23/+37
| | | | | | | | MCSymbol.h shouldn't pull in MCAssembler.h, just MCFragment.h. MCLinkerOptimizationHint.h shouldn't need MCMachObjectWriter.h. The rest is fixing the fallout. llvm-svn: 273507
* [PM]: LoopAccessInfo simple refactoringXinliang David Li2016-06-222-29/+31
| | | | | | | To make definition of mov ctors easier. Differential Revision: http://reviews.llvm.org/D21563 llvm-svn: 273506
* [CMake] Converting darwin_test_archs simple source to CChris Bieneman2016-06-221-3/+3
| | | | | | Using C instead of CXX here removes a configuration-time dependency on libcxx for the sanitizers. This should be NFC. llvm-svn: 273505
* [pdb] Treat a stream size of ~0U as 0Reid Kleckner2016-06-221-2/+4
| | | | | | My PDBs always have this size for stream 11. Not sure why. llvm-svn: 273504
* [MachO] Finish moving fat header swap functions to MachO.hChris Bieneman2016-06-222-29/+9
| | | | | | | | This is a follow-up to r273479. At the time I wrote r273479 I didn't connect the dots that the functions I was adding had to exist somewhere. Turns out, they do. This finishes moving the functions to MachO.h. Existing MachO fat header tests like test/tools/llvm-readobj/Inputs/macho-universal-archive.x86_64.i386 execute this code. llvm-svn: 273502
OpenPOWER on IntegriCloud