summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Guard print() functions only used by dump() functions.Florian Hahn2017-07-3110-7/+23
| | | | | | | | | | | | | | | | | | | Summary: Since r293359, most dump() function are only defined when `!defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)` holds. print() functions only used by dump() functions are now unused in release builds, generating lots of warnings. This patch only defines some print() functions if they are used. Reviewers: MatzeB Reviewed By: MatzeB Subscribers: arsenm, mzolotukhin, nhaehnle, llvm-commits Differential Revision: https://reviews.llvm.org/D35949 llvm-svn: 309553
* [Modules] llvm-config: Exclude CMAKE_CFG_INTDIR. It isn't used in headers.NAKAMURA Takumi2017-07-311-0/+6
| | | | | | This is part of https://reviews.llvm.org/D35559 llvm-svn: 309552
* libcxxabi: Suppress LLVM_ENABLE_MODULESNAKAMURA Takumi2017-07-311-0/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D35542 llvm-svn: 309551
* [clangd] Add ':' to completion trigger characters.Ilya Biryukov2017-07-312-3/+3
| | | | | | | | | | | | | | | | Summary: Without it we don't get completion requests from VSCode after nested name qualifiers (e.g. after 'std::'). Reviewers: krasimir, bkramer Reviewed By: krasimir Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D35986 llvm-svn: 309550
* [Support/GlobPattern] - Do not crash when pattern has characters with int ↵George Rimar2017-07-312-7/+19
| | | | | | | | | | | | | | | value < 0. Found it during work on LLD, it would crash on following linker script: SECTIONS { .foo : { *("*®") } } That happens because ® has int value -82. And chars are used as array index in code, and are signed by default. Differential revision: https://reviews.llvm.org/D35891 llvm-svn: 309549
* Added `applyAtomicChanges` function.Eric Liu2017-07-314-4/+637
| | | | | | | | | | | | | | | | | | This re-commits r298913. o See thread http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20170327/189084.html o Tested with -DLLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY=0. Summary: ... which applies a set of `AtomicChange`s on code. Reviewers: klimek, djasper Reviewed By: djasper Subscribers: arphaman, mgorny, chapuni, cfe-commits Differential Revision: https://reviews.llvm.org/D30777 llvm-svn: 309548
* [LoopInterchange] Do not interchange loops with function calls.Florian Hahn2017-07-314-3/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Without any information about the called function, we cannot be sure that it is safe to interchange loops which contain function calls. For example there could be dependences that prevent interchanging between accesses in the called function and the loops. Even functions without any parameters could cause problems, as they could access memory using global pointers. For now, I think it is only safe to interchange loops with calls marked as readnone. With this patch, the LLVM test suite passes with `-O3 -mllvm -enable-loopinterchange` and LoopInterchangeProfitability::isProfitable returning true for all loops. check-llvm and check-clang also pass when bootstrapped in a similar fashion, although only 3 loops got interchanged. Reviewers: karthikthecool, blitz.opensource, hfinkel, mcrosier, mkuper Reviewed By: mcrosier Subscribers: mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D35489 llvm-svn: 309547
* [X86][AVX512] Add masked MOVS[S|D] patternsGuy Blank2017-07-313-6/+16
| | | | | | | | | | | Added patterns to recognize AND 1 on the mask of a scalar masked move is not needed since only the lower bit is relevant for the instruction. Differential Revision: https://reviews.llvm.org/D35897 llvm-svn: 309546
* [coroutines] Evaluate the operand of void `co_return` expressions.Eric Fiselier2017-07-312-0/+21
| | | | | | | | | | | | | | | | | Summary: Previously Clang incorrectly ignored the expression of a void `co_return`. This patch addresses that bug. I'm not quite sure if I got the code-gen right, but this patch is at least a start. Reviewers: rsmith, GorNishanov Reviewed By: rsmith, GorNishanov Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D36070 llvm-svn: 309545
* [SLP]: Add test to resurrect the jumbled load patch. This test has multiple usesMohammad Shahid2017-07-311-0/+48
| | | | | | | of memory loads by different user Change-Id: I40b5ba8b810265440f3e55efca77c4b41ca98fa4 llvm-svn: 309544
* [XRay][compiler-rt] Fix test to not be too strict with output order.Dean Michael Berris2017-07-311-1/+1
| | | | | | Follow-up to D35789. llvm-svn: 309543
* [asan] Move shadow memory setup into its own fileVitaly Buka2017-07-314-125/+150
| | | | | | | | | | | | | | Submitted on behalf of Roland McGrath. Reviewers: vitalybuka, alekseyshl, kcc Subscribers: kubamracek, mgorny, phosek, filcab, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D36037 llvm-svn: 309542
* [PowerPC] Change method names; NFCHiroshi Inoue2017-07-311-24/+25
| | | | | | | | Changed method names based on the discussion in https://reviews.llvm.org/D34986: getInt64 -> selectI64Imm, getInt64Count -> selectI64ImmInstrCount. llvm-svn: 309541
* [XRay][compiler-rt] Fix typo for REQUIRES.Dean Michael Berris2017-07-311-1/+1
| | | | | | Follow-up on D35789. llvm-svn: 309540
* [sanitizer_common] Add SANITIZER_FUCHSIAVitaly Buka2017-07-311-1/+7
| | | | | | | | | | | | | | | | | | Summary: More changes to follow will add the Fuchsia port. Submitted on behalf of Roland McGrath. Reviewers: vitalybuka, alekseyshl, kcc Reviewed By: vitalybuka Subscribers: kubamracek, llvm-commits, phosek, filcab Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D36027 llvm-svn: 309539
* [XRay][compiler-rt] Require build-in-tree and x86_64-linux.Dean Michael Berris2017-07-311-0/+4
| | | | | | | | | The quiet-start.cc test currently fails for arm (and potentially other platforms). This change limits it to x86_64-linux. Follow-up to D35789. llvm-svn: 309538
* [builtins] Fix mingw-w64 cross compilationMartin Storsjo2017-07-311-1/+1
| | | | | | | | | Lowercase the Windows.h include in enable_execute_stack.c, just as in emutls.c in SVN r302340. Differential Revision: https://reviews.llvm.org/D36066 llvm-svn: 309537
* [sanitizer_common] Rename SI_NOT_WINDOWS to SI_POSIXVitaly Buka2017-07-312-88/+91
| | | | | | | | | | | | | | | | | | | | | Summary: New systems might be neither Windows nor POSIX. The SI_NOT_WINDOWS macro in sanitizer_platform_interceptors.h was already effectively the same as SI_POSIX, so just use SI_POSIX instead. Submitted on behalf of Roland McGrath. Reviewers: vitalybuka, alekseyshl, kcc Reviewed By: vitalybuka Subscribers: phosek, filcab, llvm-commits, kubamracek Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D36038 llvm-svn: 309536
* [X86] Add pattern to use bzhi for 64-bit 'and' with a mask when there is a ↵Craig Topper2017-07-312-0/+16
| | | | | | | | load involved. We already had a pattern without load, but with a load we were falling back to a regular 'and' due to pattern complexity priority. llvm-svn: 309535
* [XRay][compiler-rt] Do not print the warning when the binary is not XRay ↵Dean Michael Berris2017-07-313-1/+29
| | | | | | | | | | | | | | | | | instrumented. Summary: Currently when the XRay runtime is linked into a binary that doesn't have the instrumentation map, we print a warning unconditionally. This change attempts to make this behaviour more quiet. Reviewers: kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35789 llvm-svn: 309534
* [IslNodeBuilder] Remove unused instructionTobias Grosser2017-07-311-1/+0
| | | | | Suggested-by: Maximilian Falkenstein <falkensm@student.ethz.ch> llvm-svn: 309533
* gold/CMakeLists.txt: Prune (-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64).NAKAMURA Takumi2017-07-311-4/+0
| | | | | | | They are handled in HandleLLVMOptions.cmake for -m32. They are not required for -m64. llvm-svn: 309532
* Prune trailing linefeed at eof.NAKAMURA Takumi2017-07-311-1/+0
| | | | llvm-svn: 309531
* [Sema] Fix operator lookup to consider local extern declarations.Eric Fiselier2017-07-312-1/+21
| | | | | | | | | | | | | | | | | | | | | | Summary: Previously Clang was not considering operator declarations that occur at function scope. This is incorrect according to [over.match.oper]p3 > The set of non-member candidates is the result of the unqualified lookup of operator@ in the context of the expression according to the usual rules for name lookup in unqualified function calls. This patch changes operator name lookup to consider block scope declarations. This patch fixes PR27027. Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D35297 llvm-svn: 309530
* DebugInfo: Fix r309526, ensure resetting base address selection entries are usedDavid Blaikie2017-07-312-22/+55
| | | | | | | Missed the resetting base address selections when going from a base address version to zero base address for non-base-addressed entries. llvm-svn: 309529
* Mark LWG 2942 as completeEric Fiselier2017-07-303-5/+3
| | | | llvm-svn: 309528
* Mark LWG 2961 as completeEric Fiselier2017-07-301-1/+1
| | | | llvm-svn: 309527
* DebugInfo: Use base address selection entries in debug_ranges to reduce ↵David Blaikie2017-07-302-10/+102
| | | | | | | | | | | | | | | | | | | | relocations (from comments in the test) Group ranges in a range list that apply to the same section and use a base address selection entry to reduce the number of relocations to one reloc per section per range list. DWARF5 debug_rnglist will be more efficient than this in terms of relocations, but it's still better than one reloc per entry in a range list. This is an object/executable size tradeoff - shrinking objects, but growing the linked executable. In one large binary tested, total object size (not just debug info) shrank by 16%, entirely relocation entries. Linked executable grew by 4%. This was with compressed debug info in the objects, uncompressed in the linked executable. Without compression in the objects, the win would be smaller (the growth of debug_ranges itself would be more significant). llvm-svn: 309526
* test: add an additional cfi_return_column testSaleem Abdulrasool2017-07-301-0/+8
| | | | | | | Ensure that we still coalesce identical CIEs across FDEs even with cfi_return_column alterations. llvm-svn: 309525
* test: make the test clearer (NFC)Saleem Abdulrasool2017-07-301-4/+8
| | | | | | | | Use `llvm-objdump -dwarf=frames` to dump the .eh_frame to validate the output textually rather than compare the binary output. This makes it easier to see what is being checked. NFC. llvm-svn: 309524
* Also pass -pie back to the linker when linking on OpenBSD.Brad Smith2017-07-302-1/+6
| | | | llvm-svn: 309523
* Fix a typo.Brad Smith2017-07-301-1/+1
| | | | llvm-svn: 309522
* NFC: spell correction.Lama Saba2017-07-301-1/+1
| | | | | | | | On behalf of jbhateja Differential Revision: https://reviews.llvm.org/D35885 llvm-svn: 309521
* [demangler] Fix some bugs in r309340 found by oss-fuzzErik Pilkington2017-07-302-7/+27
| | | | llvm-svn: 309520
* Fix typo in commentTobias Grosser2017-07-301-2/+2
| | | | llvm-svn: 309519
* llvm-symbolizer/print_context.c test: Make debug info path independentDavid Blaikie2017-07-302-1/+6
| | | | llvm-svn: 309518
* llvm-symbolizer: Make test portable using an explicit object file rather ↵David Blaikie2017-07-302-12/+11
| | | | | | than the host compiler llvm-svn: 309517
* Make test robust to changes in prefix/avoid hardcoded line numbersDavid Blaikie2017-07-301-7/+8
| | | | llvm-svn: 309516
* Revert "[AVR] Mark a failing symbolizer test as XFAIL"Dylan McKay2017-07-301-3/+0
| | | | | | This reverts commit 83a0e876349adb646ba858eb177b22b0b4bfc59a. llvm-svn: 309515
* DebugInfo: Fix for CU index usage in 309507David Blaikie2017-07-301-1/+3
| | | | | | Not sure quite how I failed so clearly to test this, but anyway. llvm-svn: 309514
* [AVR] Mark a failing symbolizer test as XFAILDylan McKay2017-07-301-0/+3
| | | | llvm-svn: 309512
* Expanding the test case for vf8 for stride 4 interleaved.Michael Zuckerman2017-07-302-0/+64
| | | | llvm-svn: 309511
* [x86][inline-asm][ms-compat] legalize the use of "jc/jz short <op>"Coby Tayree2017-07-301-1/+3
| | | | | | | | | MS ignores the keyword "short" when used after a jc/jz instruction, LLVM ought to do the same. llvm: D35892 Differential Revision: https://reviews.llvm.org/D35893 llvm-svn: 309510
* [x86][inline-asm][ms-compat] legalize the use of "jc/jz short <op>"Coby Tayree2017-07-301-1/+2
| | | | | | | | | MS ignores the keyword "short" when used after a jc/jz instruction, LLVM ought to do the same. Test: D35893 Differential Revision: https://reviews.llvm.org/D35892 llvm-svn: 309509
* [x86][inline-asm]Allow a pack of Control Regs to be properly pickedCoby Tayree2017-07-302-0/+12
| | | | | | | | Allows the incorporation of legit (x86) Control Regs within inline asm stataements Differential Revision: https://reviews.llvm.org/D35903 llvm-svn: 309508
* DebugInfo: Use DWP cu_index to speed up symbolizing (as intended)David Blaikie2017-07-303-3/+29
| | | | | | | | | | | I was a bit lazy when I first implemented this & skipped the index lookup - obviously for large files this becomes pretty crucial, so here we go, do the index lookup. Speeds up large DWP symbolizing by... lots. (20m -> 20s, actually, maybe more in a release build (that was a release build without index lookup, compared to a debug/non-release build with the index usage)) llvm-svn: 309507
* DebugInfo: Group member variable along with the restDavid Blaikie2017-07-301-3/+3
| | | | | | | Committed in r309498 I didn't spot where the rest of the private members were in DWARFContext at the time - group them up again. llvm-svn: 309506
* [clang-reorder-fields] Emit warning when reordering breaks member init list ↵Alexander Shaposhnikov2017-07-304-16/+181
| | | | | | | | | | | | | dependencies This diff adds a warning emitted by clang-reorder-fields when reordering breaks dependencies in the initializer list. Patch by Sam Conrad! Differential revision: https://reviews.llvm.org/D35972 llvm-svn: 309505
* CodeGenModule.cpp: [PR33810][Modules] Remove an assertion that confirms ↵NAKAMURA Takumi2017-07-301-2/+0
| | | | | | | MangledDeclNames[CanonicalGD] might be still empty. FIXME: It is accepted that MangledDeclNames[CanonicalGD] is overwritten here? llvm-svn: 309504
* PR33902: Invalidate line number cache when adding more text to existing buffer.Richard Smith2017-07-302-0/+13
| | | | | | | | This led to crashes as the line number cache would report a bogus line number for a line of code, and we'd try to find a nonexistent column within the line when printing diagnostics. llvm-svn: 309503
OpenPOWER on IntegriCloud