summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [NFC] Add missing revision for removal of bad_array_length in ABI changelogLouis Dionne2019-01-291-1/+1
| | | | llvm-svn: 352513
* Mark some of the behavior in the move w/allocator constructors of ↵Marshall Clow2019-01-295-36/+41
| | | | | | deque/unordered containers as 'libc++-specific'. Thanks to Andrey Maksimov for pointing this out. llvm-svn: 352512
* [clangd] Remove extra ';' to fix -Wpedantic warning. NFCIlya Biryukov2019-01-291-1/+1
| | | | llvm-svn: 352511
* [clangd] Attempt to fix failing buildbots after r352494Ilya Biryukov2019-01-291-1/+1
| | | | | | | For failures see: http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/38501/steps/build-unified-tree/logs/stdio llvm-svn: 352510
* [clangd] Make -clang-tidy-checks a non-hidden command-line argIlya Biryukov2019-01-291-2/+2
| | | | | | | | | | | | | | | | | | Summary: This looks like a useful user-facing configuration parameter, which should be discoverable. Also fix a small typo in the description. Reviewers: hokein Reviewed By: hokein Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D57384 llvm-svn: 352509
* lld-link: Allow backward references between associated comdatsNico Weber2019-01-292-14/+16
| | | | | | | | | | | | | | | | | References between associated comdats are invalid per COFF spec, but the newest Windows SDK contains obj files that have these references (https://bugs.chromium.org/p/chromium/issues/detail?id=925943#c13). So add back support for them and add tests for them. The old code handled them fine. This makes lld-link match the behavior of newer link.exe versions as far as I can tell. (The behavior before this change matched the behavior of older link.exe versions.) This mostly reverts r352254. Differential Revision: https://reviews.llvm.org/D57387 llvm-svn: 352508
* BreakpadRecords: Add parsing code for FILE and LINE recordsPavel Labath2019-01-293-0/+107
| | | | | | | | The two records aren't used by anything yet, but this part can be separated out easily, so I am comitting it separately to simplify reviews of the followup patch. llvm-svn: 352507
* [SelectionDAGBuilder] Remove redundant variable. NFCI.Nirav Dave2019-01-291-7/+3
| | | | llvm-svn: 352506
* [llvm-objcopy] Implement --set-section-flags.Jordan Rupprecht2019-01-298-38/+218
| | | | | | | | | | | | | | | | | Summary: --set-section-flags is used to change the section flags (e.g. SHF_ALLOC) for given sections. The flags allowed are the same from the existing --rename-section=.old=.new[,flags] feature. Additionally, make sure that --set-section-flag cannot be used with --rename-section (either the source or destination), since --rename-section accepts flags. This avoids ambiguity for something like "--rename-section=.foo=.bar,alloc --set-section-flag=.bar,code". Reviewers: jhenderson, jakehehrlich, alexshap, espindola Reviewed By: jhenderson, jakehehrlich Subscribers: llvm-commits, emaste, arichardson Differential Revision: https://reviews.llvm.org/D57198 llvm-svn: 352505
* Reversing the checkin for version 352484 as tests are failing.Ayonam Ray2019-01-295-193/+91
| | | | llvm-svn: 352504
* [Tooling] Handle #pragma once header guard in include insertion.Eric Liu2019-01-292-21/+55
| | | | | | | | | | Reviewers: ilya-biryukov Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D57223 llvm-svn: 352503
* gn build: Merge r352444, r352431, r352430Nico Weber2019-01-293-0/+3
| | | | llvm-svn: 352502
* [clangd] Unit test for sourceLocationInMainFile.Ilya Biryukov2019-01-291-0/+36
| | | | | | | This should have been part of r352494, which added the corresponding function. The unit test ended up as a separate commit accidentally. llvm-svn: 352501
* [AMDGPU] Fix a weird WWM intrinsic issue.Neil Henning2019-01-293-17/+64
| | | | | | | | | | | I found a really strange WWM issue through a very convoluted shader that essentially boils down to a bug in SIInstrInfo where canReadVGPR did not correctly identify that WWM is like a copy and can have a VGPR as its source. Differential Revision: https://reviews.llvm.org/D56002 llvm-svn: 352500
* [ELF] Simplify. NFCFangrui Song2019-01-291-1/+1
| | | | llvm-svn: 352499
* [clangd] Interfaces for writing code tweaksIlya Biryukov2019-01-2915-19/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The code tweaks are an implementation of mini-refactorings exposed via the LSP code actions. They run in two stages: - Stage 1. Decides whether the action is available to the user and collects all the information required to finish the action. Should be cheap, since this will run over all the actions known to clangd on each textDocument/codeAction request from the client. - Stage 2. Uses information from stage 1 to produce the actual edits that the code action should perform. This stage can be expensive and will only run if the user chooses to perform the specified action in the UI. One unfortunate consequence of this change is increased latency of processing the textDocument/codeAction requests, which now wait for an AST. However, we cannot avoid this with what we have available in the LSP today. Reviewers: kadircet, ioeric, hokein, sammccall Reviewed By: sammccall Subscribers: mgrang, mgorny, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D56267 llvm-svn: 352494
* Revert r351833 and r352250.Hans Wennborg2019-01-294-33/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They were breaking the Windows build when using MSBuild, see the discussion on D56781. r351833: "Use response file when generating LLVM-C.dll" > Use response file when generating LLVM-C.dll > > As discovered in D56774 the command line gets to long, so use a response file to give the script the libs. This change has been tested and is confirmed working for me. > > Commited on behalf of Jakob Bornecrantz > > Differential Revision: https://reviews.llvm.org/D56781 r352250: "Build LLVM-C.dll by default on windows and enable in release package" > Build LLVM-C.dll by default on windows and enable in release package > > With the fixes to the building of LLVM-C.dll in D56781 this should now > be safe to land. This will greatly simplify dealing with LLVM for people > that just want to use the C API on windows. This is a follow up from > D35077. > > Patch by Jakob Bornecrantz! > > Differential revision: https://reviews.llvm.org/D56774 llvm-svn: 352492
* [CUDA][HIP] Do not diagnose use of _Float16Yaxun Liu2019-01-293-3/+16
| | | | | | | | | | | r352221 caused regressions in CUDA/HIP since device function may use _Float16 whereas host does not support it. In this case host compilation should not diagnose usage of _Float16 in device functions or variables. For now just do not diagnose _Float16 for CUDA/HIP. In the future we should have more precise check. Differential Revision: https://reviews.llvm.org/D57369 llvm-svn: 352488
* Add 'REQUIRES: zlib' to a fuzzer testJeremy Morse2019-01-291-0/+1
| | | | | | Fixes tests on build environments that don't have zlib. See also r352483. llvm-svn: 352487
* Re-commit "[AST] Introduce GenericSelectionExpr::Association"Bruno Ricci2019-01-299-55/+173
| | | | | | This time with a fix to make gcc 4.8 happy. llvm-svn: 352486
* [clangd] dlog clang-tidy configurationHaojian Wu2019-01-291-1/+1
| | | | | | vlog seems to be too spammy in unittests. llvm-svn: 352485
* [CodeGen] Omit range checks from jump tables when lowering switches with ↵Ayonam Ray2019-01-295-91/+193
| | | | | | | | | | | | | | | | | unreachable default During the lowering of a switch that would result in the generation of a jump table, a range check is performed before indexing into the jump table, for the switch value being outside the jump table range and a conditional branch is inserted to jump to the default block. In case the default block is unreachable, this conditional jump can be omitted. This patch implements omitting this conditional branch for unreachable defaults. Review ID: D52002 Reviewers: Hans Wennborg, Eli Freidman, Roman Lebedev llvm-svn: 352484
* Add zlib feature test to lit configurationJeremy Morse2019-01-292-0/+5
| | | | | | | | | | | Some new tests in libfuzzer have dependencies on zlib: add a feature test for zlib so that we can add a REQUIRES field to the relevant tests. Patch by Matthew Voss. Differential Revision: https://reviews.llvm.org/D57366 llvm-svn: 352483
* [ELF] - Remove dead `readBfdName` declaration. NFC.George Rimar2019-01-291-1/+0
| | | | | | `readBfdName` was removed recently. llvm-svn: 352482
* [clangd] Make USRs for macros to be position independentKadir Cetinkaya2019-01-292-2/+9
| | | | | | | | | | | | | | Summary: USRs for macros were not cannonical due to usage of cursor location instead of definition location. Reviewers: jkorous Subscribers: ilya-biryukov, ioeric, MaskRay, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D57228 llvm-svn: 352481
* [X86] Add PR40483 test caseSimon Pilgrim2019-01-291-0/+57
| | | | llvm-svn: 352480
* [WebAssembly] Re-enable main-function signature rewritingDan Gohman2019-01-298-32/+59
| | | | | | | | | | | | | | | | Re-enable the code to rewrite main-function signatures into "int main(int argc, char *argv[])", but limited to only handling the case of "int main(void)", so that it doesn't silently strip an argument in the "int main(int argc, char *argv[], char *envp[])" case. This allows main to be called by C startup code, since WebAssembly requires caller and callee signatures to match, so it can't rely on passing main a different number of arguments than it expects. Differential Revision: https://reviews.llvm.org/D57323 llvm-svn: 352479
* [NativePDB] Fix lldb-x64-windows-ninja after r352464Aleksandr Urakov2019-01-292-8/+24
| | | | llvm-svn: 352478
* [llvm-symbolizer][doc] Tweak wording of --adjust-vma switch descriptionJames Henderson2019-01-291-2/+1
| | | | | | The address isn't dynamically relocated. The object is. llvm-svn: 352477
* [X86] Fix linux32 pic tests to use correct relocation model (PR39684)Simon Pilgrim2019-01-291-331/+1246
| | | | | | Differential Revision: https://reviews.llvm.org/D57301 llvm-svn: 352476
* [ARM] Use sub for negative offset load/store in thumb1David Green2019-01-293-42/+71
| | | | | | | | | | | This attempts to optimise negative values used in load/store operands a little. We currently try to selct them as rr, materialising the negative constant using a MOV/MVN pair. This instead selects ri with an immediate of 0, forcing the add node to become a simpler sub. Differential Revision: https://reviews.llvm.org/D57121 llvm-svn: 352475
* [X86] Regenerate abi-isel.ll testSimon Pilgrim2019-01-291-5/+6
| | | | | | Adds note requested in D57301 and fixes some missing GOTPCREL addressmath checks llvm-svn: 352474
* [analyzer] Toning down invalidation a bitGabor Horvath2019-01-296-12/+27
| | | | | | | | | When a function takes the address of a field the analyzer will no longer assume that the function will change other fields of the enclosing structs. Differential Revision: https://reviews.llvm.org/D57230 llvm-svn: 352473
* [ARM] Add extra testcases for D57121. NFCDavid Green2019-01-291-0/+482
| | | | llvm-svn: 352472
* Remove 'XFAIL: powerpc64' from a debuginfo testJeremy Morse2019-01-291-4/+0
| | | | | | | | | | | | This test started XPASSing with r352467, and the change in behaviour performed by that patch does appear to fix the cause of the original XFAIL (missing FrameIndex DBG_VALUE), which I've replicated locally with -mtriple=powerpc64--. I'll write this up in PR21881 which documents the XFAIL, and seek confirmation I haven't overlooked something here. llvm-svn: 352471
* [analyzer] Added a checklist to help checker authors and reviewersGabor Horvath2019-01-291-0/+105
| | | | | | Differential Revision: https://reviews.llvm.org/D52984 llvm-svn: 352470
* [IPCP] Don't crash due to arg count/type mismatch between caller/calleeBjorn Pettersson2019-01-293-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch avoids an assert in IPConstantPropagation when there is a argument count/type mismatch between the caller and the callee. While this is actually UB on C-level (clang emits a warning), the IR verifier seems to accept it. I'm not sure what other frontends/languages might think about this, so simply bailing out to avoid hitting an assert (in CallSiteBase<>::getArgOperand or Value::doRAUW) seems like a simple solution. The problem is exposed by the fact that AbstractCallSites will look through a bitcast at the callee position of a call/invoke. Reviewers: jdoerfert, reames, efriedma Reviewed By: jdoerfert, efriedma Subscribers: eli.friedman, efriedma, llvm-commits Differential Revision: https://reviews.llvm.org/D57052 llvm-svn: 352469
* [analyzer] Fix a typo in docsGabor Horvath2019-01-291-1/+1
| | | | llvm-svn: 352468
* [DebugInfo][DAG] Process FrameIndex dbg.values unconditionallyJeremy Morse2019-01-293-1/+95
| | | | | | | | | | | | | | | A FrameIndex should be valid throughout a block regardless of what instructions get selected in that block -- therefore we shouldn't harness dbg.values that refer to FrameIndexes to an SDNode. There are numerous codegen reasons why an SDNode never appears or doesn't become a location that a DBG_VALUE can refer to. None of them actually affect the variable location. Therefore, before any other tests to encode dbg_values in a SelectionDAG, identify FrameIndex operands and encode them unattached to any SDNode. Differential Revision: https://reviews.llvm.org/D57328 llvm-svn: 352467
* [NFC] Use ArrayRef instead of SmallVectorImpl where possibleMax Kazantsev2019-01-292-10/+10
| | | | llvm-svn: 352466
* [COFF, ARM64] Don't put jump table into a separate COFF section for ↵Martin Storsjo2019-01-293-4/+61
| | | | | | | | | | | | | | | | | | | | | | EK_LabelDifference32 Windows ARM64 has PIC relocation model and uses jump table kind EK_LabelDifference32. This produces jump table entry as ".word LBB123 - LJTI1_2" which represents the distance between the block and jump table. A new relocation type (IMAGE_REL_ARM64_REL32) is needed to do the fixup correctly if they are in different COFF section. This change saves the jump table to the same COFF section as the associated code. An ideal fix could be utilizing IMAGE_REL_ARM64_REL32 relocation type. Patch by Tom Tan! Differential Revision: https://reviews.llvm.org/D57277 llvm-svn: 352465
* [NativePDB] Add basic support of methods recostruction in ASTAleksandr Urakov2019-01-296-7/+93
| | | | | | | | | | | | | | | | | | Summary: This patch adds the basic support of methods reconstruction by native PDB plugin. It contains only most obvious changes (it processes LF_ONEMETHOD and LF_METHOD records), some things still remain unsolved: - mangled names retrieving; - support of template methods. Reviewers: zturner, labath, lemo, stella.stamenova Reviewed by: zturner Differential Revision: https://reviews.llvm.org/D56126 llvm-svn: 352464
* [AArch64] Update int64_t ACLE builtin argumentsSam Parker2019-01-293-17/+32
| | | | | | | | Re-applying r351740 with fixes (changing LL to W). Differential Revision: https://reviews.llvm.org/D56852 llvm-svn: 352463
* [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts()Jonas Paulsson2019-01-292-4/+173
| | | | | | | | | | | | This patch makes sure that a debug value that is after the bitcast in dupRetToEnableTailCallOpts() is also skipped. The reduced test case is from SPEC-2006 on SystemZ. Review: Vedant Kumar, Wolfgang Pieb https://reviews.llvm.org/D57050 llvm-svn: 352462
* Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__Martin Storsjo2019-01-294-17/+17
| | | | | | | | | | | | | | | | | | | | | The existing typedef of unw_fpreg_t to uint64_t might work and be correct for the ARM_EHABI case, but for dwarf, some cases in e.g. DwarfInstructions.hpp convert between double and unw_fpreg_t. When converting implicitly between double and unw_fpreg_t (uint64_t), the values get interpreted as integers and converted to float and vice versa, while the correct thing would be to keep the same bit pattern. Avoid the whole issue by using the same definition of unw_fpreg_t as all other architectures, when using dwarf unwinding on ARM. Change assembler functions to take a void pointer instead of unw_fpreg_t pointer, to avoid having a different mangled symbol name depending on the actual value of this typedef. Differential Revision: https://reviews.llvm.org/D57001 llvm-svn: 352461
* Fix an incorrectly configured test.Jeremy Morse2019-01-291-0/+2
| | | | | | This should have had a target triple in it, my mistake. llvm-svn: 352460
* [MinGW] Ignore the --plugin and --plugin-opt optionMartin Storsjo2019-01-291-0/+6
| | | | | | | | | | GCC can use LLD with -fuse-ld=lld for MinGW these days, but by default these options are passed to the linker (unless -fno-lto is passed to the GCC driver). Differential Revision: https://reviews.llvm.org/D57304 llvm-svn: 352459
* Remove unused variable to silence compiler warningMikael Holmen2019-01-291-1/+1
| | | | llvm-svn: 352456
* Fix compiler warning when using clang 3.6.0Mikael Holmen2019-01-291-1/+1
| | | | | | | | | | | | Without the fix we get the following (with -Werror): ../lib/Target/X86/X86ISelLowering.cpp:14181:58: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] SmallVector<std::array<int, 2>, 2> LaneSrcs(NumLanes, {-1, -1}); ^~~~~~ { } 1 error generated. llvm-svn: 352455
* Correct contents for r352453Philip Reames2019-01-291-72/+48
| | | | | | I had a local change I hadn't realized when submitting that auto-update. As such, the auto-update was wrong. This should fix it, and with that, it's clearly time to stop submitting changes and go to bed. llvm-svn: 352454
OpenPOWER on IntegriCloud