- May 10, 2016
-
-
Nadav Rotem authored
llvm-svn: 269073
-
Rafael Espindola authored
llvm-svn: 269072
-
Eric Fiselier authored
Summary: Currently libc++experimental builds with C++11. This patch changes that to C++14 when supported by the compiler. Although nothing currently requires C++14 the upcoming <experimental/memory_resource> implementation would benefit from it. [1] Note that libc++.so continues to build with C++11 and is unaffected by this change. [1] <experimental/memory_resource> provides global resources which must exist for the entire lifetime of the program. In order to ensure that a global resource can be used during program termination there destructors must never be invoked. The only way to do this, while also allowing "constant initialization", is to use a C++14 union. Reviewers: mclow.lists Subscribers: pete, cfe-commits Differential Revision: http://reviews.llvm.org/D19992 llvm-svn: 269070
-
Chris Bieneman authored
Not passing this causes Compiler-RT to fail to configure on multi-lib systems. llvm-svn: 269069
-
Simon Pilgrim authored
As discussed on D19198 - we need to check what happens when we shuffle with different value type to the load llvm-svn: 269068
-
Teresa Johnson authored
Summary: Add support for emission of plaintext lists of the imported files for each distributed backend compilation. Used for distributed build file staging. Invoked with new gold-plugin thinlto-emit-imports-files option, which is only valid with thinlto-index-only (i.e. for distributed builds), or from llvm-lto with new -thinlto-action=emitimports value. Depends on D19556. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D19636 llvm-svn: 269067
-
George Rimar authored
This is the option which sorts relocs to optimize dynamic linker performance. -z combelocs is the default in gold, also it ignores -z nocombreloc, this patch do the same. Patch sorts relocations by symbols only and do not create any DT_REL[A]COUNT entries. That is different with what gold/bfd do. More information about option is here: http://www.airs.com/blog/archives/186 http://people.redhat.com/jakub/prelink.pdf, p.2 Differential revision: http://reviews.llvm.org/D19528 llvm-svn: 269066
-
Etienne Bergeron authored
Summary: Lift some common code used by multiple checkers. This function is also used by checkers that are coming. It is quite common for a checker to parse a list of names. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19846 llvm-svn: 269065
-
Johannes Doerfert authored
Regions with one affine loop can be profitable if the loop is distributable. To this end we will allow them to be treated as profitable if they contain at least two non-trivial basic blocks. llvm-svn: 269064
-
Benjamin Kramer authored
llvm-svn: 269063
-
Renato Golin authored
Seems like my sphynx version is different than the one in the bot, as it accepted everything locally. I think this is the right fix... llvm-svn: 269062
-
Johannes Doerfert authored
llvm-svn: 269061
-
Johannes Doerfert authored
The assumption attached to an llvm.assume in the SCoP needs to be combined with the domain of the surrounding statement but can nevertheless be used to refine the context. This fixes the problems mentioned in PR27067. llvm-svn: 269060
-
Teresa Johnson authored
This restores commit r268627: Summary: When launching ThinLTO backends in a distributed build (currently supported in gold via the thinlto-index-only plugin option), emit an individual index file for each backend process as described here: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098272.html ... Differential Revision: http://reviews.llvm.org/D19556 Address msan failures by avoiding std::prev on map.end(), the theory is that this is causing issues due to some known UB problems in __tree. llvm-svn: 269059
-
Pavel Labath authored
Clear() log message was claiming it was the destructor, which had me very confused when looking at the log messages. Fix the message, and add a log message to the real destructor. Also noticed that the destructor was needlessly locking the broadcaster mutex (as Clear was locking it again anyway), so remove that as well. llvm-svn: 269058
-
Pavel Labath authored
llvm-svn: 269057
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D20063 llvm-svn: 269056
-
Johannes Doerfert authored
This patches makes the propagation of complexity problems during domain generation consistent. Additionally, it makes it less likely to encounter ill-formed domains later, e.g., during schedule generation. llvm-svn: 269055
-
Renato Golin authored
HowToCrossCompile was outdated and generating too much traffic on the mailing list with similar queries. This change helps offset most of the problems that were reported recently including: * Removing the -ccc-gcc-name, adding --sysroot * Making references to Debian's multiarch for target libraries * Expanding -DCMAKE_CXX_FLAGS for both GCC and Clang * Some formatting and clarifications in the text llvm-svn: 269054
-
Johannes Doerfert authored
Before this patch we generated error-restrictions only for error-blocks, thus blocks (or regions) containing a not represented function call. However, the same reasoning is needed if the invalid domain of a statement subsumes its actual domain. To this end we move the generation of error-restrictions after the propagation of the invalid domains. Consequently, error-statements are now defined more general as statements that are assumed to be not executed. Additionally, we do not record an empty domain for such statements but a nullptr instead. This allows to distinguish between error-statements and dead-statements. llvm-svn: 269053
-
Silviu Baranga authored
This removes a redundant stride versioning step (we already do it in getPtrStride, so it has no effect) and uses PSE to get the SCEV expressions for the source and destination (this might have changed when getPtrStride was called). I discovered this through code inspection, and couldn't produce a regression test for it. llvm-svn: 269052
-
James Molloy authored
This was a fairly simple patch but on closer inspection was seriously flawed and caused PR27690. This reverts commit r268921. llvm-svn: 269051
-
Alexey Bataev authored
directives. OpenMP 4.5 supports clause 'priority' in task-based directives. Patch adds initial codegen support for this clause in codegen. llvm-svn: 269050
-
Johannes Doerfert authored
Remove obsolete code and decrease the indention in the Scop::simplifySCoP() function. llvm-svn: 269049
-
Johannes Doerfert authored
We now use context information to simplify the domains and access functions of the SCoP instead of just aligning them with the parameter space. llvm-svn: 269048
-
Daniel Sanders authored
Following post-commit comments on r268900 from Rafael Espindola: The missing relocations are now explicitly listed in the switch statement with appropriate FIXME comments and the default path is now unreachable. The temporary exception to this is that compound relocations for N64 still have a default path that returns true. This is because fixing that case ought to be a separate patch. Also make R_MIPS_NONE return false since it has no effect on the section data. llvm-svn: 269047
-
Johannes Doerfert authored
llvm-svn: 269046
-
Johannes Doerfert authored
Previously we checked the number of pieces to decide whether or not a invariant load was to complex to be generated. However, there are cases when e.g., divisions cause the complexity to spike regardless of the number of pieces. To this end we now check the number of totally involved dimensions which will increase with the number of pieces but also the number of divisions. llvm-svn: 269045
-
Johannes Doerfert authored
This exposes the functionality to interpret a SCEV, or better the piece-wise function created from the SCEV, as an unsigned value instead of a signed one. llvm-svn: 269044
-
Benjamin Kramer authored
llvm-svn: 269043
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D20064 llvm-svn: 269042
-
Dmitry Vyukov authored
Another stack where we try to free sync objects, but don't have a processors is: // ResetRange // __interceptor_munmap // __deallocate_stack // start_thread // clone Again, it is a latent bug that lead to memory leaks. Also, increase amount of memory we scan in MetaMap::ResetRange. Without that the test does not fail, as we fail to free the sync objects on stack. llvm-svn: 269041
-
Jeroen Ketema authored
Differential Revision: http://reviews.llvm.org/D19828 llvm-svn: 269040
-
Alexey Bataev authored
If private variables require destructors call at the deletion of the task, additional flag in task flags must be set. Patch fixes this problem. llvm-svn: 269039
-
Simon Pilgrim authored
llvm-svn: 269038
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D20061 llvm-svn: 269037
-
Benjamin Kramer authored
llvm-svn: 269036
-
Alexey Bataev authored
schedule modifiers. Runtime library expects some additional data in schedule argument for loop-based directives, that have additional schedule modifiers 'monotonic|nonmonotonic'. llvm-svn: 269035
-
Chuang-Yu Cheng authored
Loop rotation clones instruction from the old header into the preheader. If there were uses of values produced by these instructions that were outside the loop, we have to insert PHI nodes to merge the two values. If the values are used by DbgIntrinsics they will be used as a MetadataAsValue of a ValueAsMetadata of the original values, and iterating all of the uses of the original value will not update the DbgIntrinsics. The new code checks if the values are used by DbgIntrinsics and if so, updates them using essentially the same logic as the original code. The attached testcase demonstrates the issue. Without the fix, the DbgIntrinic outside the loop uses values computed inside the loop, even though these values do not dominate the DbgIntrinsic. Author: Thomas Jablin (tjablin) Reviewers: dblaikie aprantl kbarton hfinkel cycheng http://reviews.llvm.org/D19564 llvm-svn: 269034
-
Arnaud A. de Grandmaison authored
When a va_start or va_copy is immediately followed by a va_end (ignoring debug information or other start/end in between), then it is safe to remove the pair. As this code shares some commonalities with the lifetime markers, this has been factored to helper functions. This InstCombine pattern kicks-in 3 times when running the LLVM test suite. llvm-svn: 269033
-