- Feb 10, 2021
-
-
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
-
Florian Hahn authored
VP blocks keep track of a condition, which is a VPValue. This patch updates VPBlockBase to manage the value using VPUser, so replaceAllUsesWith properly updates the condition bit as well. This is required to enable VP2VP transformations and it helps with simplifying some of the code required to manage condition bits. Reviewed By: gilr Differential Revision: https://reviews.llvm.org/D95382
-
Jessica Paquette authored
Similar to 3d25fdc5 This fixes bad codegen in cases like so: https://godbolt.org/z/hePhz1 Differential Revision: https://reviews.llvm.org/D96296
-
David Tenty authored
We implement getHostCPUName() for AIX via systemcfg interfaces since access to the processor version register is a privileged operation. We return a value based on the current processor implementation mode. This fixes the cpu detection used by clang for `-mcpu=native`. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D95966
-
Richard Smith authored
constructor. We got this wrong only when forming a CXXTemporaryObjectExpr, which caused the bug to only appear for certain syntactic forms.
-
George authored
I knew I would miss one... Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D96321
-
Sam Clegg authored
This moves the error checking until after all optional symbols (including the section start/end symbols) have been created. Differential Revision: https://reviews.llvm.org/D96318
-
Arthur O'Dwyer authored
Implement the resolution of LWG2993. Replace a deleted constructor with a constructor that SFINAEs away in appropriate circumstances. Also, now that the constructor is templated, we must have an explicit deduction guide to make CTAD work. Some tests have been merged in from Agustín Bergé's D40259. Differential Revision: https://reviews.llvm.org/D92725
-
Michał Górny authored
Introduce a minimal support for the 32-bit powerpc platform. This includes support for GPR and FPR registers. I also needed to add software breakpoint opcode for PPC32/PPC64 (big endian), and to fix offsets in RegisterInfos_powerpc.h (used only by FreeBSD register context to be globally unique rather than relative to each struct). Differential Revision: https://reviews.llvm.org/D95947
-