summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [index] For an ObjC message call, also record as receivers the protocols if ↵Argyrios Kyrtzidis2018-08-172-4/+38
| | | | | | they are present in the ObjC type llvm-svn: 340109
* [AST] Clarify printing of unknown size locations [NFC]Philip Reames2018-08-172-1/+26
| | | | | | Printing "unknown" is much more clear than an arbitrary large integer llvm-svn: 340108
* [llvm-objcopy] Implement -G/--keep-global-symbol(s).Jordan Rupprecht2018-08-174-0/+200
| | | | | | | | | | | | | | | | | Summary: Port GNU Objcopy -G/--keep-global-symbol(s). This is slightly different than the already-implemented --globalize-symbol, which marks a symbol as global when copying. When --keep-global-symbol (alias -G) is used, *only* those symbols marked will stay global, and all other globals are demoted to local. (Also note that it doesn't *promote* a symbol to global). Additionally, there is a pluralized version of the flag --keep-global-symbols, which effectively applies --keep-global-symbol for every non-comment in a file. Reviewers: jakehehrlich, jhenderson, alexshap Reviewed By: jhenderson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50589 llvm-svn: 340105
* [DebugCounters] don't do redundant map lookups; NFCGeorge Burgess IV2018-08-171-4/+8
| | | | llvm-svn: 340104
* [ObjC] Error out when using forward-declared protocol in a @protocolAlex Lorenz2018-08-1715-38/+50
| | | | | | | | | | | | | | | | | | | | | | expression Clang emits invalid protocol metadata when a @protocol expression is used with a forward-declared protocol. The protocol metadata is missing protocol conformance list of the protocol since we don't have access to the definition of it in the compiled translation unit. The linker then might end up picking the invalid metadata when linking which will lead to incorrect runtime protocol conformance checks. This commit makes sure that Clang fails to compile code that uses a @protocol expression with a forward-declared protocol. This ensures that Clang does not emit invalid protocol metadata. I added an extra assert in CodeGen to ensure that this kind of issue won't happen in other places. rdar://32787811 Differential Revision: https://reviews.llvm.org/D49462 llvm-svn: 340102
* Don't warn on returning the address of a label from a statement expressionReid Kleckner2018-08-172-0/+13
| | | | | | | | | | | | | | | | | Summary: There isn't anything inherently wrong with returning a label from a statement expression. In practice, the Linux kernel uses this pattern to materialize PCs. Fixes PR38569 Reviewers: niravd, rsmith, nickdesaulniers Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50805 llvm-svn: 340101
* [AST][Tests] Clarify what each test is doingPhilip Reames2018-08-171-20/+23
| | | | llvm-svn: 340100
* [AST[Tests] Shorten tests using noalias paramsPhilip Reames2018-08-171-12/+4
| | | | llvm-svn: 340099
* [analyzer] [NFC] Minor refactoring of ISL-specific code in RetainCountCheckerGeorge Karpenkov2018-08-172-14/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D50879 llvm-svn: 340098
* [analyzer] Re-instate support for MakeCollectable is RetainCountCheckerGeorge Karpenkov2018-08-177-522/+679
| | | | | | Differential Revision: https://reviews.llvm.org/D50872 llvm-svn: 340097
* [analyzer] [NFC] Move ObjCRetainCount to include/AnalysisGeorge Karpenkov2018-08-174-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D50869 llvm-svn: 340096
* [AST] Add tests for argmemonly calls [NFC]Philip Reames2018-08-171-0/+130
| | | | | | First step towards building a test set to rebase D50730 on top of. Starting with clone of memtransfer tests, more to come. llvm-svn: 340095
* [analyzer] [NFC] Move canEval function from RetainCountChecker to ↵George Karpenkov2018-08-173-72/+85
| | | | | | | | RetainCountSummaries Differential Revision: https://reviews.llvm.org/D50863 llvm-svn: 340094
* [analyzer] [NFC] Split up summary generation in RetainCountChecker in two ↵George Karpenkov2018-08-172-204/+195
| | | | | | | | methods Differential Revision: https://reviews.llvm.org/D50830 llvm-svn: 340093
* [analyzer] [NFC] Split up RetainCountCheckerGeorge Karpenkov2018-08-178-3894/+4036
| | | | | | | | At some point, staring at 4k+ LOC file becomes a bit hard. Differential Revision: https://reviews.llvm.org/D50821 llvm-svn: 340092
* [analyzer] Drop support for GC mode in RetainCountCheckerGeorge Karpenkov2018-08-1710-2961/+579
| | | | | | | | | | | | A lot of code in RetainCountChecker deals with GC mode. Given that GC mode is deprecated, Apple does not ship runtime for it, and modern compiler toolchain does not support it, it makes sense to remove the code dealing with it in order to aid understanding of RetainCountChecker. Differential Revision: https://reviews.llvm.org/D50747 llvm-svn: 340091
* ValueTracking: Add tests for isKnownNeverNaNMatt Arsenault2018-08-171-2/+341
| | | | llvm-svn: 340090
* [MC] Improve error message when a codeview register is unknownReid Kleckner2018-08-171-1/+4
| | | | | | This is in MCRegisterInfo, we can print the actual register name easily. llvm-svn: 340089
* [MS Demangler] Properly print all thunk types.Zachary Turner2018-08-173-7/+26
| | | | | | | | | We were only printing the vtordisp thunk before as the previous patch was more aimed at getting special operators working, one of which was a thunk. This patch gets all thunk types to print properly, and adds a test for each one. llvm-svn: 340088
* [X86] Remove detectAddSubSatPattern.Craig Topper2018-08-171-115/+0
| | | | | | This was added very recently in r339650, but appears to be completely untested and has at least one bug in it. llvm-svn: 340086
* DAG: Fix isKnownNeverNaN for basic non-sNaN casesMatt Arsenault2018-08-172-12/+57
| | | | | | | fadd/fsub/fmul need to worry about infinities as well as fdiv. llvm-svn: 340085
* [ORC] Rename VSO to JITDylib.Lang Hames2018-08-1717-443/+467
| | | | | | | | | | | | | VSO was a little close to VDSO (an acronym on Linux for Virtual Dynamic Shared Object) for comfort. It also risks giving the impression that instances of this class could be shared between ExecutionSessions, which they can not. JITDylib seems moderately less confusing, while still hinting at how this class is intended to be used, i.e. as a JIT-compiled stand-in for a dynamic library (code that would have been a dynamic library if you had wanted to compile it ahead of time). llvm-svn: 340084
* [MS Demangler] Demangle all remaining types of operators.Zachary Turner2018-08-172-137/+415
| | | | | | | This demangles all remaining special operators including thunks, RTTI Descriptors, and local static guard variables. llvm-svn: 340083
* test commit: add a commentMike Rice2018-08-171-0/+1
| | | | llvm-svn: 340082
* [Hexagon] Remove unused functions from HexagonInstPrinter, NFCKrzysztof Parzyszek2018-08-172-124/+8
| | | | llvm-svn: 340081
* Update comments in CGDebugInfo to reflect changes in the MS mangler, NFCReid Kleckner2018-08-171-12/+26
| | | | | | | I've tried to elaborate on the purpose of these type identifiers and why and when clang uses them. llvm-svn: 340080
* [MS] Mangle a hash of the main file path into anonymous namespacesReid Kleckner2018-08-1714-33/+68
| | | | | | | | | | | | | | | | | | | | | | | Summary: This is needed to avoid conflicts in mangled names for codeview types in anonymous namespaces. In CodeView, types refer to each other typically through forward declarations, which contain mangled names. These names have to be unique, otherwise the debugger will look up the mangled name and find the wrong definition. Furthermore, ThinLTO will deduplicate the types, and debug info verification can fail when the types have the wrong sizes. This is PR38608. Fixes PR38609. Reviewers: majnemer, inglorion, hans Subscribers: mehdi_amini, aprantl, JDevlieghere, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D50877 llvm-svn: 340079
* Skip the lldb-vscode attach with waitFor test for now, some build bots are ↵Greg Clayton2018-08-171-0/+1
| | | | | | having trouble. llvm-svn: 340077
* [clang-tidy] Add missing check documentation.Haojian Wu2018-08-171-0/+36
| | | | llvm-svn: 340075
* Improve diagnostic for missing comma in template parameter list.Richard Smith2018-08-172-18/+29
| | | | | | | | | | Given 'typename T typename U', we would correctly diagnose the missing comma, but incorrectly disambiguate the first parameter as being a non-type parameter and complain that the 'T' is not a qualified-id. See also gcc.gnu.org/PR86998. llvm-svn: 340074
* [WebAssembly] Don't compress LEBs by defaultSam Clegg2018-08-173-3/+15
| | | | | | | | | LEB compression breaks debug info so we don't want to enable it by default, even at high optimization levels. Differential Revision: https://reviews.llvm.org/D50729 llvm-svn: 340073
* [AST] Adapt Polly to AnalysisSetTracker changes. NFC.Michael Kruse2018-08-172-9/+2
| | | | | | | | | | | | The method AliasSetTracker::getAliasSetForPointer was removed and replaced by AliasSetTracker::getAliasSetFor for the restructuring in r339930. Since Polly uses AliasSetTracker::getAliasSetForPointer, a temporary fix has been committed in r339937 with a comment: Can someone from polly please migrate usage and then delete the wrapper? This commit is doing exactly that. llvm-svn: 340072
* Fix windows buildbots by removing : from filenamesJordan Rupprecht2018-08-171-4/+4
| | | | llvm-svn: 340071
* [llvm-objcopy] Add support for -I binary -B <arch>.Jordan Rupprecht2018-08-177-64/+485
| | | | | | | | | | | | | | | | | Summary: The -I (--input-target) and -B (--binary-architecture) flags exist but are currently silently ignored. This adds support for -I binary for architectures i386, x86-64 (and alias i386:x86-64), arm, aarch64, sparc, and ppc (powerpc:common64). This is largely based on D41687. This is done by implementing an additional subclass of Reader, BinaryReader, which works by interpreting the input file as contents for .data field, sets up a synthetic header, and adds additional sections/symbols (e.g. _binary__tmp_data_txt_start). Reviewers: jakehehrlich, alexshap, jhenderson, javed.absar Reviewed By: jhenderson Subscribers: jyknight, nemanjai, kbarton, fedor.sergeev, jrtc27, kristof.beyls, paulsemel, llvm-commits Differential Revision: https://reviews.llvm.org/D50343 llvm-svn: 340070
* Test commitJun Lim2018-08-171-1/+1
| | | | | | I just removed a blank space. llvm-svn: 340069
* Remove a hardcoded address in test/DebugInfo/X86/vla-multi.llVedant Kumar2018-08-171-2/+2
| | | | | | This relaxes a test to make it less brittle. llvm-svn: 340068
* [IDF] Make GD const.Alina Sbirlea2018-08-171-1/+1
| | | | llvm-svn: 340067
* [llvm-mca] Reformat a few lines (fix spacing). NFC.Matt Davis2018-08-173-7/+5
| | | | llvm-svn: 340065
* [Support] NFC: Fix docstring in FileSystem.h.Reka Kovacs2018-08-171-1/+1
| | | | llvm-svn: 340063
* [X86][SSE] Lower constant vXi8 ISD::SRL/ISD::SRA using PMULLWSimon Pilgrim2018-08-179-825/+412
| | | | | | | | Extending the concept introduced in D49562, this patch lowers constant vXi8 ISD::SRL/ISD::SRA by zero/sign extending to vXi16 and using PMULLW and then truncating the high 8 bits of the result. Differential Revision: https://reviews.llvm.org/D50781 llvm-svn: 340062
* [InstCombine] Refactor the simplification of pow() (NFC)Evandro Menezes2018-08-172-32/+52
| | | | | | | Refactor all cases dealing with `exp{,2,10}()` into one function in preparation for D49273. Otherwise, NFC. llvm-svn: 340061
* [NFC] Expand test cases for simplifying pow()Evandro Menezes2018-08-172-3/+96
| | | | | | In prepatration for the improvements that D49273 enables. llvm-svn: 340060
* [X86] Use hasOneUse instead of isOnlyUserOf. NFCICraig Topper2018-08-171-1/+1
| | | | | | isOnlyUserOf is a little heavier because it allows the node to be used multiple times by the other node. In this case we are looking at a truncate which only has one operand so we know it can only use it once. Thus hasOneUse is better. llvm-svn: 340059
* [sanitizer] When setting up shadow memory on iOS, fix handling the return ↵Kuba Mracek2018-08-171-2/+2
| | | | | | | | | | value of task_info on older OS versions task_vm_info is a "revisioned" structure, new OS versions add fields to the end, and compatibility is based on the reported size. On older OS versions, min_address/max_address is not filled back. Let's handle that case. Unfortunately, we can't really write a test (as the failure only happens when on a specific OS version). Differential Revision: https://reviews.llvm.org/D50275 llvm-svn: 340058
* [HIP] Make __hip_gpubin_handle hidden to avoid being merged across different ↵Yaxun Liu2018-08-172-1/+3
| | | | | | | | | | | | | | | | shared libraries Different shared libraries contain different fat binary, which is stored in a global variable __hip_gpubin_handle. Since different compilation units share the same fat binary, this variable has linkonce linkage. However, it should not be merged across different shared libraries. This patch set the visibility of the global variable to be hidden, which will make it invisible in the shared library, therefore preventing it from being merged. Differential Revision: https://reviews.llvm.org/D50596 llvm-svn: 340056
* [TableGen] Don't separately search for DefaultMode when we're going to ↵Simon Pilgrim2018-08-171-1/+3
| | | | | | iterate the set anyway. NFCI. llvm-svn: 340055
* Show how to use "lldb -P" to find the lldb.py.Jim Ingham2018-08-171-4/+5
| | | | | | | | | | We had hard-coded the path in the docs but that got out of date - showing again that -P is the better way to do this. <rdar://problem/43394652> llvm-svn: 340053
* [IDF] Teach Iterated Dominance Frontier to use a snapshot CFG based on a ↵Alina Sbirlea2018-08-172-15/+32
| | | | | | | | | | | | | | | | GraphDiff. Summary: Create the ability to compute IDF using a CFG View. For this, we'll need a new DT created using a list of Updates (to be refactored later to a GraphDiff), and the GraphTraits based on the same GraphDiff. Reviewers: kuhar, george.burgess.iv, mzolotukhin Subscribers: sanjoy, jlebar, llvm-commits Differential Revision: https://reviews.llvm.org/D50675 llvm-svn: 340052
* Change the attach test case to use self.assertEqual so we can get more info ↵Greg Clayton2018-08-171-2/+10
| | | | | | | | on what is going wrong on test bots. Also add a cleanup function to remove the copied binary. llvm-svn: 340050
* Refactor the newly created <bit> header. Still (almost) NFC. Reviewed as ↵Marshall Clow2018-08-172-83/+72
| | | | | | https://reviews.llvm.org/D50876 llvm-svn: 340049
OpenPOWER on IntegriCloud