summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed unused variable warning in non-assert builds from rL237885Simon Pilgrim2015-05-211-2/+1
| | | | llvm-svn: 237889
* XFAIL TestEvents on Linux bacuse it is flakyTamas Berghammer2015-05-211-0/+1
| | | | llvm-svn: 237888
* XFAILing TestRaise on darwin due to an apparent bugPavel Labath2015-05-211-0/+2
| | | | llvm-svn: 237887
* [ELF] Move start/end atom method assignment to OutputELFWriter. NFCDenis Protivensky2015-05-213-25/+28
| | | | llvm-svn: 237886
* [X86][SSE] Improve support for 128-bit vector sign extensionSimon Pilgrim2015-05-217-300/+298
| | | | | | | | | | This patch improves support for sign extension of the lower lanes of vectors of integers by making use of the SSE41 pmovsx* sign extension instructions where possible, and optimizing the sign extension by shifts on pre-SSE41 targets (avoiding the use of i64 arithmetic shifts which require scalarization). It converts SIGN_EXTEND nodes to SIGN_EXTEND_VECTOR_INREG where necessary, that more closely matches the pmovsx* instruction than the default approach of using SIGN_EXTEND_INREG which splits the operation (into an ANY_EXTEND lowered to a shuffle followed by shifts) making instruction matching difficult during lowering. Necessary support for SIGN_EXTEND_VECTOR_INREG has been added to the DAGCombiner. Differential Revision: http://reviews.llvm.org/D9848 llvm-svn: 237885
* [mips] [IAS] Add 2 missing CHECK directives for fixups in mips-expansions.s.Toma Tabacu2015-05-211-2/+2
| | | | llvm-svn: 237884
* [ARM] Remove unused fields in dynamic library writerDenis Protivensky2015-05-211-5/+1
| | | | llvm-svn: 237883
* [OPENMP] Fixed codegen for parameters privatization.Alexey Bataev2015-05-2113-91/+32
| | | | | | For parameters we shall take a derived type of parameters, not the original one. llvm-svn: 237882
* [ARM] Add skeleton implementation of DSO linkingDenis Protivensky2015-05-213-0/+49
| | | | llvm-svn: 237881
* [NativeProcessLinux] Fix handling of SIGSTOPPavel Labath2015-05-214-25/+132
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, NPL tried to reinject SIGSTOP into the inferior in an attempt to get the process to start in the group-stop state. This was: a) wrong (reinjection should be controlled by "process handle" lldb setting) b) racy (it should use Resume for transparent resuming instead of RequestResume) c) broken (llgs crashed on inferior SIGSTOP) With this change, SIGSTOP is handled just like any other signal delivered to the inferior: we stop all threads and report signal reception to lldb. SIGSTOP reinjection does not behave the same way as it would outside the debugger, but simulating this is a hard problem and is not normally necessary. Test Plan: I have added a test which verifies we get SIGSTOP reports and we do not crash. Reviewers: ovyalov, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9852 llvm-svn: 237880
* [OPENMP] Fixed codegen for lastprivate LCV in worksharing constructs.Alexey Bataev2015-05-212-3/+90
| | | | | | If loop control variable in a worksharing construct is marked as lastprivate, we should copy last calculated value of private counter back to original variable. llvm-svn: 237879
* trivial log print fixVince Harron2015-05-211-1/+1
| | | | llvm-svn: 237878
* [TableGen] Resolve complex def names inside multiclassesHal Finkel2015-05-213-6/+86
| | | | | | | | | We had not been trying hard enough to resolve def names inside multiclasses that had complex concatenations, etc. Now we'll try harder. Patch by Amaury Sechet! llvm-svn: 237877
* AsmPrinter: Compute absolute label difference directlyDuncan P. N. Exon Smith2015-05-214-0/+47
| | | | | | | | | | | | | | | | | | Create a low-overhead path for `EmitLabelDifference()` that emits a emits an absolute number when (1) the output is an object stream and (2) the two symbols are in the same data fragment. This drops memory usage on Mach-O from 975 MB down to 919 MB (5.8%). The only call is when `!doesDwarfUseRelocationsAcrossSections()` -- i.e., on Mach-O -- since otherwise an absolute offset from the start of the section needs a relocation. (`EmitLabelDifference()` is cheaper on ELF anyway, since it creates 1 fewer temp symbol, and it gets called far less often. It's not clear to me if this is even a bottleneck there.) (I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`; see r236629 for details.) llvm-svn: 237876
* MC: Initialize MCSymbolData::Offset directlyDuncan P. N. Exon Smith2015-05-211-1/+3
| | | | | | | Try to fix miscompile after r237873. Looks like this union initialization isn't legal (or at least not supported). llvm-svn: 237875
* [MemCpyOpt] Do move the memset, but look at its dest's dependencies.Ahmed Bougacha2015-05-212-2/+29
| | | | | | | | | In effect a partial revert of r237858, which was a dumb shortcut. Looking at the dependencies of the destination should be the proper fix: if the new memset would depend on anything other than itself, the transformation isn't correct. llvm-svn: 237874
* MC: Simplify MCSymbolData initialization and remove MCSymbol pointerDuncan P. N. Exon Smith2015-05-213-42/+17
| | | | | | | | | | | | | | | | | | | Finally remove the `MCSymbolData::Symbol` pointer. It was still being used to track whether `MCSymbolData` had been initialized, but this is better tracked by the bitfield in `MCSymbol`. The only caller of `MCSymbolData::initialize()` was `MCAssembler`, which (other than `Symbol`) passed in all-0 values. Replace all that indirection with a default constructor. The main point is a cleanup (and there's more cleanup to do), but there are also some small memory savings. I measured ~989 MB down to ~975 MB, cutting a little over 1% off the top of `llc`. (I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`; see r236629 for details.) llvm-svn: 237873
* Avoid using a C++11 library feature not present in libstdc++4.7.Richard Smith2015-05-211-2/+1
| | | | llvm-svn: 237872
* [modules] If we re-enter a submodule from within itself (when submoduleRichard Smith2015-05-218-80/+138
| | | | | | | | | | visibility is enabled) or leave and re-enter it, restore the macro and module visibility state from last time we were in that submodule. This allows mutually-#including header files to stand a chance at being modularized with local visibility enabled. llvm-svn: 237871
* [Driver] Improve unused-argument diagnostic for extra sanitizer features.Alexey Samsonov2015-05-213-3/+18
| | | | | | | | | | | | | | | Don't print unused-argument warning for sanitizer-specific feature flag if this sanitizer was eanbled, and later disabled in the command line. For example, now: clang -fsanitize=address -fsanitize-coverage=bb -fno-sanitize=address a.cc doesn't print warning, but clang -fsanitize-coverage=bb does. Same holds for -fsanitize-address-field-padding= and -fsanitize-memory-track-origins= flags. Fixes PR23604. llvm-svn: 237870
* Document the CoreCLR GC StrategySwaroop Sridhar2015-05-211-0/+23
| | | | | | | Add notead about the CoreCLR GC Strategy to the Garbage Collection document. llvm-svn: 237869
* MC: Make MCSymbolData::Symbol privateDuncan P. N. Exon Smith2015-05-211-2/+0
| | | | | | | | | Make the back-pointer from `MCSymbolData` to `MCSymbol` private, preparing to remove the back pointer entirely. I've already updated all the users, although for now it's still used to indicate whether `MCSymbol::Data` has been initialized. llvm-svn: 237868
* MC: Remove last use of MCSymbolData::getSymbol(), NFCDuncan P. N. Exon Smith2015-05-211-3/+3
| | | | | | | | | | | | | | Remove the last use of `MCSymbolData::getSymbol()`. There's some *really* hairy stuff going on in `MachObjectWriter::WriteNList()` that I want to come back to. In particular, it updates `Symbol` to point at its aliasee (if any), but leaves `Data` behind, and it's not clear whether everything makes sense there. For now I've left the logic unchanged by adding `OrigSymbol` and moving the FIXME from r237750 up a bit higher. I've filed PR23598 to track looking into this. llvm-svn: 237867
* Fix the logic in DynamicLoaderMacOSXDYLD::Clear that would only remove the ↵Jim Ingham2015-05-211-3/+8
| | | | | | | | | | | | old dyld notification breakpoint only if the process it was for is still alive. We need to always remove this because it has a pointer to the old loader, and if we ever hit it we will crash. I also put in a sanity check in the callback function to make sure we don't invoke it if the process is wrong. <rdar://problem/21006189> llvm-svn: 237866
* Fixed an issue with expressions that define types in the expression. We must ↵Greg Clayton2015-05-211-19/+27
| | | | | | | | currently touch the members of the struct in the right order or our ClangASTImporter::DeportType() will copy the resulting type into the target AST incorrectly. This is a work around for <rdar://problem/21049838> which the copy type issue so that it doesn't happen. <rdar://problem/20902950> llvm-svn: 237865
* Using -pthread instead of -lpthread to appease GCC.Chaoren Lin2015-05-211-1/+1
| | | | llvm-svn: 237864
* Rename a helper template function to 'bytes' to avoid a C++17 STL conflictReid Kleckner2015-05-211-15/+15
| | | | | | | | | MSVC 2015 includes the std::data() template function added to C++17. ADL causes both cl.exe and clang-cl to prefer std::data over our static helper here, and we get errors about converting int64_t* to StringRef. Renaming it to bytes avoids the ambiguity. llvm-svn: 237863
* Work around overloading bug in MSVC 2015Reid Kleckner2015-05-211-3/+3
| | | | | | | | MSVC 2015 appears to be unable to find the correct operator== here. I haven't yet filed a bug with Microsoft as I've been unable to create a reduced test case. llvm-svn: 237862
* [MemCpyOpt] Pass Instruction to IRBuilder, no need for NextNode. NFC.Ahmed Bougacha2015-05-211-2/+2
| | | | | | We're erasing the instructions anyway. llvm-svn: 237861
* [opaque pointer type] Pass explicit pointee type in another case of GEP ↵David Blaikie2015-05-211-1/+1
| | | | | | constant folding llvm-svn: 237860
* Fix build errorAndrew Kaylor2015-05-201-1/+1
| | | | llvm-svn: 237859
* [MemCpyOpt] Don't move the memset when optimizing memset+memcpy.Ahmed Bougacha2015-05-202-7/+7
| | | | | | | | | | | | Fixes PR23599, another miscompile introduced by r235232: when there is another dependency on the destination of the created memset (i.e., the part of the original destination that the memcpy doesn't depend on) between the memcpy and the original memset, we would insert the created memset after the memcpy, and thus after the other dependency. Instead, insert the created memset right after the old one. llvm-svn: 237858
* [LLD] Make lastOrdinal atomic to avoid race conditions.Lang Hames2015-05-201-1/+2
| | | | | | No test case: We don't have a good way to test race conditions. llvm-svn: 237857
* Check for bool-like conversion in conditional expressions.Richard Trieu2015-05-203-4/+32
| | | | | | | | | | Add a check for bool-like conversions for the condition expression of conditional operators. This is similiar to the checking of condition expressions of if statements, for-loops, while-loops, and do-while loops. Specificially, this is to fix the problem of assert("message") not triggering -Wstring-conversion when the assert macro uses a conditional operator. llvm-svn: 237856
* Fix build warningAndrew Kaylor2015-05-201-1/+1
| | | | llvm-svn: 237855
* [WinEH] C++ EH state numbering fixesAndrew Kaylor2015-05-209-167/+426
| | | | | | Differential Revision: http://reviews.llvm.org/D9787 llvm-svn: 237854
* [WinEH] Store pointers to the LSDA in the exception registration objectReid Kleckner2015-05-206-13/+115
| | | | | | | We aren't yet emitting the LSDA yet, so this will still fail to assemble. llvm-svn: 237852
* Don't generate comments in the DebugLocStream unless required. NFC.Pete Cooper2015-05-203-10/+22
| | | | | | | | | | | | The ByteStreamer here wasn't taking account of whether the asm streamer was text based and verbose. Only with that combination should we emit comments. This change makes sure that we only actually convert a Twine to a string using Twine::str() if we need the comment. This saves about 10000 small allocations on a test case involving the verify-use_list-order bitcode going through llc with debug info. Note, this is NFC as the comments would ultimately never be emitted unless required. Reviewed by Duncan Exon Smith and David Blaikie. llvm-svn: 237851
* [OpenMP] Make default OpenMP library (the one selected with just -fopenmp)Richard Smith2015-05-203-45/+63
| | | | | | | | | configurable in the CMake build. There shouldn't be any change in default behavior. Derived from a patch by Daniel Jasper! llvm-svn: 237850
* Revert "Add bool to DebugLocDwarfExpression to control emitting comments."Pete Cooper2015-05-204-17/+6
| | | | | | | | This reverts commit 0037b6bcbc874aa1b93d7ce3ad8dba3753ee2d9d (r237827). David Blaikie suggested some alternatives to this which are better. Reverting to apply a better solution later. llvm-svn: 237849
* [darwin] fix libcompiler_rt.dylib buildNick Kledzik2015-05-201-1/+1
| | | | | | | The dylib build of compiler-rt has been broken on darwin since the directory restructuring to push some things down into /builtins/. llvm-svn: 237848
* [LLD] Fix an out-of-order-initialization bug that was introduced in r237841 byLang Hames2015-05-201-1/+1
| | | | | | moving a field in MachOLinkingContext. llvm-svn: 237847
* [LLD] Revert r237842 - it went in without a proper commit message.Lang Hames2015-05-201-1/+1
| | | | llvm-svn: 237846
* Change CMake variable prefix to LIBOMPJonathan Peyton2015-05-2010-248/+227
| | | | | | | | | | | Cached CMake variables need to have a prefix so they don't collide with other projects. This change (a lot of simple changes) simply prefixes cached variables with LIBOMP_ and sets all of these variables to UPPERCASE which is convention. e.g., os => LIBOMP_OS, ompt_support => LIBOMP_OMPT_SUPPORT. Differential Revision: http://reviews.llvm.org/D9829 llvm-svn: 237845
* Have TestNumThreads use std::thread instead of pthreads so that it can work ↵Adrian McCarthy2015-05-204-62/+57
| | | | | | cross-platform. llvm-svn: 237844
* Revert r237828 "[X86] Remove unused node after morphing it from shr to and."Hans Wennborg2015-05-202-18/+0
| | | | | | This caused assertions during DAG combine: PR23601. llvm-svn: 237843
* yLang Hames2015-05-201-1/+1
| | | | llvm-svn: 237842
* [LLD] Add support for the -stack_size option to Darwin ld.Lang Hames2015-05-209-5/+52
| | | | llvm-svn: 237841
* [doc] Update Lexicon with C++ unwinder acronymsNick Kledzik2015-05-201-0/+21
| | | | llvm-svn: 237840
* Evaluate union cast subexpressions when the cast value is unusedReid Kleckner2015-05-202-1/+17
| | | | | | Fixes PR23597. llvm-svn: 237839
OpenPOWER on IntegriCloud