- Feb 10, 2021
-
-
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
-
River Riddle authored
These properties were useful for a few things before traits had a better integration story, but don't really carry their weight well these days. Most of these properties are already checked via traits in most of the code. It is better to align the system around traits, and improve the performance/cost of traits in general. Differential Revision: https://reviews.llvm.org/D96088
-
zoecarver authored
Adds `noexcept` to `string_view`/`string::find` and similar members (`rfind`, etc.). See discussion in D95251. Refs D95821. Reviewed By: curdeius, ldionne Differential Revision: https://reviews.llvm.org/D95848
-
Sam McCall authored
This change makes dependentName a modifier, rather than a token type. It can be combined with: - type (new, standard) - this combination replaces dependentType like T::typename Foo - unknown (new, nonstandard) - for general dependent names - Field, etc - when the name is dependent but we heuristically resolve it While here, fix cases where template-template-parameter cases were incorrectly flagged as type-dependent. And the merging of modifiers when resolving conflicts accidentally happens to work around a bug that showed up in a test. The behavior observed through the pre-standard protocol should be mostly unchanged (it'll see the bugfixes only). This is done in a somehat fragile way but it's not expected to live long. Differential Revision: https://reviews.llvm.org/D95706
-
Weiwei Li authored
co-authored-by:
Alan Liu <alanliu.yf@gmail.com> Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D96169
-
Sam Clegg authored
This allows data sections that don't start with `.data` to be used/created. Without this, clang's `__attribute__((section("foo")))` would generate assembly that would not parse. Differential Revision: https://reviews.llvm.org/D96233 -
Johannes Doerfert authored
This was reported as PR49104. The reproducer uses varargs but the issue is the same, we know an argument is dead but can't change the signature for some reason. The PR49104 situation was: We are in an CG-SCC traversal and we remove all the uses of an argument and proof it thereby dead. However, if we do not remove the argument, via signature rewrite, we need to ensure that the `undef` we introduce at the call site doesn't clash with a `noundef` attribute.
-
Artem Belevich authored
The patch only plumbs through the option necessary for targeting sm_86 GPUs w/o adding any new functionality. Differential Revision: https://reviews.llvm.org/D95974
-
Mark de Wever authored
There are build bots without C++20 support building the benchmarks. This reverts commit 34acc916.
-
Matt Arsenault authored
We need to avoid setting the kill flag on the CSR spill if there's an additional use of the register after the spill. This does rely on consistency between the entry block liveins and the MRI's function live ins, which is not something the verifier checks now.
-
Matt Arsenault authored
This was taking the calling convention from the parent function, instead of the callee. Avoids regressions in a future patch when the caller and callee have different type breakdowns. For some reason AArch64's lowerFormalArguments seems to intentionally ignore the parent isVarArg.
-
Craig Topper authored
[RISCV] Make the min and max vector width command line options more consistent and check their relationship to each other.
-
Tyker authored
Instcombine will convert the nonnull and alignment assumption that use the boolean condtion to an assumption that uses the operand bundles when knowledge retention is enabled. Differential Revision: https://reviews.llvm.org/D82703
-
Hanhan Wang authored
Add a build method that pads the source with a scalar value. Reviewed By: nicolasvasilache, antiagainst Differential Revision: https://reviews.llvm.org/D96343
-
Tobias Gysi authored
This reverts commit 5fa893cc. Windows build bot fails due to missing header https://reviews.llvm.org/D96326
-
Andrew Litteken authored
When doing some recent debugging of the IROutliner, and using the similarity pass for debugging, just having the basic block and function isn't really enough to get all the information. This adds the first and last instruction to the output of the IRSimilarityPrinting pass to give better information to a user. Reviewer: paquette Differential Revision: https://reviews.llvm.org/D94304
-
Sanjay Patel authored
This is based on the example/comments in: https://llvm.org/PR48984 I tried just lifting the restriction in computeKnownBitsFromShiftOperator() as suggested in the bug report, but that doesn't catch all of the cases shown here. I didn't step through to see exactly why that happened. But it seems like a reasonable compromise to cheaply check the special-case of shifting a constant. There's a slight regression on a cmp transform as noted, but this is likely the more important/common pattern, so we can fix that icmp pattern later if needed. Differential Revision: https://reviews.llvm.org/D95959
-
Craig Topper authored
As of the current draft these are no longer being considered for the bitmanip spec. It wasn't clear what sub extension they belonged in in the 0.93 spec. So remove them. They can always be added back if something changes. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D96157
-
Mark de Wever authored
Some work-in-progress patches for the format header contain benchmarks. The format header requires C++20 to build. This is a preparation to make it easy to add these benchmarks. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D96057
-
Mark de Wever authored
Building libcxx requires at least C++17 so remove the old work-arounds. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D96200
-
Jianzhou Zhao authored
To simplify the review of https://reviews.llvm.org/D95835. Reviewed-by: gbalats, morehouse Differential Revision: https://reviews.llvm.org/D96180
-
George authored
Replace MlirDialectRegistrationHooks with MlirDialectHandle, which under-the-hood is an opaque pointer to MlirDialectRegistrationHooks. Then we expose the functionality previously directly on MlirDialectRegistrationHooks, as functions which take the opaque MlirDialectHandle struct. This makes the actual structure of the registration hooks an implementation detail, and happens to avoid this issue: https://llvm.discourse.group/t/strange-swift-issues-with-dialect-registration-hooks/2759/3 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D96229