summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [bugpoint] Report non-existent opt binaryVedant Kumar2018-02-092-0/+6
| | | | | | | | Bugpoint will keep going even if the opt binary it's given doesn't exist. It should at least alert the user, so it's clear why reductions are failing. llvm-svn: 324713
* [AMDGPU] More descriptive names in the memory legalizerStanislav Mekhanoshin2018-02-091-19/+20
| | | | | | | | NFC. Differential Revision: https://reviews.llvm.org/D43054 llvm-svn: 324712
* LTO: Include live bit in ThinLTO cache key.Peter Collingbourne2018-02-092-0/+19
| | | | | | | | | | As of r323633, this bit started controlling whether symbol definitions appear in object files, and it also became sensitive to the prevailing bit, so it needs to be included in the key. Differential Revision: https://reviews.llvm.org/D43109 llvm-svn: 324711
* [X86] Simplify some code in lowerV4X128VectorShuffle and ↵Craig Topper2018-02-092-59/+60
| | | | | | | | lowerV2X128VectorShuffle Previously we extracted two subvectors and concatenate. But the concatenate will be lowered to two insert subvectors. Then DAG combine will merge once of the inserts and one of the extracts back into the original vector. We might as well just directly use one extract and one insert. llvm-svn: 324710
* [X86] Teach shuffle lowering to recognize 128/256 bit insertions into a zero ↵Craig Topper2018-02-095-33/+51
| | | | | | | | vector. This regresses a couple cases in the shuffle combining test. But those cases use intrinsics that InstCombine knows how to turn into a generic shuffle earlier. This should give opportunities to fold this earlier in InstCombine or DAG combine. llvm-svn: 324709
* [X86] Add 512-bit shuffle test cases for concatenating 128/256-bits with ↵Craig Topper2018-02-091-0/+34
| | | | | | | | zeros in the upper portion. We should recognize this and just use a mov that will zero the upper bits. llvm-svn: 324708
* [SymbolFilePDB] Add support for function symbolsAaron Smith2018-02-097-21/+872
| | | | | | | | | | | | | | | | | | | | | | | Summary: This is combination of following changes, - Resolve function symbols in PDB symbol file. `lldb-test symbols` will display information about function symbols. - Implement SymbolFilePDB::FindFunctions methods. On lldb console, searching function symbol by name and by regular expression are both available. - Create lldb type for PDBSymbolFunc. - Add tests to check whether functions with the same name but from different sources can be resolved correctly. Reviewers: zturner, lldb-commits Reviewed By: zturner Subscribers: amccarth, labath, llvm-commits Differential Revision: https://reviews.llvm.org/D42443 llvm-svn: 324707
* [lit] Pass CLANG env var to testing configurationVictor Leschuk2018-02-091-1/+1
| | | | | | | | Allow CLANG environment variable be copied into the testing configuration and proper support testing with a custom path to the clang executable. Signed-off-by: Vladimir Vereschaka <vvereschaka@accesssoftek.com> llvm-svn: 324706
* [bugpoint] Simplify reducers which can fail verification, NFCVedant Kumar2018-02-092-47/+41
| | | | | | More unique_ptr-ification, ranged for loops, etc. llvm-svn: 324705
* [bugpoint] Delete a dead cl::opt (-child-output)Vedant Kumar2018-02-091-3/+0
| | | | | | This option isn't used anywhere, as far as I can tell. llvm-svn: 324704
* [bugpoint] Avoid noisy errors by passing a valid opt to testsVedant Kumar2018-02-097-9/+9
| | | | | | | If the tests don't use the in-tree opt, we're liable to see some silly error messages due to the version mismatch (missing flags, etc). llvm-svn: 324703
* DebugInfo/llvm-symbolizer: Test symbolizing Split DWARF without addresses in ↵David Blaikie2018-02-093-0/+20
| | | | | | | | | the skeleton CU Identified in an llvm-dev discussion around DWARFUnit::collectAddressRanges llvm-svn: 324702
* AST: support ObjC lifetime qualifiers in MS ABISaleem Abdulrasool2018-02-093-39/+126
| | | | | | | | | | | | | | | Adjust the ObjC protocol conformance workaround to be more extensible. Use a synthetic type for the protocol (`struct Protocol`). Embed this within a reserved namespace to permit extending the extended pointer type qualifiers similarly for ObjC lifetime qualifiers. Introduce additional special handling for `__autoreleasing`, `__strong`, and `__weak` Objective C lifetime qualifiers. We decorate these by creating an artificial template type `Autoreleasing`, `Strong`, or `Weak` in the `__ObjC` namespace. These are only considered in the template type specialization and not the function parameter. llvm-svn: 324701
* [ORC] Remove Layer handles from the layer concept.Lang Hames2018-02-0919-410/+313
| | | | | | | | | Handles were returned by addModule and used as keys for removeModule, findSymbolIn, and emitAndFinalize. Their job is now subsumed by VModuleKeys, which simplify resource management by providing a consistent handle across all layers. llvm-svn: 324700
* Make test changes added in r324584 more robust by using a regex instead of ↵Douglas Yung2018-02-096-66/+66
| | | | | | hard coded MCInst numbers. llvm-svn: 324699
* Remove redundant semicolon.Rui Ueyama2018-02-091-1/+1
| | | | llvm-svn: 324698
* [CFG] Squash an unused variable introduced in r324668.Artem Dergachev2018-02-091-1/+1
| | | | | | Found by -Werror buildbot. llvm-svn: 324697
* [GISel]: Verify COPIES involving generic registers.Aditya Nandakumar2018-02-099-12/+108
| | | | | | | | | | | | Add verification for copies involving generic registers if they are compatible - ie if it is a generic copy, then the types are the same, and if a COPY b/w generic and target virtual register, then the sizes should be the same. Only checks if there are no sub registers involved for now. https://reviews.llvm.org/D37775 llvm-svn: 324696
* [modules] Fix incorrect diagnostic mapping computation when a module changesRichard Smith2018-02-098-13/+159
| | | | | | | | | | | | | | | diagnostic settings using _Pragma within a macro. The AST writer had previously been assuming that all diagnostic state transitions would occur within a FileID corresponding to a file. When a diagnostic state change occured within a macro, it was unable to form a location for that state change and would instead corrupt the diagnostic state of the "root" node (and thus that of the main compilation). Also introduce a "#pragma clang __debug diag_mapping" debugging utility that I added to track this issue down. llvm-svn: 324695
* [CodeGen] Unify the syntax of MBB liveins in MIR and -debug outputFrancis Visoiu Mistrih2018-02-093-13/+20
| | | | | | | | | | | Instead of: Live Ins: %r0 %r1 print: liveins: %r0, %r1 llvm-svn: 324694
* [x86] Add test cases to demonstrate some dumb mask->gpr->mask transition ↵Craig Topper2018-02-092-0/+112
| | | | | | sequences. llvm-svn: 324693
* Rename confusing variable names in a test.Rui Ueyama2018-02-091-9/+9
| | | | | | "%tar" looks like a tar archive, but it's actually an .a archive. llvm-svn: 324692
* [hwasan] Fix kernel instrumentation of stack.Evgeniy Stepanov2018-02-092-3/+50
| | | | | | | | | | | | | | | Summary: Kernel addresses have 0xFF in the most significant byte. A tag can not be pushed there with OR (tag << 56); use AND ((tag << 56) | 0x00FF..FF) instead. Reviewers: kcc, andreyknvl Subscribers: srhines, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D42941 llvm-svn: 324691
* [CodeGen] Don't compute BranchProbability for MBB::printFrancis Visoiu Mistrih2018-02-091-15/+19
| | | | | | | Avoid re-computing BP only to print successor probabilities in -debug printing. llvm-svn: 324690
* [WinEH] Put funclet bundles on inline asm callsReid Kleckner2018-02-094-16/+37
| | | | | | | | | | | | | | | | Summary: Fixes PR36247, which is where WinEHPrepare replaces inline asm in funclets with unreachable. Make getBundlesForFunclet return by value to simplify some call sites. Reviewers: smeenai, majnemer Subscribers: eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D43033 llvm-svn: 324689
* Use log to print out a verbose message.Rui Ueyama2018-02-094-8/+8
| | | | llvm-svn: 324688
* Fix UBSan issue with PPC::isValidCPUNameErich Keane2018-02-091-2/+1
| | | | | | | | Apparently storing the pointer to a StringLiteral as a StringRef caused this section of code to issue a ubsan warning. This will hopefully fix that. llvm-svn: 324687
* [CodeGen] Only print successors when the list is not emptyFrancis Visoiu Mistrih2018-02-091-21/+24
| | | | | | Follow-up of r324685. llvm-svn: 324686
* [CodeGen] Unify the syntax of MBB successors in MIR and -debug outputFrancis Visoiu Mistrih2018-02-0916-52/+65
| | | | | | | | | | | Instead of: Successors according to CFG: %bb.6(0x12492492 / 0x80000000 = 14.29%) print: successors: %bb.6(0x12492492); %bb.6(14.29%) llvm-svn: 324685
* Remove Config->Verbose because we have errorHandler().Verbose.Rui Ueyama2018-02-084-7/+7
| | | | llvm-svn: 324684
* Fix --print-icf-sections output.Rui Ueyama2018-02-081-1/+1
| | | | | | | Previously, multiple chunks of --print-icf-sections messages were interleaved and didn't make sense. This is because forEachClass is multi-threaded. llvm-svn: 324683
* Add size to constexpr ArraysErich Keane2018-02-081-2/+2
| | | | | | | | What seems to be a bug in older versions of MSVC, constexpr member arrays with a redefinition (to force emission) require their initial definition to have the size between the brackets. llvm-svn: 324682
* [CodeGen] Move printing '\n' from MachineInstr::print to ↵Francis Visoiu Mistrih2018-02-085-24/+41
| | | | | | | | | MachineBasicBlock::print MBB.print wasn't printing it, but the MIRPrinter is printing it. The goal is to unify that as much as possible. llvm-svn: 324681
* [analyzer] MallocChecker: Fix one more bug category.Artem Dergachev2018-02-082-2/+13
| | | | | | | | | | | Even though most of the inconsistencies in MallocChecker's bug categories were fixed in r302016, one more was introduced in r301913 which was later missed. Patch by Henry Wong! Differential Revision: https://reviews.llvm.org/D43074 llvm-svn: 324680
* [Lanai] Code model dictates section selection.Jacques Pienaar2018-02-081-7/+5
| | | | | | Always use the small section when the small code model is specified. llvm-svn: 324679
* [x86] consolidate and add tests for undef binop folds; NFCSanjay Patel2018-02-085-140/+434
| | | | | | | As was already shown in the div/rem tests and noted in PR36305, the behavior is inconsistent, but it's not limited to div/rem only. llvm-svn: 324678
* Use a stable topological sort in DwarfCompileUnit::createScopeChildrenDIE()Adrian Prantl2018-02-084-21/+278
| | | | | | | | | | | | This addresses review feedback for D42940. The topological sort is slightly more expensive but it can now also detect cycles in the dependencies and actually works correctly. rdar://problem/37217988 Differential Review: https://reviews.llvm.org/D43036 llvm-svn: 324677
* Add Rest of Targets Support to ValidCPUList (enabling march notes)Erich Keane2018-02-0821-269/+307
| | | | | | | | | | | A followup to: https://reviews.llvm.org/D42978 Most of the rest of the Targets were pretty rote, so this patch knocks them all out at once. Differential Revision: https://reviews.llvm.org/D43057 llvm-svn: 324676
* Add NVPTX Support to ValidCPUList (enabling march notes)Erich Keane2018-02-084-0/+15
| | | | | | | | | | A followup to: https://reviews.llvm.org/D42978 This patch adds NVPTX support for enabling the march notes. Differential Revision: https://reviews.llvm.org/D43045 llvm-svn: 324675
* Add X86 Support to ValidCPUList (enabling march notes)Erich Keane2018-02-082-2/+15
| | | | | | | | | | A followup to: https://reviews.llvm.org/D42978 This patch adds X86 and X86_64 support for enabling the march notes. Differential Revision: https://reviews.llvm.org/D43041 llvm-svn: 324674
* Make march/target-cpu print a note with the list of valid values for ARMErich Keane2018-02-087-0/+21
| | | | | | | | | | | | When rejecting a march= or target-cpu command line parameter, the message is quite lacking. This patch adds a note that prints all possible values for the current target, if the target supports it. This adds support for the ARM/AArch64 targets (more to come!). Differential Revision: https://reviews.llvm.org/D42978 llvm-svn: 324673
* Recognize MSVC style mangling in CPlusPlusLanguage::IsCPPMangledNameAaron Smith2018-02-081-7/+11
| | | | | | | | | | | | Reviewers: zturner, lldb-commits, labath Reviewed By: zturner Subscribers: jingham, labath, davide, llvm-commits Differential Revision: https://reviews.llvm.org/D43059 llvm-svn: 324672
* Only throw -fPIC when building a shared libraryAaron Smith2018-02-0819-36/+15
| | | | | | | | | | | | | | | | | | Summary: Update makefiles to specify -fPIC in Makefile.rules and only throw -fPIC when building a shared library. This change is necessary to allow building the lldb tests on Windows where -fPIC is not a valid option. Update a few places to Python 3.x syntax Reviewers: zturner, lldb-commits Reviewed By: zturner Subscribers: stella.stamenova, labath, llvm-commits Differential Revision: https://reviews.llvm.org/D42994 llvm-svn: 324671
* Minor tweak to test case.Dmitry Mikulin2018-02-081-1/+0
| | | | llvm-svn: 324670
* [DWARFv5] Fix dumper to show the file table starts at index 0.Paul Robinson2018-02-087-17/+20
| | | | | | | | Emitting the correct (root of compilation) file at index 0 will be posted for review later; I wanted to get this minor change out of the way first. llvm-svn: 324669
* [CFG] Add extra context to C++ constructor statement elements.Artem Dergachev2018-02-0814-38/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new CFGStmt sub-class, CFGConstructor, which replaces the regular CFGStmt with CXXConstructExpr in it whenever the CFG has additional information to provide regarding what sort of object is being constructed. It is useful for figuring out what memory is initialized in client of the CFG such as the Static Analyzer, which do not operate by recursive AST traversal, but instead rely on the CFG to provide all the information when they need it. Otherwise, the statement that triggers the construction and defines what memory is being initialized would normally occur after the construct-expression, and the client would need to peek to the next CFG element or use statement parent map to understand the necessary facts about the construct-expression. As a proof of concept, CFGConstructors are added for new-expressions and the respective test cases are provided to demonstrate how it works. For now, the only additional data contained in the CFGConstructor element is the "trigger statement", such as new-expression, which is the parent of the constructor. It will be significantly expanded in later commits. The additional data is organized as an auxiliary structure - the "construction context", which is allocated separately from the CFGElement. Differential Revision: https://reviews.llvm.org/D42672 llvm-svn: 324668
* AMDGPU: Process SDWA block at a timeMatt Arsenault2018-02-081-32/+31
| | | | | | | | | | Right now this loops over the entire function every time there is a change, which is not very efficient. There's no practical reason to track this so globally, since the code motion optimization passes should be sinking instructions with single uses and the pass currently will not fold with multiple uses. llvm-svn: 324667
* AMDGPU: Minor cleanupsMatt Arsenault2018-02-082-4/+5
| | | | | | Column limit, typo, unnecessary reference llvm-svn: 324666
* [GlobalISel][X86] Fixing failures after https://reviews.llvm.org/D37775Alexander Ivchenko2018-02-0821-665/+1151
| | | | | | | | | | | | | | The patch essentially makes sure that X86CallLowering adds proper G_COPY/G_TRUNC and G_ANYEXT/G_COPY when we are doing lowering of arguments/returns for floating point values passed on registers. Tests are updated accordingly Reviewed By: qcolombet Differential Revision: https://reviews.llvm.org/D42287 llvm-svn: 324665
* [GlobalIsel][X86] Making {G_IMPLICIT_DEF, s128} legalAlexander Ivchenko2018-02-082-0/+25
| | | | | | | | | | | The patch is a split from D42287 and is related to fixing failures after https://reviews.llvm.org/D37775 Reviewed By: qcolombet Differential Revision: https://reviews.llvm.org/D42287 llvm-svn: 324664
OpenPOWER on IntegriCloud