summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* DeltaAlgorithm: Provide protected default copy ctor for use by test derived ↵David Blaikie2015-03-032-1/+3
| | | | | | | | | | | | | | | | | | | | class. Without this, use of this copy ctor is deprecated in C++11 due to the presence of a user-declared dtor. Marking the class final is just a little extra security that there are no further derived classes that may then end up using the intermediate base class's copy assignment operator and cause slicing to occur. I didn't bother marking the other (non-test) base class final, since it has reference members so it won't have any implicit assignment operators anyway. Open to ideas on that, though. We probably want a warning about use of a slicing assignment operator, then I wouldn't worry so much about marking the class as final. llvm-svn: 231114
* Remove explicit no-op dtor in favor of the implicit dtor so as not to ↵David Blaikie2015-03-032-4/+0
| | | | | | disable/deprecate the copy operations. llvm-svn: 231113
* Remove no-op dtor so that use of the implicit copy ctor/assignment operator ↵David Blaikie2015-03-031-1/+0
| | | | | | are not deprecated. llvm-svn: 231112
* Add a comment above findRepresentativeClass explaining why it'sEric Christopher2015-03-031-0/+4
| | | | | | where it is so that future generations can understand. llvm-svn: 231111
* Remove explicit copy ctor in favor of the implicit one so that the use of ↵David Blaikie2015-03-031-2/+0
| | | | | | the copy assignment operator is not deprecated. llvm-svn: 231110
* Remove explicit copy assignment operator in favor of the implicit/default to ↵David Blaikie2015-03-031-5/+0
| | | | | | avoid disabling/deprecating the implicit copy ctor. llvm-svn: 231109
* Remove explicit copy ctor in favor of the default so as not to ↵David Blaikie2015-03-031-2/+0
| | | | | | disable/deprecate the implicit copy assignment operator llvm-svn: 231108
* Reduce header footprint of Target.hZachary Turner2015-03-0326-132/+130
| | | | | | | | | | | | This continues the effort to reduce header footprint and improve build speed by removing clang and other unnecessary headers from Target.h. In one case, some headers were included solely for the purpose of declaring a nested class in Target, which was not needed by anybody outside the class. In this case the definition and implementation of the nested class were isolated in the .cpp file so the header could be removed. llvm-svn: 231107
* Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABIReid Kleckner2015-03-039-386/+536
| | | | | | | | | Use llvm.eh.begincatch for Microsoft-style catches. This moves lots of CGException code into ItaniumCXXABI. Sorry for the blame pain. llvm-svn: 231105
* unique_ptrify FullDependenceAnalysis::DVDavid Blaikie2015-03-032-13/+6
| | | | | | | Making this type a little harder to abuse (see workaround relating to use of the implicit copy ctor in the prior commit) llvm-svn: 231104
* FullDependenceAnalysis: Avoid using the (deprecated in C++11) copy ctorDavid Blaikie2015-03-031-23/+22
| | | | llvm-svn: 231103
* Remove some explicit copy assignment operators is favor of implicit ones, as ↵David Blaikie2015-03-031-12/+0
| | | | | | their presence makes the use of the implicit copy ctor deprecated in C++11 llvm-svn: 231102
* Fix TestQuoting on remote targets.Chaoren Lin2015-03-031-0/+5
| | | | | | | | | | | | Summary: Needed to transfer stdout.txt to host before reading. Reviewers: ovyalov, clayborg Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D8023 llvm-svn: 231101
* Fix PR22750: non-determinism causes assertion failure in DWARF generationDario Domizioli2015-03-031-2/+5
| | | | | | | | | | | | | | | | | | | | | | | The cause of the issue is the interaction of two factors: 1) When generating a DW_TAG_imported_declaration DIE which imports another imported declaration, the code in AsmPrinter/DwarfCompileUnit.cpp asserts that the second imported declaration must already have a DIE. 2) There is a non-determinism in the order in which imported declarations within the same scope are processed. Because of the non-determinism (2), it is possible that an imported declaration is processed before another one it depends on, breaking the assumption in (1). The source of the non-determinism is that the imported declaration DIDescriptors are sorted by scope in DwarfDebug::beginModule(); however that sort is not a stable_sort, therefore the order of the declarations within the same scope is not preserved. The attached patch changes the std::sort to a std::stable_sort and it fixes the problem. Test omitted due to it being non-deterministic and depending on the implementation of std::sort. llvm-svn: 231100
* [Small]BitVector::reference: Explicitly default copy construction as it is ↵David Blaikie2015-03-032-1/+3
| | | | | | | | | | | | | | | | | | | | | deprecated in C++11 in the presence of explicit copy assignment. I tried making these private & friended to the BitVector, but that didn't work - there's one use of BitVector::reference in Clang that actually copies it into a local variable & uses it from there, rather than just using the result of op[] in a temporary expression. Whether or not this is desired is debatable (we could just fix that one use in Clang) & it's not clear which way the C++ standard falls on this for std::bitset's reference type (it has the same bug at least in libstdc++, but Clang's -Wdeprecated doesn't flag it, because it's in a standard header) While it was only BitVector::reference's copy ctor that was referenced by user code, I made SmallBitVector::reference's copy ctor public too, for consistency. llvm-svn: 231099
* Disable the right RUN lineReid Kleckner2015-03-031-1/+1
| | | | llvm-svn: 231098
* Don't #include ClangASTContext.h from Module.hZachary Turner2015-03-039-50/+21
| | | | | | | | | | | | This is part of a larger effort to reduce header file footprints. Combined, these patches reduce the build time of LLDB locally by over 30%. However, they touch many files and make many changes, so will be submitted in small incremental pieces. Reviewed By: Greg Clayton Differential Revision: http://reviews.llvm.org/D8022 llvm-svn: 231097
* Disabled the other test from r231086 (like in r231087) since it also had ↵Filipe Cabecinhas2015-03-031-1/+1
| | | | | | problems llvm-svn: 231096
* Avoid explicitly declaring the copy assignment operator, as this ↵David Blaikie2015-03-031-3/+0
| | | | | | unnecessarily makes the copy ctor deprecated in C++11 llvm-svn: 231095
* Twine: Explicitly default the copy ctor as it's otherwise deprecated in ↵David Blaikie2015-03-031-0/+2
| | | | | | C++11 by the presence of a user-declared copy assignment operator. llvm-svn: 231094
* DenseMapIterator: Avoid explicitly declaring the copy ctor as this makes the ↵David Blaikie2015-03-031-4/+6
| | | | | | copy assignment operator deprecated in C++11 llvm-svn: 231093
* Support __attribute__((availability)) on Android.Dan Albert2015-03-033-1/+38
| | | | | | | | | | | | Reviewers: srhines Reviewed By: srhines Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7929 llvm-svn: 231092
* Don't force -pie for Android.Dan Albert2015-03-033-6/+26
| | | | | | | | | | | | | | | | | | | Summary: There is no -no-pie flag that can override this, so making it default to being on for Android means it is no longer possible to create non-PIE executables on Android. While current versions of Android support (and the most recent requires) PIE, ICS and earlier versions of Android cannot run PIE executables, so this needs to be optional. Reviewers: srhines Reviewed By: srhines Subscribers: thakis, volkalexey, cfe-commits Differential Revision: http://reviews.llvm.org/D8015 llvm-svn: 231091
* Make Triple::getOSVersion make sense for Android.Dan Albert2015-03-031-0/+8
| | | | | | | | | | | | Reviewers: srhines Reviewed By: srhines Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7928 llvm-svn: 231090
* Update Polly tests for the great metadata schema changeDavid Blaikie2015-03-0311-142/+142
| | | | llvm-svn: 231089
* 80-column fixup.Eric Christopher2015-03-031-1/+2
| | | | llvm-svn: 231088
* Disable a Clang test until the begincatch change landsReid Kleckner2015-03-031-1/+2
| | | | llvm-svn: 231087
* Make llvm.eh.begincatch use an outparamReid Kleckner2015-03-039-91/+80
| | | | | | | | | | | | | | Ultimately, __CxxFrameHandler3 needs us to put a stack offset in a table, and it will take responsibility for copying the exception object into that slot. Modelling the exception object as an SSA value returned by begincatch isn't going to work in general, so make it use an output parameter. Reviewers: andrew.w.kaylor Differential Revision: http://reviews.llvm.org/D7920 llvm-svn: 231086
* [AArch64] When combining constant mul of -3, prefer (sub x, (shl x, N)).Chad Rosier2015-03-032-11/+10
| | | | | | This change only effects codegen when the constant is -3. llvm-svn: 231085
* Migrate clang-format-vs plugin project to VS 2013Hans Wennborg2015-03-032-6/+3
| | | | | | | | | | The plugin still works fine in versions starting from 2010, but this was needed to make the project _build_ in VS 2013, which is the blessed version for building LLVM projects these days. http://reviews.llvm.org/D8021 llvm-svn: 231084
* DebugInfo: Move new hierarchy into place (clang)Duncan P. N. Exon Smith2015-03-03118-568/+1108
| | | | | | | Update testcases for LLVM change in r231082 to use the new debug info hierarchy. llvm-svn: 231083
* DebugInfo: Move new hierarchy into placeDuncan P. N. Exon Smith2015-03-03380-8179/+7656
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the specialized metadata nodes for the new debug info hierarchy into place, finishing off PR22464. I've done bootstraps (and all that) and I'm confident this commit is NFC as far as DWARF output is concerned. Let me know if I'm wrong :). The code changes are fairly mechanical: - Bumped the "Debug Info Version". - `DIBuilder` now creates the appropriate subclass of `MDNode`. - Subclasses of DIDescriptor now expect to hold their "MD" counterparts (e.g., `DIBasicType` expects `MDBasicType`). - Deleted a ton of dead code in `AsmWriter.cpp` and `DebugInfo.cpp` for printing comments. - Big update to LangRef to describe the nodes in the new hierarchy. Feel free to make it better. Testcase changes are enormous. There's an accompanying clang commit on its way. If you have out-of-tree debug info testcases, I just broke your build. - `upgrade-specialized-nodes.sh` is attached to PR22564. I used it to update all the IR testcases. - Unfortunately I failed to find way to script the updates to CHECK lines, so I updated all of these by hand. This was fairly painful, since the old CHECKs are difficult to reason about. That's one of the benefits of the new hierarchy. This work isn't quite finished, BTW. The `DIDescriptor` subclasses are almost empty wrappers, but not quite: they still have loose casting checks (see the `RETURN_FROM_RAW()` macro). Once they're completely gutted, I'll rename the "MD" classes to "DI" and kill the wrappers. I also expect to make a few schema changes now that it's easier to reason about everything. llvm-svn: 231082
* Lower _mm256_broadcastsi128_si256 directly to a vector shuffle.Juergen Ributzka2015-03-034-10/+2
| | | | | | | | | | | | | | Originally we were using the same GCC builtins to lower this AVX2 vector intrinsic. Instead we will now lower it directly to a vector shuffle. This will not only allow LLVM to generate better code, but it will also allow us to remove the GCC intrinsics. Reviewed by Andrea This is related to rdar://problem/18742778. llvm-svn: 231081
* [SDK modernizer]. Patch fixes driver's lack ofFariborz Jahanian2015-03-032-0/+10
| | | | | | | recognition of mernizer's -objcmt-migrate-property-dot-syntax option with a new test in test/Driver. rdar://19994452 llvm-svn: 231080
* IR: Add missing API to specialized metadata nodesDuncan P. N. Exon Smith2015-03-032-1/+82
| | | | | | | | | | | | | | | | | | | Add the final bits of API that `DIBuilder` needs before the new nodes can be moved into place. - Add `MDType::clone()` and `MDType::setFlags()` to support `DIBuilder::createTypeWithFlags()`. - Add `MDBasicType::get()` overload that just requires a tag and a name, as a convenience for `DIBuilder::createUnspecifiedType()`. - Add `MDLocalVariable::withInline()` and `MDLocalVariable::withoutInline()` to support `llvm::createInlinedVariable()` and `llvm::cleanseInlinedVariable()`. (Somehow these got lost inside the "move into place" patch I'm about to commit -- better to commit separately!) llvm-svn: 231079
* Cleanup provided by Carlo BertolliAndrey Churbanov2015-03-032-3/+4
| | | | llvm-svn: 231078
* Add better tests for ctype<char>::classic_tableMarshall Clow2015-03-031-0/+36
| | | | llvm-svn: 231077
* [libcxx] Add support for linking libc++ against a static ABI library.Eric Fiselier2015-03-034-6/+35
| | | | | | | | | | | | | | | | Summary: This patch add the CMake option `LIBCXX_ENABLE_STATIC_ABI_LIBRARY` which, when enabled, will link libc++ against the static version of the ABI library. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: compnerd, cfe-commits Differential Revision: http://reviews.llvm.org/D8017 llvm-svn: 231076
* [libcxxabi] Build both static and shared versions of libc++abi by default.Eric Fiselier2015-03-033-25/+50
| | | | | | | | | | | | | | | | | | | | | | Summary: This patch builds both static and shared versions of libc++abi by default. It adds/repurposes the following cmake options: * `LIBCXXABI_ENABLE_SHARED`: Enable/disable building the shared library. (Previously using `OFF` would build the static library instead) * `LIBCXXABI_ENABLE_STATIC`: Enable/disable building the static library. This patch also re-purposes the CMake target `cxxabi` to be a meta-target for `cxxabi_shared` and `cxxabi_static`. This could potentially break other builds that depend on `cxxabi` being a library target. We will need to apply a patch to libc++'s CMake before committing this change. Running the tests is still only supported when the shared version is built. Support for running the tests against the static library will come in another patch. Reviewers: jroelofs, mclow.lists, danalbert, compnerd Reviewed By: danalbert, compnerd Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8013 llvm-svn: 231075
* Make llvm/test/Object/archive-format.test CRLF-tolerant.NAKAMURA Takumi2015-03-031-5/+4
| | | | llvm-svn: 231074
* [X86][Haswell][SchedModel] Fix patterns for scalar FMA3 variants.Michael Kuperstein2015-03-031-2/+2
| | | | llvm-svn: 231073
* Fix and enable some tests on Linux (MI)Ilia K2015-03-034-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fix and enable some lldb-mi tests on Linux: Fixed: # MiExecInterpreterTestCase.test_lldbmi_thread_step_in # MiExecTestCase.test_lldbmi_exec_step # MiStackTestCase.test_lldbmi_stack_info_frame tests. Also I enabled the following tests on Linux: # MiExecTestCase.test_lldbmi_exec_step_instruction # MiSignalTestCase.test_lldbmi_stopped_when_interrupted All test pass on OS X and Linux. Reviewers: abidh, vharron, clayborg Reviewed By: clayborg Subscribers: vharron, lldb-commits, clayborg, abidh Differential Revision: http://reviews.llvm.org/D7987 llvm-svn: 231072
* Improve MiStackTestCase testsIlia K2015-03-031-2/+27
| | | | | | | | | | | | | | | | | Summary: Improve MiStackTestCase tests. All tests pass on OS X. Reviewers: clayborg, abidh Reviewed By: clayborg Subscribers: lldb-commits, clayborg, abidh Differential Revision: http://reviews.llvm.org/D8004 llvm-svn: 231071
* Allow to pass an executable file via lldb-mi arguments (MI)Ilia K2015-03-035-6/+165
| | | | | | | | | | | | | | | | | | | | Summary: # Allow to pass an executable file via lldb-mi arguments # Add tests # Fix (gdb) prompt in CMIDriver::LocalDebugSessionStartupExecuteCommands # Fix prompt in CMIDriver::InterpretCommandThisDriver: use the lldb-mi prompt instead of a hard-coded value. All tests pass on OS X. Reviewers: abidh, clayborg Reviewed By: clayborg Subscribers: lldb-commits, clayborg, abidh Differential Revision: http://reviews.llvm.org/D8001 llvm-svn: 231070
* AVX-512: Moved patterns for masked load/store under avx_store, avx_load classes.Elena Demikhovsky2015-03-032-74/+94
| | | | | | No functional changes. llvm-svn: 231069
* Make -Wuninitialized warn on pointer-to-member and comma operators.Manuel Klimek2015-03-033-13/+94
| | | | | | | | | | | `isTrackedVar` has been updated to also track records. `DeclRefExpr`s appearing on the left side of a comma operator are ignored, while those appearing on the right side are classified as `Use`. Patch by Enrico Pertoso. llvm-svn: 231068
* Make sure we initialize all values in WhitespaceManager::Change.Manuel Klimek2015-03-031-2/+3
| | | | llvm-svn: 231067
* clang-format: Fix access to uninitialized memory.Daniel Jasper2015-03-032-0/+5
| | | | | | | | | With incomplete code, we aren't guaranteed to generated changes for every token. In that case, we need to assume that even the very first change can continue a preprocessor directive and initialize values accordingly. llvm-svn: 231066
* Fix execution of platform shell commands on androidTamas Berghammer2015-03-033-11/+63
| | | | | | | | | | * Add missing functionality to the process launcher * Fixup PATH environment variable to workaround an OS bug * Add default shell path to the host info structure Differential revision: http://reviews.llvm.org/D8009 llvm-svn: 231065
* During PHI elimination, split critical edges that move copies out of loops.Daniel Jasper2015-03-032-8/+51
| | | | | | | | | | | | | | | | | | | | This prevents the behavior observed in llvm.org/PR22369. I am not sure whether I am reading the code correctly, but the early exit based on isLiveOutPastPHIs() seems to make the wrong assumption that RegisterCoalescer won't be able to coalesce those copies later. This change hides the new behavior behind -no-phi-elim-live-out-early-exit as it currently breaks four tests: * Assertion in: CodeGen/Hexagon/hwloop-cleanup.ll * Worse code in: CodeGen/X86/coalescer-commute4.ll CodeGen/X86/phys_subreg_coalesce-2.ll CodeGen/X86/zlib-longest-match.ll The root cause here seems to be that the heuristic that determines the visitation order in RegisterCoalescer gets less lucky. llvm-svn: 231064
OpenPOWER on IntegriCloud