- Mar 17, 2017
-
-
Eric Liu authored
Reviewers: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D31076 llvm-svn: 298090
-
Michael Kruse authored
The AssumptionCache removal of r289756 has been reverted in r290086/r290087. A different solution has been implemented in r291671 which keeps the AssumptionCache. We can therefore use it again in Polly. This reverts r289791. llvm-svn: 298089
-
Rafael Espindola authored
llvm-svn: 298088
-
George Rimar authored
llvm-svn: 298087
-
George Rimar authored
With fix of next warning: Writer.cpp:361:3: warning: suggest parentheses around assignment used as truth value [-Wparentheses] Original commit message: Patch reuses BssSection section to simplify creation of COMMON section. Differential revision: https://reviews.llvm.org/D30690 llvm-svn: 298086
-
Siddharth Bhat authored
Since may-writes are always a superset of the must-writes, there is no point in taking a union of one with the other. llvm-svn: 298085
-
George Rimar authored
It segfaults. llvm-svn: 298084
-
Rafael Espindola authored
llvm-svn: 298083
-
George Rimar authored
Writer.cpp:361:3: warning: suggest parentheses around assignment used as truth value [-Wparentheses] llvm-svn: 298082
-
Michael Kruse authored
In the previous default ScopInfo applied the profitability heuristic for scalar accesses (-polly-unprofitable-scalar-accs=true) and the -polly-prune-unprofitable was disabled by default (-polly-enable-prune-unprofitable=false) as that pruning was already done. This changes switches the defaults to -polly-unprofitable-scalar-accs=true -polly-enable-prune-unprofitable=false such that the scalar access heuristic check is done by the pass. This allows passes between ScopInfo and PruneUnprofitable to optimize away scalar accesses. Without enabling such intermediate passes, there is no change in behaviour of profitability checks in a PassManagerBuilder built pass chain, but it allows us to cover this configuration with the buildbots. Suggested-by:
Tobias Grosser <tobias@grosser.es> llvm-svn: 298081
-
Michael Kruse authored
ScopInfo's normal profitability heuristic considers SCoPs where all statements have scalar writes as not profitably optimizable and invalidate the SCoP in that case. However, -polly-delicm and -polly-simplify may be able to remove some of the scalar writes such that the flag -polly-unprofitable-scalar-accs=false allows disabling that part of the heuristic. In cases where DeLICM (or other passes after ScopInfo) are not successful in removing scalar writes, the SCoP is still not profitably optimizable. The schedule optimizer would again try computing another schedule, resulting in slower compilation. The -polly-prune-unprofitable pass applies the profitability heuristic again before the schedule optimizer Polly can still bail out even with -polly-unprofitable-scalar-accs=false. Differential Revision: https://reviews.llvm.org/D31033 llvm-svn: 298080
-
Rafael Espindola authored
This fixes pr32031 by representing the expressions results as a SectionBase and offset. This allows us to use an input section directly instead of getting lost trying to compute an offset in an outputsection when not all the information is available yet. This also creates a struct to represent the *value* of and expression, allowing the expression itself to be a simple typedef. I think this is easier to read and will make it easier to extend the expression computation to handle more complicated cases. llvm-svn: 298079
-
George Rimar authored
Patch reuses BssSection section to simplify creation of COMMON section. Differential revision: https://reviews.llvm.org/D30690 llvm-svn: 298078
-
Tobias Grosser authored
For experiments it is sometimes helpful to provide parameter bound information to polly and to not use these parameter bounds for simplification. Add a new option "-polly-ignore-parameter-bounds" which does precisely this. llvm-svn: 298077
-
Rafael Espindola authored
llvm-svn: 298076
-
Siddharth Bhat authored
Change isl_dim_n_out to isl_map_dim(*, isl_dim_out) llvm-svn: 298075
-
Siddharth Bhat authored
Dependences::calculateDependences. This ensures that we handle may-writes correctly when building dependence information. Also add a test case checking correctness of may-write information. Not handling it before was an oversight. Differential Revision: https://reviews.llvm.org/D31075 llvm-svn: 298074
-
Tobias Grosser authored
For experiments it is sometimes helpful to not take any inbounds assumptions. Add a new option "-polly-ignore-inbounds" which does precisely this. llvm-svn: 298073
-
George Rimar authored
llvm-svn: 298072
-
George Rimar authored
llvm-svn: 298071
-
George Rimar authored
Error was: Relocations.cpp:792:38: error: expected primary-expression before ‘>’ token In<ELFT>::Iplt->addEntry<ELFT>(Body); llvm-svn: 298070
-
Pavel Labath authored
llvm-svn: 298069
-
Oliver Stannard authored
This fixes https://bugs.llvm.org//show_bug.cgi?id=31280 Differential revision: https://reviews.llvm.org/D31026 llvm-svn: 298067
-
Pavel Labath authored
Summary: GetAuxvData was causing dependencies from host to target and linux process modules. It also does not fit netbsd use case, as there we can only read the auxiliary vector with ptrace, which is better done in the process plugin, with the other ptrace calls. I resolve these issues by moving the freebsd and linux versions into the relevant process plugins. In case of linux, this required adding an interface in NativeProcessProtocol. The empty definitions on other platforms can simply be removed. To get the code compiling I had to add ProcessGdbRemote -> ProcessLinux dependency, which was not caught before because we depended on it transitively. Reviewers: zturner, emaste Subscribers: srhines, mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D31031 llvm-svn: 298066
-
George Rimar authored
Alternative approach can be remove templated method either, like D31028 do. llvm-svn: 298065
-
George Rimar authored
It failed for me under windows, touch reported invalid date format. Seems related to 12h/24h format, though I don't understant why 197001010200 does not work, but 197001010300 works, I see no logic here. Changed to 197001011200. llvm-svn: 298064
-
Pavel Labath authored
It seems sysctl.h is not self-contained, as I get missing symbols in the header itself now. I am going to include all files that the file I moved this from included, and hope that is enough. llvm-svn: 298063
-
George Rimar authored
Was fixed, details on review page. Original commit message: That removes CopyRelSection class completely, making Bss/BssRelRo to be just regular synthetics. This is splitted from D30541 and polished. Difference from D30541 that all logic of SharedSymbol converting to DefinedRegular was removed for now and probably will be posted as separate patch. Differential revision: https://reviews.llvm.org/D30892 llvm-svn: 298062
-
Pavel Labath authored
broken by r298058. llvm-svn: 298061
-
Alexander Kornienko authored
llvm-svn: 298060
-
Alexander Kornienko authored
Summary: Fixed erroneously flagging of chained if statements when styled like this: ``` if (cond) { } else if (cond) { } else { } ``` Reviewers: xazax.hun, alexfh Reviewed By: xazax.hun, alexfh Subscribers: JDevlieghere, cfe-commits Patch by Florian Gross! Differential Revision: https://reviews.llvm.org/D30841 llvm-svn: 298059
-
Pavel Labath authored
Summary: These classes existed only because of the GetName() static function, which can be moved to a more natural place anyway. I move the linux version to NativeProcessLinux (and get rid of ProcFileReader), the freebsd version to ProcessFreeBSD (and fix a bug where it was using the current process ID, instead of the inferior pid), and remove the NetBSD version (which was probably incorrect anyway, as it assumes the current process instead of the inferior. I also add an llgs test to that verifies thread names are read correctly. Reviewers: zturner, krytarowski, emaste Subscribers: lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D30981 llvm-svn: 298058
-
Alexander Kornienko authored
llvm-svn: 298057
-
Andre Vieira authored
Fixing triple format in the tests added for the branch label fix for Thumb Targets. Also recommitting previously approved patch, see https://reviews.llvm.org/D30943. Reviewed by: samparker Differential Revision: https://reviews.llvm.org/D30987 llvm-svn: 298056
-
Andre Vieira authored
Patch to fix lld tests after my llvm-objdump patch to fix branch labels for Thumb targets. Reviewed by: emaste Differential Revision: https://reviews.llvm.org/D30986 llvm-svn: 298055
-
Tobias Grosser authored
In subsequent changes we will make Polly a little bit more lazy in adding parameter dimensions to different sets. As a result, not all parameters will always be part of the parameter space. This change ensures that we do not use the '-1' returned when a parameter dimension cannot be found, but instead just do not try to eliminate the anyhow non-existing dimension. llvm-svn: 298054
-
Tobias Grosser authored
Since several years, isl can perform most operations on sets with differing parameter spaces, by expanding the parameter space on demand relying using named isl ids to distinguish different parameter dimensions. By not always expanding to full dimensionality the set remain smaller and can likely be operated on faster. This change by itself did not yet result in measurable performance benefits, but it is a step into the right direction needed to ensure that subsequent changes indeed can work with lower-dimensional sets and these sets do not get blown up by accident when later intersected with the domain context. llvm-svn: 298053
-
Alexander Kornienko authored
This fixes http://llvm.org/PR32221. llvm-svn: 298052
-
Craig Topper authored
[AVX-512] Make VEX encoded FMA instructions available when AVX512 is enabled regardless of whether +fma was added on the command line. We weren't able to handle isel of the 128/256-bit FMA instructions when AVX512F was enabled but VLX and FMA weren't. I didn't mask FeatureAVX512 imply FeatureFMA as I wasn't sure I wanted disabling FMA to also disable AVX512. Instead we just can't prevent FMA instructions if AVX512 is enabled. Another option would be to promote 128/256-bit to 512-bit, do the operation and extract it. But that requires a lot of extra isel patterns. Since no CPUs exist that support AVX512, but not FMA just using the VEX instructions seems better. llvm-svn: 298051
-
Craig Topper authored
llvm-svn: 298050
-