summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [WebAssembly] Weak symbols should be defined in SF_GlobalSam Clegg2017-09-202-2/+15
| | | | | | | | | | | | Summary: This manifested itself in lld since it meant that weak symbols were not appearing in archive symbol tables. Subscribers: jfb, dschuff, jgravelle-google, aheejin Differential Revision: https://reviews.llvm.org/D38111 llvm-svn: 313838
* typoAdrian Prantl2017-09-201-1/+1
| | | | llvm-svn: 313837
* llvm-dwarfdump: move -eh-frame into the right section in the help output.Adrian Prantl2017-09-202-1/+2
| | | | llvm-svn: 313836
* [asan] Fix nested error detectionVitaly Buka2017-09-202-53/+67
| | | | | | | | | | | | Summary: Fixes https://github.com/google/sanitizers/issues/858 Reviewers: eugenis, dvyukov Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D38019 llvm-svn: 313835
* [llvm-readobj] Fix 'Teach readobj to dump .res files', pt 3.Marek Sokolowski2017-09-201-1/+2
| | | | | | Fix (r313790) missing ulittle{}_t error on some buildbots. llvm-svn: 313834
* [llvm-readobj] Fix 'Teach readobj to dump .res files', pt 2.Marek Sokolowski2017-09-201-2/+5
| | | | | | | Another fix-up for r313790. Big-endian hosts swapped byte order in UTF16 words. llvm-svn: 313833
* Include thin --whole-archive members in --reproduce.Rafael Espindola2017-09-202-0/+9
| | | | | | | We were only including the thin archive members used via a lazy symbol before. llvm-svn: 313832
* [MSan] Disable sanitization for __sanitizer_dtor_callback.Matt Morehouse2017-09-204-0/+21
| | | | | | | | | | | | | | | | Summary: Eliminate unnecessary instrumentation at __sanitizer_dtor_callback call sites. Fixes https://github.com/google/sanitizers/issues/861. Reviewers: eugenis, kcc Reviewed By: eugenis Subscribers: vitalybuka, llvm-commits, cfe-commits, hiraditya Differential Revision: https://reviews.llvm.org/D38063 llvm-svn: 313831
* Remove references to response file argument in CommandLine.rstDave Lee2017-09-201-8/+4
| | | | | | | | | | | | | | | | | Summary: The documentation refers to a boolean that controls whether response files are handled, but this is incorrect. Since r165535, response files are always enabled. Reviewers: compnerd, rafael Reviewed By: compnerd Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38095 llvm-svn: 313830
* [SimplifyCFG] don't create a no-op subtractSanjay Patel2017-09-203-23/+21
| | | | | | | | | | I noticed this inefficiency while investigating PR34603: https://bugs.llvm.org/show_bug.cgi?id=34603 This fix will likely push another bug (we don't maintain state of 'LateSimplifyCFG') into hiding, but I'll try to clean that up with a follow-up patch anyway. llvm-svn: 313829
* [MS Compat]Allow __interfaces to have properties.Erich Keane2017-09-202-247/+279
| | | | | | | | | | __interface types are allowed in MSVC to have "property" data members (marked with declspec property). This patch alters Sema to allow property data members. Differential Revision: https://reviews.llvm.org/D38092 llvm-svn: 313828
* Give external linkage and mangling to lambdas inside inline variables and ↵Richard Smith2017-09-2010-65/+117
| | | | | | | | variable templates. This implements the proposed approach in https://github.com/itanium-cxx-abi/cxx-abi/issues/33 llvm-svn: 313827
* Commit local changes that missed llvm.dbg.addrReid Kleckner2017-09-201-2/+4
| | | | llvm-svn: 313826
* [IR] Add llvm.dbg.addr, a control-dependent version of llvm.dbg.declareReid Kleckner2017-09-2016-128/+706
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This implements the design discussed on llvm-dev for better tracking of variables that live in memory through optimizations: http://lists.llvm.org/pipermail/llvm-dev/2017-September/117222.html This is tracked as PR34136 llvm.dbg.addr is intended to be produced and used in almost precisely the same way as llvm.dbg.declare is today, with the exception that it is control-dependent. That means that dbg.addr should always have a position in the instruction stream, and it will allow passes that optimize memory operations on local variables to insert llvm.dbg.value calls to reflect deleted stores. See SourceLevelDebugging.rst for more details. The main drawback to generating DBG_VALUE machine instrs is that they usually cause LLVM to emit a location list for DW_AT_location. The next step will be to teach DwarfDebug.cpp how to recognize more DBG_VALUE ranges as not needing a location list, and possibly start setting DW_AT_start_offset for variables whose lifetimes begin mid-scope. Reviewers: aprantl, dblaikie, probinson Subscribers: eraman, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D37768 llvm-svn: 313825
* [docs] llvm-cov: Document -show-instantiation-summaryVedant Kumar2017-09-201-0/+4
| | | | llvm-svn: 313824
* [ARM] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-09-2017-233/+456
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 313823
* Revert "Revert "ExecutionEngine: add R_AARCH64_ABS{16,32}""Saleem Abdulrasool2017-09-202-2/+25
| | | | | | | | | | | This reverts commit SVN r313668. The original test case attempted to write a pointer value into 16-bits, although the value may exceed the range representable in 16-bits. Ensure that the symbol is located in the address space such that its absolute address is representable in 16-bits. This should fix the assertion failure that was seen on the Windows hosts. llvm-svn: 313822
* [SimplifyCFG] auto-generate full checks; NFCSanjay Patel2017-09-201-78/+204
| | | | llvm-svn: 313821
* [NVPTX] Implemented shfl.sync instruction and supporting intrinsics/builtins.Artem Belevich2017-09-208-6/+360
| | | | | | Differential Revision: https://reviews.llvm.org/D38090 llvm-svn: 313820
* [InstCombine] Handle (X & C2) < C1 --> (X & C2) == 0Craig Topper2017-09-202-8/+15
| | | | | | | | We already did (X & C2) > C1 --> (X & C2) != 0, if any bit set in (X & C2) will produce a result greater than C1. But there is an equivalent inverse condition with <= C1 (which will be canonicalized to < C1+1) Differential Revision: https://reviews.llvm.org/D38065 llvm-svn: 313819
* [InstCombine] Pre-commit test cases for D38065.Craig Topper2017-09-201-0/+22
| | | | llvm-svn: 313818
* [WebAssembly] Add support for local symbol bindingsSam Clegg2017-09-209-38/+81
| | | | | | Differential Revision: https://reviews.llvm.org/D38096 llvm-svn: 313817
* [llvm-readobj] Fix 'Teach readobj to dump .res files'.Marek Sokolowski2017-09-201-1/+1
| | | | | | | Fix-up for r313790. Some buildbots couldn't convert size_t to uint{}_t; do it manually. llvm-svn: 313816
* [mips] Fix calculation of a branch instruction offset to escape left shift ↵Simon Atanasyan2017-09-202-5/+10
| | | | | | of negative value llvm-svn: 313815
* AMDGPU: Start selecting v_mad_mixhi_f16Matt Arsenault2017-09-206-43/+309
| | | | llvm-svn: 313814
* X86: treat SwiftCC as Win64_CC on Win64Saleem Abdulrasool2017-09-202-0/+12
| | | | | | | | | | | The Swift CC is identical to Win64 CC with the exception of swift error being passed in r12 which is a CSR. However, since this calling convention is only used in swift -> swift code, it does not impact interoperability and can be treated entirely as Win64 CC. We would previously incorrectly lower the frame setup as we did not treat the frame as conforming to Win64 specifications. llvm-svn: 313813
* AMDGPU: Add tied operands to v_mad_mix{lo|hi}_f16Matt Arsenault2017-09-202-12/+23
| | | | | | | | | These write to the low and high half of the destination register and leave the other 16-bits unchanged. This is true for most 16-bit instructions on gfx9, but we don't use that now. llvm-svn: 313812
* Implement cl_khr_int64_extended_atomics builtinsJan Vesely2017-09-2014-0/+172
| | | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 313811
* Implement cl_khr_int64_base_atomics builtinsJan Vesely2017-09-2014-0/+136
| | | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Aaron Watry <awatry@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 313810
* Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich2017-09-206-1/+375
| | | | | | | | | | | | | | | | Summary: Resubmission of D37937. Fixed i386 target building (conversion from std::size_t& to uint64_t& failed). Fixed documentation warning failure about docs/CFIVerify.rst not being in the tree. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Patch by Mitch Phillips Subscribers: sbc100, mgorny, pcc, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38089 llvm-svn: 313809
* Remove the default subtarget from the new Nios2 port. It's unused and ↵Eric Christopher2017-09-202-9/+1
| | | | | | deprecated. llvm-svn: 313808
* [lit] Undo the patch to stop writing pyc files.Zachary Turner2017-09-202-4/+0
| | | | | | | The problems on the bots appear to be resolved and this was determined to not be the culprit. Removing this. llvm-svn: 313807
* AMDGPU: Start selecting v_mad_mixlo_f16Matt Arsenault2017-09-204-0/+306
| | | | | | | | Also add some tests that should be able to use v_mad_mixhi_f16, but do not yet. This is trickier because we don't really model the partial update of the register done by 16-bit instructions. llvm-svn: 313806
* [OPENMP] Support for re-declarations when checking captured variables.Alexey Bataev2017-09-202-6/+5
| | | | | | | Need to check for variables re-declarations when checking that the variable was already captured in the captured region. llvm-svn: 313805
* Revert "Introduce the llvm-cfi-verify tool (resubmission of D37937)."Vlad Tsyrklevich2017-09-206-374/+1
| | | | | | This reverts commit r313798, it's causing buildbot failures. llvm-svn: 313804
* Revert 313789 because gcc doesn't like itMarshall Clow2017-09-202-8/+8
| | | | llvm-svn: 313803
* Fixed unused variable warning introduced in r313796 causing build failureCameron Desrochers2017-09-201-3/+0
| | | | llvm-svn: 313802
* [clangd] Fixed crash on MacOS.Ilya Biryukov2017-09-202-6/+5
| | | | | | | Caused by invalid order of members in ClangdServer. DiagnosticsMutex was used after destruction. llvm-svn: 313801
* Consider ForceAbsolute again in moveAbsRight.Rafael Espindola2017-09-202-1/+18
| | | | | | | | | This patch goes back to considering ForceAbsolute in moveAbsRight, but only if the second argument is not already absolute. With this we can handle "foo + ABSOLUTE(foo)" and "ABSOLUTE(foo) + foo". llvm-svn: 313800
* Fix warning caused by new clang::BuiltinType::Float16 added in r312794Ted Woodward2017-09-201-0/+1
| | | | llvm-svn: 313799
* Introduce the llvm-cfi-verify tool (resubmission of D37937).Vlad Tsyrklevich2017-09-206-1/+374
| | | | | | | | | | | | | | | | Summary: Resubmission of D37937. Fixed i386 target building (conversion from std::size_t& to uint64_t& failed). Fixed documentation warning failure about docs/CFIVerify.rst not being in the tree. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Patch by Mitch Phillips Subscribers: mgorny, pcc, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38089 llvm-svn: 313798
* AMDGPU: Fix encoding of op_sel for mad_mix* opcodesMatt Arsenault2017-09-203-37/+37
| | | | llvm-svn: 313797
* [PCH] Fixed preamble breaking with BOM presence (and particularly, ↵Cameron Desrochers2017-09-208-35/+80
| | | | | | | | | | | | | | fluctuating BOM presence) This patch fixes broken preamble-skipping when the preamble region includes a byte order mark (BOM). Previously, parsing would fail if preamble PCH generation was enabled and a BOM was present. This also fixes preamble invalidation when a BOM appears or disappears. This may seem to be an obscure edge case, but it happens regularly with IDEs that pass buffer overrides that never (or always) have a BOM, yet the underlying file from the initial parse that generated a PCH might (or might not) have a BOM. I've included a test case for these scenarios. Differential Revision: https://reviews.llvm.org/D37491 llvm-svn: 313796
* Reland "[WebAssembly] Add support for naming wasm data segments"Sam Clegg2017-09-2014-9/+130
| | | | | | | | | Add adds support for naming data segments. This is useful useful linkers so that they can merge similar sections. Differential Revision: https://reviews.llvm.org/D37886 llvm-svn: 313795
* Consider only A.Sec in moveAbsRight.Rafael Espindola2017-09-202-4/+5
| | | | | | | | | | | | | | The idea of this function is to simplify the implementation of binary operators like add. A value might be absolute because of an ABSOLUTE expression, but it still depends on the value of a section and we might not be able to evaluate it early. We should keep such values on the LHS, so that we can delay the evaluation. We can now handle both "1 + ABSOLUTE(foo)" and "ABSOLUTE(foo) + 1". llvm-svn: 313794
* [APInt] Use getActiveBits() to implement logBase2 and ceilLogBase2. NFCCraig Topper2017-09-201-2/+2
| | | | llvm-svn: 313793
* [InstCombine] Use APInt::getActiveBits() to avoid creating an APInt from a ↵Craig Topper2017-09-201-1/+1
| | | | | | trailing zero count to do a comparison. NFCI llvm-svn: 313792
* CodeGen: support SwiftError SwiftCC on Windows x64Saleem Abdulrasool2017-09-203-0/+23
| | | | | | | | | | Add support for passing SwiftError through a register on the Windows x64 calling convention. This allows the use of swifterror attributes on parameters which is used by the swift front end for the `Error` parameter. This partially enables building the swift standard library for Windows x86_64. llvm-svn: 313791
* [llvm-readobj] Teach readobj to dump .res files (WindowsResource).Marek Sokolowski2017-09-2011-2/+442
| | | | | | | | | | This enables readobj to output Windows resource files (.res). This way, we'll be able to test .res outputs without comparing them byte-by-byte with "magic binary files" generated by MS toolchain. Differential Revision: https://reviews.llvm.org/D38058 llvm-svn: 313790
* Mark the __eval methods on independent_bits_engine (and ↵Marshall Clow2017-09-202-8/+8
| | | | | | __independent_bits_engine) as const, since they make no changes to the object. NFC. llvm-svn: 313789
OpenPOWER on IntegriCloud