- Feb 10, 2021
-
-
Sander de Smalen authored
Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D96249
-
Sam Parker authored
Enable partial and runtime unrolling with a threshold of 30, which was derived from a large number of kernels running on node and wasmtime for amd64 and aarch64. Unrolling is enabled by default at -O2 and -O3 and is disabled at -Oz and -Os. Compiling with -Os is recommended if the wasm binary size is the most important factor. Differential Revision: https://reviews.llvm.org/D95125
-
Jessica Paquette authored
Similar to the case for G_ADD. There was a function in CTMark/pairlocalalign which was missing this case, causing GlobalISel to emit a add + csel when a csinc is all that is necessary. https://godbolt.org/z/ax69E9 Minor code size improvements on CTMark at -Os. Differential Revision: https://reviews.llvm.org/D96390
-
Artem Dergachev authored
This reverts commit 3500cc8d. This old commit was made over a completely false premise. OSSymbols aren't different from other OSObjects and we shouldn't treat them differently for the purposes of static analysis.
-
Tres Popp authored
Previously broadcast was a binary op. Now it can support more inputs. This has been changed in such a way that for now, this is an NFC for all broadcast operations that were previously legal. Differential Revision: https://reviews.llvm.org/D95777
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Michael Kruse authored
Even though it has some oddities, both pipelines should be as similar as possible. Also use report_fatal_error instead of assertions to ensure a proper failure in release builds for unsupported options. This finalizes the patch serious to make Polly run in the default configuration when using the NewPM by default.
-
Michael Kruse authored
In particular, print the ast with -debug-only=polly-ast, print a per-scop header with print<polly-ast> and force-add the analysis with -polly-code-generation=ast.
-
Michael Kruse authored
1. LegacyPM: Rename SimplifyLegacyPass to SimplifyWrapperPass. 2. LegacyPM: Complete create/init functions in LinkAllPasses.h 3. NewPM: Only invalidate non-Scop passes if changed. 4. NewPM: Add to default pass pipeline. 5. NewPM: Print -analyze header for each print<polly-simplify>
-
Michael Kruse authored
-
Michael Kruse authored
TargetTransformInfo is required by IslScheduleOptimizer, as ScopPass. Unfortunately it is not possible to get arbitrary larger-unit analyses in for as ScopPass. Loop passes also already use TargetTransformInfo as LoopStandardAnalysisResults, hence wei might expect it to be available to Scop passes as well.
-
Michael Kruse authored
The pass-instrumentation pass is implicitly execute by the NewPM whenever a new analysis runs. Not registering it will cause the crash whenever a scop pass requests an analysis. For instance this is the case for the IstAstAnalysis requesting the DependenceAnalsis result.
-
Michael Kruse authored
-
Michael Kruse authored
-
Michael Kruse authored
-
Ta-Wei Tu authored
glibc deprecates `mallinfo` in the latest version of 2.33. This patch replaces the usage of `mallinfo` with the new `mallinfo2` when it's available. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D96359
-
Max Kazantsev authored
They are analogous to the existing tests, but use different starting offset which can be important for some transforms.
-
Timm Bäder authored
Since ToolChain::GetCXXStdlibType() is a simple getter that might emit the "invalid library name in argument" warning, it can conceivably be called several times while initializing the build pipeline. Before this patch, a simple 'clang++ -stdlib=foo ./test.cpp' would print the warning twice, -rt=lib=foo would print 6 times. Change this and always only print the warning once. Keep the rest of the semantics of the functions. Differential Revision: https://reviews.llvm.org/D95915
-
Uday Bondhugula authored
Fix build warnings from VectorTransforms.cpp.
-
Uday Bondhugula authored
Update affine.for loop unroll utility for iteration arguments support. Fix promoteIfSingleIteration as well. Fixes PR49084: https://bugs.llvm.org/show_bug.cgi?id=49084 Differential Revision: https://reviews.llvm.org/D96383
-
Christopher Di Bella authored
Implements parts of: - P0898R3 Standard Library Concepts - P1754 Rename concepts to standard_case for C++20, while we still can Differential Revision: https://reviews.llvm.org/D77961 -
Yang Fan authored
-
Todd Lipcon authored
Reviewed By: dberris Differential Revision: https://reviews.llvm.org/D96384
-
Todd Lipcon authored
Reviewed By: dberris Differential Revision: https://reviews.llvm.org/D96382
-
Jim Ingham authored
-
Andrew Pritchard authored
These are similar to maxnum and minnum, but they're defined to treat -0 as less than +0. This behavior can't be expressed using float comparisons and selects, since comparisons are defined to treat different-signed zeros as equal. So, the only way to communicate this behavior into LLVM IR without defining target-specific intrinsics is to add the corresponding ops. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96373
-
Andrew Pritchard authored
Previously it reported an op had side-effects iff it declared that it didn't have any side-effects. This had the undesirable result that canonicalization would always delete any intrinsic calls that did memory stores and returned void. Reviewed By: ftynse, mehdi_amini Differential Revision: https://reviews.llvm.org/D96369
-
Michael Kruse authored
In addition to that regression tests should not test the intire pass pipeline (unless they are testing the pipeline itself), the Polly-ACC currently does not support the new pass manager. If enabled by default, such tests will therefore fail. Use the -polly-gpu-runtime and -polly-gpu-arch options also as default values for the PPCGCodeGeneration pass. This requires to move the option to be moved from the pipeline-building Register passes to the PPCGCodeGeneration implementation. Fixes the spir-typesize.ll buildbot fail.
-
Shafik Yaghmour authored
BlockPointerSyntheticFrontEnd does a CopyType which results in it copying the type back into its own context. This will result in a call to ASTImporterDelegate::setOrigin with &decl->getASTContext() == origin.ctx this can result in an infinite recursion later on in ASTImporter since it will attempt to find the decl in its origin which will be itself. Differential Revision: https://reviews.llvm.org/D96366
-
Jim Ingham authored
-
Jim Ingham authored
Differential Revision: https://reviews.llvm.org/D96368
-
Jing Pu authored
Reviewed By: jpienaar, silvas Differential Revision: https://reviews.llvm.org/D96358
-
Eric Schweitz authored
https://github.com/flang-compiler/f18-llvm-project/pull/474 Differential Revision: https://reviews.llvm.org/D96361
-
Thomas Lively authored
The code previously assumed that `getChunk` would return a non-null pointer for every symbol, but in fact it only returns non-null pointers for DefinedFunction and DefinedData symbols. This patch fixes the segfault by checking whether `getChunk` returns a null for each symbol and skipping the mapping output for any symbols for which it does. Differential Revision: https://reviews.llvm.org/D88369
-
River Riddle authored
This allows for referencing nearly every component of an operation from within a custom directive. It also fixes a bug with the current type_ref implementation, PR48478 Differential Revision: https://reviews.llvm.org/D96189
-
River Riddle authored
This revision adds a new `AliasAnalysis` class that represents the main alias analysis interface in MLIR. The purpose of this class is not to hold the aliasing logic itself, but to provide an interface into various different alias analysis implementations. As it evolves this should allow for users to plug in specialized alias analysis implementations for their own needs, and have them immediately usable by other analyses and transformations. This revision also adds an initial simple generic alias, LocalAliasAnalysis, that provides support for performing stateless local alias queries between values. This class is similar in scope to LLVM's BasicAA. Differential Revision: https://reviews.llvm.org/D92343
-
Vinicius Tinti authored
Merging directories and files may produce different results on different platforms. Merging "./Inputs" and "source-interleave-x86_64.c" will use different separators in POSIX and Windows. Dedicated tests are needed for dealing with removing trailing separators for POSIX (consider only '/') and Windows (consider '/' and '\'). Fixes D85024. Fixes PR46368. Reviewed By: jhenderson, MaskRay Differential revision: https://reviews.llvm.org/D95513
-