summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix the buildbot.Igor Kudrin2015-10-221-0/+2
| | | | | | test/elf2/gnu-hash-table.s requires ppc target support to run. llvm-svn: 251002
* Fix add_llvm_external_project.Manuel Klimek2015-10-221-1/+1
| | | | | | | | | | | | | r250835 unintentionally discarded the optional parameter to the add_llvm_external_project() macro that may point to a path when the said path is different from ${name}. This should fix it by passing ${ARGN} on to add_llvm_subdirectory(). The problem manifests itself with e.g. add_llvm_external_project(clang-tools-extra extra) from clang/tools/CMakeLists.txt Patch by Luchesar V. Iliev. llvm-svn: 251001
* [ELF2] Add support for GNU Hash sectionIgor Kudrin2015-10-227-17/+438
| | | | | | | | | | | | | | | | | | | This patch implements --hash-style command line switch. * By default, or with "sysv" or "both" parameters, the linker generates a standard ELF hash section. * With "gnu" or "both", it produces a GNU-style hash section. That section requires the symbols in the dynamic symbol table section, which are referenced in the GNU hash section, to be placed after not hashed ones and to be sorted to correspond the order of hash buckets in the GNU Hash section. The division function, as well as estimations for the section's parameters, are just the first rough attempt and the subjects for further adjustments. Differential Revision: http://reviews.llvm.org/D13815 llvm-svn: 251000
* Use range-based for loop in sys::path::append(). NFC.Pawel Bylica2015-10-221-8/+6
| | | | llvm-svn: 250999
* [asan] Get rid of UB in string tests. Patch by Max Ostapenko.Yury Gribov2015-10-2210-31/+41
| | | | | | Differential revision: http://reviews.llvm.org/D13895 llvm-svn: 250998
* [MS ABI] Mangle static anonymous unionsDavid Majnemer2015-10-223-13/+13
| | | | | | | | | | | | We believed that internal linkage variables at global scope which are not variable template specializations did not have to be mangled. However, static anonymous unions have no identifier and therefore must be mangled. This fixes PR18204. llvm-svn: 250997
* AVX-512: Fixed a bug in select_cc for i1 typeElena Demikhovsky2015-10-222-0/+26
| | | | | | | | | | | Fixed faiure: LLVM ERROR: Cannot select: t33: i1 = select_cc t25, Constant:i32<0>, t45, t42, seteq:ch added a test Differential Revision: http://reviews.llvm.org/D13943 llvm-svn: 250996
* Partially reverted changes from r250686Elena Demikhovsky2015-10-221-2/+4
| | | | | | | | Clang runtime failure was reported. Assertion failed: (isExtended() && "Type is not extended!"), function getTypeForEVT I'll need to add a proper handling for PointerType in masked load/store intrinsics. llvm-svn: 250995
* clang driver toolchain refactoringXinliang David Li2015-10-225-57/+58
| | | | | | | | | | | | | | In this patch, the file static method addProfileRT is moved to be a virtual member function of base ToolChain class. This allows derived toolchain to override the default behavior easily and make it consistent with Darwin toolchain (a TODO was added for this refactoring - now removed). A new helper method is also introduced to test if instrumentation profile option is turned on or not. Differential Revision: http://reviews.llvm.org/D13326 llvm-svn: 250994
* [coroutines] Initial stub Sema functionality for handling coroutine await / ↵Richard Smith2015-10-2212-16/+234
| | | | | | yield / return. llvm-svn: 250993
* [coroutines] Add forgotten test for lexing coroutines keywords.Richard Smith2015-10-221-0/+12
| | | | llvm-svn: 250992
* [coroutines] Add overloaded unary 'operator co_await'.Richard Smith2015-10-227-0/+29
| | | | llvm-svn: 250991
* Convert ActOnForwardProtocolDeclaration to take an ArrayRef and use a ↵Craig Topper2015-10-223-12/+8
| | | | | | range-based for loop. NFC llvm-svn: 250990
* Use an ArrayRef<OffsetOfComponent> instead of pointer and size throughout ↵Craig Topper2015-10-224-23/+15
| | | | | | offsetof handling code. Also use a range-based for loop. NFC llvm-svn: 250989
* Change FindProtocolDeclaration to take an ArrayRef and use a range-based for ↵Craig Topper2015-10-223-18/+11
| | | | | | loop. NFC llvm-svn: 250988
* Change MacroInfo::setArgumentList to take an ArrayRef instead of pointer and ↵Craig Topper2015-10-223-11/+9
| | | | | | size. While there use std::copy intead of a manual loop. llvm-svn: 250987
* clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-vararg.cpp: ↵NAKAMURA Takumi2015-10-221-1/+1
| | | | | | Tweak not to depend on out-of-tree header <cstdarg>. llvm-svn: 250986
* [coroutines] Add parsing support for co_await expression, co_yield expression,Richard Smith2015-10-226-4/+83
| | | | | | co_await modifier on range-based for loop, co_return statement. llvm-svn: 250985
* [coroutines] Fix description of LangOption for coroutines.Richard Smith2015-10-221-1/+1
| | | | llvm-svn: 250984
* clang-tools-extra/test/clang-tidy/modernize-use-default.cpp: Appease MS mode.NAKAMURA Takumi2015-10-221-1/+1
| | | | llvm-svn: 250983
* [coroutines] Add feature-test macro for coroutines, defined to 1 to indicateRichard Smith2015-10-222-0/+7
| | | | | | the implementation is incomplete. llvm-svn: 250982
* Move the launch-as-root xpc service from lldb to xcode, toJason Molenda2015-10-229-900/+36
| | | | | | | | | | | make it easier to run hand-built lldb roots and retain those entitlements. This is currently only used by Xcode; command line lldb doesn't expose the SBLaunchInfo::SetUserID() launch option. <rdar://problem/23154486> llvm-svn: 250981
* [coroutines] Add lexer support for co_await, co_yield, and co_return keywords.Richard Smith2015-10-225-1/+16
| | | | | | | Add -fcoroutines flag (just for -cc1 for now) to enable the feature. Early indications are that this will be part of -std=c++1z. llvm-svn: 250980
* Change ModuleList::GetSharedModule so that it will reject "stubJason Molenda2015-10-221-12/+43
| | | | | | | | | | | | | | | | | | | libraries" altogether. On Mac/iOS, these are libraries which have a UUID and nlist records but no text or data. If one of these gets into the global module list, every time we try to search for a given filename/arch/UUID, we'll get this stub library back. We need to prevent them from getting added to the module list altogether. I thought about doing this down in ObjectFileMachO -- just rejecting the file as a valid binary file altogether -- but Greg didn't want to take that hard line approach at this point, he wanted to keep the ability for lldb to read one of these if someone wanted to in the future. <rdar://problem/23035075> llvm-svn: 250979
* Add some verbose lldb host logging so lldb will show what SDKJason Molenda2015-10-221-1/+23
| | | | | | directories it is searching for files. llvm-svn: 250978
* Fix a couple places where InsertText was being called with a pointer and ↵Craig Topper2015-10-222-5/+5
| | | | | | | | size when it really expects a StringRef and a normally optional bool argument. The pointer was being implicitly converted to a StringRef and the size was being passed into the bool. Since the bool has a default value normally, no one noticed that the wrong number of arguments was given. llvm-svn: 250977
* Pass an ArrayRef instead of pointer and size. NFCCraig Topper2015-10-222-68/+38
| | | | llvm-svn: 250976
* [IR] Add a `makeNoWrapRegion` method to `ConstantRange`Sanjoy Das2015-10-223-0/+116
| | | | | | | | | | | | Summary: This will be used in a future change to ScalarEvolution. Reviewers: hfinkel, reames, nlewycky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13612 llvm-svn: 250975
* [OperandBundles] Teach AliasAnalysis about operand bundlesSanjoy Das2015-10-223-4/+39
| | | | | | | | | | | | | | | | | | | Summary: If a `CallSite` has operand bundles, then do not peek into the called function to get a more precise `ModRef` answer. This is tested using `argmemonly`, `-basicaa` and `-gvn`; but the functionality is not specific to any of these. Depends on D13961 Reviewers: reames, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13962 llvm-svn: 250974
* [OperandBundles] Make function attributes conservatively correctSanjoy Das2015-10-226-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This makes attribute accessors on `CallInst` and `InvokeInst` do the (conservatively) right thing. This essentially involves, in some cases, *not* falling back querying the attributes on the called `llvm::Function` when operand bundles are present. Attributes locally present on the `CallInst` or `InvokeInst` will still override operand bundle semantics. The LangRef has been amended to reflect this. Note: this change does not do anything prevent `-function-attrs` from inferring `CallSite` local attributes after inspecting the called function -- that will be done as a separate change. I've used `-adce` and `-early-cse` to test these changes. There is nothing special about these passes (and they did not require any changes) except that they seemed be the easiest way to write the tests. This change does not add deal with `argmemonly`. That's a later change because alias analysis requires a related fix before `argmemonly` can be tested. Reviewers: reames, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13961 llvm-svn: 250973
* WebAssembly: fix more syntaxJF Bastien2015-10-225-14/+14
| | | | | | | br_if shouldn't start with a dot. div and rem went from prefix u/s to suffix. llvm-svn: 250972
* Change SortAndUniqueProtocols to operate directly on a SmallVector rather ↵Craig Topper2015-10-221-16/+11
| | | | | | | | than taking a pointer and element count that it modifies. This paves the way to directly convert the small vector into an ArrayRef without needing to explicitly pass the modified size. No functional change intended. While there also use a range-based for loop and use append instead of insert to copy elements into the empty SmallVector." llvm-svn: 250971
* Use front() instead of [0] to make code more consistent with the next line ↵Craig Topper2015-10-221-1/+1
| | | | | | that uses back(). llvm-svn: 250970
* Add missing load/store flags to thumb2 instructions.Pete Cooper2015-10-222-2/+5
| | | | | | | | | | | | | | | | | | These were the cause of a verifier error when building 7zip with -verify-machineinstrs. Running 'make check' with the verifier triggered the same error on the test here so i've updated the test to run the verifier on one of its runs instead of adding a new one. While looking at this code, there was a stale comment that these instructions were only used for disassembly. This probably used to be the case, but they are now used in the 'ARM load / store optimization pass' too. This reapplies r242300 which was reverted in r242428 due to bot failures. Ultimately those failures were spurious and completely unrelated to this commit. I reverted this at the time because it was thought to be at fault. llvm-svn: 250969
* Attempt to fix formatting for operand bundlesDavid Majnemer2015-10-221-10/+9
| | | | llvm-svn: 250968
* Update LangRef for changes to the alias textual IR format to support ↵David Blaikie2015-10-221-1/+1
| | | | | | typeless pointer work llvm-svn: 250967
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2210-425/+363
| | | | | | | | source/Plugins/LanguageRuntime; other minor fixes. Differential Revision: http://reviews.llvm.org/D13966 llvm-svn: 250966
* Fix libstdc++ data formatters on Ubuntu 15.10 x86_64Todd Fiala2015-10-227-29/+195
| | | | | | See http://reviews.llvm.org/D13964 for details. llvm-svn: 250965
* [WinEH] Remove extraneous call to emitEHRegistrationOffsetLabelDavid Majnemer2015-10-211-1/+0
| | | | | | It's a relic from the earlier implementation, let's remove it. llvm-svn: 250964
* Fix use-after-free in ModuleManagerBen Langmuir2015-10-211-0/+3
| | | | | | | | | | | | | When removing out-of-date modules we might have left behind a VisitOrder that contains pointers to freed ModuleFiles. This was very rarely seen, because it only happens when modules go out of date and the VisitOrder happens to have the right size to not be recomputed. Thanks ASan! rdar://23181512 llvm-svn: 250963
* [PM]: Fix a doc typo. NFCJustin Bogner2015-10-211-1/+1
| | | | llvm-svn: 250962
* AMDGPU: Fix adding redundant m0 usesMatt Arsenault2015-10-211-2/+0
| | | | | | BuildMI already adds these since they are defined correctly now. llvm-svn: 250961
* AMDGPU: Fix verifier error in SIFoldOperandsMatt Arsenault2015-10-212-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | There may be other use operands that also need their kill flags cleared. This happens in a few tests when SIFoldOperands is moved after PeepholeOptimizer. PeepholeOptimizer rewrites cases that look like: %vreg0 = ... %vreg1 = COPY %vreg0 use %vreg1<kill> %vreg2 = COPY %vreg0 use %vreg2<kill> to use the earlier source to %vreg0 = ... use %vreg0 use %vreg0 Currently SIFoldOperands sees the copied registers, so there is only one use. So far I haven't managed to come up with a test that currently has multiple uses of a foldable VGPR -> VGPR copy. llvm-svn: 250960
* AMDGPU: Split DiagnosticInfoUnsupported into its own fileMatt Arsenault2015-10-214-41/+76
| | | | llvm-svn: 250959
* [FIX] Do not hoist nested variant base pointersJohannes Doerfert2015-10-212-7/+45
| | | | | | This fixes bug 25249. llvm-svn: 250958
* [msan] Build unit test shared library code with -fPIC.Evgeniy Stepanov2015-10-211-5/+1
| | | | llvm-svn: 250957
* [JIT] Towards a working small memory model.Davide Italiano2015-10-211-0/+55
| | | | | | | | | | This commit introduces an option, --preallocate, so that we can get memory upfront and use it in small memory model tests (in order to get reliable results). Differential Revision: http://reviews.llvm.org/D13630 llvm-svn: 250956
* Enable ARC on the fragile runtime.John McCall2015-10-213-4/+149
| | | | | | | | | | | | | | | | This is almost entirely a matter of just flipping a switch. 99% of the runtime support is available all the way back to when it was implemented in the non-fragile runtime, i.e. in Lion. However, fragile runtimes do not recognize ARC-style ivar layout strings, which means that accessing __strong or __weak ivars reflectively (e.g. via object_setIvar) will end up accessing the ivar as if it were __unsafe_unretained. Therefore, when using reflective technologies like KVC, be sure that your paths always refer to a property. rdar://23209307 llvm-svn: 250955
* [Driver] Alias -fvisibility=internal to -fvisibility=hiddenReid Kleckner2015-10-212-1/+4
| | | | | | | | | | | | | | | | | | The ELF symbol visibilities are: - internal: Not visibile across DSOs, cannot pass address across DSOs - hidden: Not visibile across DSOs, can be called indirectly - default: Usually visible across DSOs, possibly interposable - protected: Visible across DSOs, not interposable LLVM only supports the latter 3 visibilities. Internal visibility is in theory useful, as it allows you to assume that the caller is maintaining a PIC register for you in %ebx, or in some other pre-arranged location. As far as LLVM is concerned, this isn't worth the trouble. Using hidden visibility is always correct, so we can just do that. Resolves PR9183. llvm-svn: 250954
* Fix lldb-server - write null terminating symbol along with port number.Oleksiy Vyalov2015-10-211-1/+1
| | | | llvm-svn: 250953
OpenPOWER on IntegriCloud