summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Emit DW_OP_piece also if the previous value was a constant.Adrian Prantl2016-11-023-6/+126
| | | | | | This fixes a bug in the DWARF backend. llvm-svn: 285826
* Simplify the test case from r285289.Alex Lorenz2016-11-021-20/+13
| | | | | | | | | This commit simplifies and clarifies the test code that was added in r285289. Suggested by David Blaikie. llvm-svn: 285825
* [ELF] - Allow "-Ttext xxx", "-Tbss xxx", "-Tdata bss" commandline.George Rimar2016-11-022-6/+13
| | | | | | | So patch just defines an alias for -Txxx=YYY forms, this is consistent with ld and should fix PR30814. llvm-svn: 285824
* Add a note that points to the linkage specifier for the C++ linkage errorsAlex Lorenz2016-11-029-11/+35
| | | | | | | | | | | | This commit improves the "must have C++ linkage" error diagnostics that are emitted for C++ declarations like templates and literal operators by adding an additional note that points to the appropriate extern "C" linkage specifier. rdar://19021120 Differential Revision: https://reviews.llvm.org/D26189 llvm-svn: 285823
* Use !operator to test if APInt is zero/non-zero. NFCI.Simon Pilgrim2016-11-021-3/+3
| | | | | | Avoids APInt construction and slower comparisons. llvm-svn: 285822
* [asan] Add more dynamic CRT mode testsReid Kleckner2016-11-0214-47/+78
| | | | | | | | | | | | Only tests using %clang_cl_asan were using the dynamic CRT before this. The unit tests and lit tests using %clangxx_asan were using the static CRT. Many cross-platform tests fail with the dynamic CRT, so I had to add win32-(static|dynamic)-asan lit features. Also deletes some redundant tests in TestCases/Windows that started failing with this switch. llvm-svn: 285821
* [asan] Use the dynamic ASan runtime if -shared-libasan is passedReid Kleckner2016-11-021-1/+2
| | | | | | | | | | -shared-libasan is likely to be used as a link flag if the user is using the GCC-style clang driver. This logic is already tested in clang-cl tests, and the new flag to exercise it will be covered by asan tests. llvm-svn: 285820
* Simplify typedefs. NFC.Rafael Espindola2016-11-021-15/+14
| | | | llvm-svn: 285819
* Implement another part of P0031; adding constexpr to move_iteratorMarshall Clow2016-11-0225-70/+425
| | | | llvm-svn: 285818
* Inline a version of getSectionStringTable into the only use.Rafael Espindola2016-11-021-10/+4
| | | | llvm-svn: 285817
* Pass the section table to getSectionStringTable. NFC.Rafael Espindola2016-11-021-1/+1
| | | | | | This will let us simplify the llvm side. llvm-svn: 285816
* Compute the section table lazily.Rafael Espindola2016-11-021-55/+52
| | | | | | As a consequence this move a bunch of error checking out of the constructor. llvm-svn: 285815
* [mips] Always run the MipsOptimizePICCall pass.Vasileios Kalintiris2016-11-021-8/+1
| | | | | | | | | | | | | Summary: Remove this pass from addMachineSSAOptimization() and register it unconditionally in through addPreRegAlloc(). This pass is required for generating correct PIC calls. Reviewers: sdardis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26036 llvm-svn: 285814
* Create the virtual register for the global base in the intersection ofJoerg Sonnenberger2016-11-021-2/+2
| | | | | | | | GPRC and GPRC_NOR0 (or the 64bit equivalent) and not just the latter. GPRC_NOR0 contains ZERO as alternative meaning of r0 and is therefore not a true subclass of GPRC. llvm-svn: 285813
* Inline getSectionStringTableIndex() into only caller. NFC.Rafael Espindola2016-11-021-9/+3
| | | | llvm-svn: 285812
* Don't use getNumSections.Rafael Espindola2016-11-021-3/+4
| | | | | | It is just the size of sections() which we were already calling. llvm-svn: 285811
* Turn on the /bigobj switch for RecursiveASTVisitorTest.cpp; we are now ↵Aaron Ballman2016-11-021-0/+1
| | | | | | bumping up against that limit with MSVC 2015 in Win64 debug build mode. llvm-svn: 285810
* Add a new clang-tidy check for cert-msc50-cpp (and cert-msc30-c) that ↵Aaron Ballman2016-11-029-0/+142
| | | | | | | | corresponds to the CERT C++ secure coding rule: https://www.securecoding.cert.org/confluence/display/cplusplus/MSC50-CPP.+Do+not+use+std%3A%3Arand%28%29+for+generating+pseudorandom+numbers Patch by Benedek Kiss llvm-svn: 285809
* Update for llvm change.Rafael Espindola2016-11-021-3/+3
| | | | llvm-svn: 285808
* Avoid a report_fatal_error in sections().Rafael Espindola2016-11-026-36/+34
| | | | | | | Have it return a ErrorOr<Range> and delete section_begin and section_end. llvm-svn: 285807
* Removing a switch statement that contains a default label, but no case ↵Aaron Ballman2016-11-021-5/+1
| | | | | | labels. Silences an MSVC warning; NFC. llvm-svn: 285806
* Simplify SHF_LINK_ORDER handling. NFC.Rafael Espindola2016-11-021-19/+9
| | | | | | | | | While ARM is the only currently user we support this is a general feature. This avoids a second walk over the sections. llvm-svn: 285805
* getNumSections should return a uintX_t. NFC.Rafael Espindola2016-11-021-4/+3
| | | | llvm-svn: 285804
* Simplify getSection. NFC.Rafael Espindola2016-11-021-4/+3
| | | | llvm-svn: 285803
* Simplify.Joerg Sonnenberger2016-11-021-2/+2
| | | | llvm-svn: 285802
* Remove TimeValue usage from two filesPavel Labath2016-11-022-18/+20
| | | | llvm-svn: 285801
* [SystemZ] Fix compiler warnings introduced by r285574Ulrich Weigand2016-11-021-3/+3
| | | | | | SystemZAsmParser::parseOperand returns a bool, not an enum. llvm-svn: 285800
* Fix Clang-tidy readability-redundant-string-cstr warningsMalcolm Parsons2016-11-0212-45/+36
| | | | | | | | | | Reviewers: aaron.ballman, mehdi_amini, dblaikie Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26206 llvm-svn: 285799
* Fix printf errors in ProcessMinidumpPavel Labath2016-11-021-6/+6
| | | | llvm-svn: 285798
* Remove TimeValue from UnwindLLDB.cppPavel Labath2016-11-021-8/+7
| | | | | | Really NFC, as the code is #ifdefed out, but I did make sure it compiles if I enable it. llvm-svn: 285797
* [ELF] - Check that .dynsym is present in DSO if SHT_GNU_versym section is.George Rimar2016-11-023-1/+30
| | | | | | | | | | | | | | | When we have SHT_GNU_versym section, it is should be associated with symbol table section. Usually (and in out implementation) it is .dynsym. In case when .dynsym is absent (due to broken object for example), lld crashes in parseVerdefs() when accesses null pointer: Versym = reinterpret_cast<const Elf_Versym *>(this->ELFObj.base() + VersymSec->sh_offset) + this->Symtab->sh_info; DIfferential revision: https://reviews.llvm.org/D25553 llvm-svn: 285796
* Remove TimeValue usages from MacOSX-Kernel process plugin. NFCPavel Labath2016-11-023-10/+7
| | | | llvm-svn: 285795
* [llvm] FIx if-clause -Wmisleading-indentation issue.Kirill Bobyrev2016-11-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | While bootstrapping Clang with recent `gcc 6.2.0` I found a bug related to misleading indentation. I believe, a pair of `{}` was forgotten, especially given the above similar piece of code: ``` if (!RDef || !HII->isPredicable(*RDef)) { Done = coalesceRegisters(RD, RegisterRef(S1)); if (Done) { UpdRegs.insert(RD.Reg); UpdRegs.insert(S1.getReg()); } } ``` Reviewers: kparzysz Differential Revision: https://reviews.llvm.org/D26204 llvm-svn: 285794
* [Reassociate] Skip analysis of dead code to avoid infinite loop.Bjorn Pettersson2016-11-023-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | Summary: It was detected that the reassociate pass could enter an inifite loop when analysing dead code. Simply skipping to analyse basic blocks that are dead avoids such problems (and as a side effect we avoid spending time on optimising dead code). The solution is using the same Reverse Post Order ordering of the basic blocks when doing the optimisations, as when building the precalculated rank map. A nice side-effect of this solution is that we now know that we only try to do optimisations for blocks with ranked instructions. Fixes https://llvm.org/bugs/show_bug.cgi?id=30818 Reviewers: llvm-commits, davide, eli.friedman, mehdi_amini Subscribers: dberlin Differential Revision: https://reviews.llvm.org/D26154 llvm-svn: 285793
* Remove spurious token from #endifRoger Ferrer Ibanez2016-11-021-1/+1
| | | | llvm-svn: 285792
* Protect tests for new/delete under libcpp-no-exceptionsRoger Ferrer Ibanez2016-11-024-5/+20
| | | | | | | | Skip the tests that expect an exception be thrown and protect unreachable catch blocks. Differential Revision: https://reviews.llvm.org/D26197 llvm-svn: 285791
* [AVR] Add instruction selection lowering codeDylan McKay2016-11-022-0/+1938
| | | | | | | | | | | | Summary: This adds AVRISelLowering.cpp Reviewers: arsenm, kparzysz Subscribers: llvm-commits, modocache, japaric, wdng, beanz, mgorny Differential Revision: https://reviews.llvm.org/D25034 llvm-svn: 285790
* [CMake] Set default build type correctlyShoaib Meenai2016-11-021-1/+1
| | | | | | | | | | At least with cmake 3.6.1, the default build type setting was having no effect; the generated CMakeCache.txt still had an empty CMAKE_BUILD_TYPE. Force the variable to be set to achieve the desired behavior. Differential Revision: https://reviews.llvm.org/D26200 llvm-svn: 285789
* Fix GCC test failure caused by manually defining _LIBCPP_HAS_NO_VARIADICSEric Fiselier2016-11-021-2/+2
| | | | llvm-svn: 285788
* [XRay][x86_64] Define a tail exit trampoline.Dean Michael Berris2016-11-023-7/+65
| | | | | | | | | | | | | | | | | | | | | | | | Summary: We define a new trampoline that's a hybrid between the exit and entry trampolines with the following properties: - Saves all of the callee-saved registers according to the x86_64 calling conventions. - Indicate to the log handler function being called that this is a function exit event. This fixes a bug that is a result of not saving enough of the register states, and that the log handler is clobbering registers that would be used by the function being tail-exited into manifesting as runtime errors. Reviewers: rSerge, echristo, majnemer Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D26020 llvm-svn: 285787
* Fix __libcpp_is_constructible for source types with explicit conversion ↵Eric Fiselier2016-11-022-24/+181
| | | | | | | | | | | | | | | | | | | | | | operators. Previously __libcpp_is_constructible checked the validity of reference construction using 'eat<To>(declval<From>())' but this doesn't consider From's explicit conversion operators. This patch teaches __libcpp_is_constructible how to handle these cases. To do this we need to check the validity using 'static_cast<To>(declval<From>())'. Unfortunately static_cast allows additional base-to-derived and lvalue-to-rvalue conversions, which have to be checked for and manually rejected. While implementing these changes I discovered that Clang incorrectly rejects `static_cast<int&&>(declval<float&>())` even though `int &&X(declval<float&>())` is well formed. In order to tolerate this bug the `__eat<T>(...)` needs to be left in-place. Otherwise it could be replaced entirely with the new static_cast implementation. Thanks to Walter Brown for providing the test cases. llvm-svn: 285786
* Bitcode: Fix short read implementation.Peter Collingbourne2016-11-022-1/+10
| | | | | | | We need to zero extend the byte in order to correctly shift it into a 64-bit value. llvm-svn: 285785
* Add strings to .dynstr early.Rui Ueyama2016-11-027-49/+54
| | | | | | | | | | | | | | | | | Previously, we added strings from DynamicSection::finalize(). It was a bit tricky because finalize() is supposed to fix the final size of the section, but adding new strings would change the size of .dynstr section. So there was a dependency between finalize functions of .dynamic and .dynstr. However, I noticed that we can elimiante the dependency by simply add strings early; we don't have to do that in finalize() but can do from DynamicSection's ctor. This patch defines a new function, DynamicSection::addEntries, to add .dynamic entries that doesn't depend on other sections. llvm-svn: 285784
* Disable the use of std::call_once on OpenBSD with libstdc++.Brad Smith2016-11-021-5/+5
| | | | | | | | | | | It was noticed this caused performance regressions and deadlocks. PR30768. Reorder the code to make it clearer what is tested. PPC now disables the use of std::call_once only with libstdc++ with the reordering of the code, as was the original intent. llvm-svn: 285782
* Fix SBWatchpoint::SetEnabled to send an event.Jim Ingham2016-11-022-4/+4
| | | | | | | We really shouldn't be sending events for SB API's, dunno when we started doing that. We don't do it for other things. But first restore the status quo. llvm-svn: 285781
* [ilist_node] Add a getReverseIterator() method and a unittest for it.Michael Gottesman2016-11-022-0/+23
| | | | | | This is the reverse_iterator analogue of getIterator(). llvm-svn: 285780
* More forcibly resolve exception specifications when checking a functionRichard Smith2016-11-022-0/+17
| | | | | | | redeclaration in C++1z mode. We need the exception specification in order for the function's type to be complete. llvm-svn: 285779
* [Documentation] Clang-tidy readability-redundant-declaration consistency.Eugene Zelenko2016-11-022-9/+11
| | | | | | Release notes checks order and consistent Clang-tidy readability-redundant-declaration description. llvm-svn: 285778
* Bitcode: Check file size before reading bitcode header.Peter Collingbourne2016-11-023-1/+5
| | | | | | | | Should unbreak ocaml binding tests. Also added an llvm-dis test that checks for the same thing. llvm-svn: 285777
* Use ArrayRef instead of const std::vector.Rui Ueyama2016-11-021-13/+4
| | | | llvm-svn: 285776
OpenPOWER on IntegriCloud