You need to sign in or sign up before continuing.
- May 02, 2024
-
-
Jay Foad authored
Use structured bindings and similar.
-
Antonio Frighetto authored
Performing `instSimplify` while cloning is unsafe due to incomplete remapping (as reported in #87534). Ideally, `instSimplify` ought to reason on the updated newly-cloned function, after returns have been rewritten and callee entry basic block / call-site have been fixed up. This is in contrast to `CloneAndPruneIntoFromInst` behaviour, which is inherently expected to clone basic blocks, with pruning on top of – if any –, and not actually fixing up returns / CFG, which should be up to the Inliner. We may solve this by letting `instSimplify` work on the newly-cloned function, while maintaining old function attributes, so as to avoid inconsistencies between the yet-to-be-solved return type, and new function ret type attributes.
-
Antonio Frighetto authored
Original commit: a61f9fe3 Multiple 2-stage buildbots were reporting failures. These issues have been addressed separately. Fixes: https://github.com/llvm/llvm-project/issues/87534.
-
Yaxun (Sam) Liu authored
It requires amdgpu registered target.
-
Youngsuk Kim authored
First round of Sema checks were run at initial parsing step. Creating a new BinaryOperator instance (with the re-built LHS or RHS) will trigger another round of Sema checks, which can lead to duplicate diagnostic warning messages. All we want here is to replace the LHS or RHS with a NonOdrUse version. Don't create a new BinaryOperator, but simply replace the LHS or RHS of the given BinaryOperator. Fixes #45783
-
Daniel Chen authored
This PR is to fix issue #88889 . Because the type of an actual argument of an array expression of character has type of `hlfir::ExprType`, we need to transform it to `fir::SequenceType` before calling `getBoxTypeWithNewShape`. Calling `hlfir::ExprType::getShape` inside of `getBoxTypeWithNewShape` will introduce a circular dependency on FIRDialect and HLFIRDialect libraries.
-
paperchalice authored
This was removed due to avoid circular dependency between `CodeGen` and `Passes`, but now I realized this is no longer a problem since `CodeGenPassBuilder` is moved into `Passes`.
-
Timm Bäder authored
Also ConceptSpecializationExpr, although I don't have a test case at hand for those.
-
Yaxun (Sam) Liu authored
HipStdParAcceleratorCodeSelectionPass changes linkage of global variables to extern_weak, which does not allow initializer. An extern_weak global variable with initializer will cause llvm-as and llc to fail.
-
Alexey Bataev authored
Need to check if the vectorized value is a PHINode before insert casting instruction and insert it after all phis to generate the code correctly.
-
Omair Javaid authored
CMake configure compiler-rt got broken as a result of following commit: d3925e65 This patch fixes the break by porting the above commit for clang-cl. This problem was not caught on Windows buildbots beacuase it appeared when compiler-rt was included via LLVM_ENABLE_PROJECTS while buildbots include compiler-rt project using LLVM_ENABLE_RUNTIMES flag.
-
Erich Keane authored
This implementation takes quite a bit from the OMP implementation of array sections, but only has to enforce the rules as applicable to OpenACC. Additionally, it does its best to create an AST node (with the assistance of RecoveryExprs) with as much checking done as soon as possible in the case of instantiations.
-
Matt Arsenault authored
-
smanna12 authored
The null pointer dereference issue seems happening with in the expression NNS->getAsType(). Although dyn_cast_or_null<TemplateTypeParmType>() correctly handles null pointers, it doesn’t prevent the subsequent dereferencing operation. The fix ensures that NNS pointer is not null before calling the getAsType() method, thus preventing potential runtime errors caused by attempting to access a null pointer.
-
Matt Arsenault authored
-
Oleksandr "Alex" Zinenko authored
Introduce a new Transform dialect extension that uses IRDL op definitions as matcher descriptors. IRDL allows one to essentially define additional op constraits to be verified and, unlike PDL, does not assume rewriting will happen. Leverage IRDL verification capability to filter out ops that match an IRDL definition without actually registering the corresponding operation with the system.
-
Brian Gesiak authored
Rather than force callbacks for outgoing requests to parse the result JSON themselves (of type `llvm::Expected<llvm::json::Value>`), allow users to specify the result type, which `MessageHandler::outgoingRequest` will parse for them. This eliminates boilerplate for users sending outgoing requests.
-
Oleksandr "Alex" Zinenko authored
This pass has been deprecated for more than two months, alternative is available via `-transform-interpreter` and `-transform-preload-library`. https://discourse.llvm.org/t/psa-deprecating-test-transform-dialect-interpreter/76904
-
Timm Bäder authored
This reverts commit ebcb04ae.
-
Peter Klausler authored
Ensure that the runtime implementations of floating-point reductions use intermediate results of the same precision as the operands, so that results match those from constant folding. (SUM reduction uses Kahan summation in both cases.)
-
Nico Weber authored
-
Timm Bäder authored
This reverts commit 1c7673b9. Unfortunately, this one is broken because de04e6cd has been reverted.
-
Timm Bäder authored
This reverts commit de04e6cd. This breaks the Misc/constexpr-source-ranges test: https://lab.llvm.org/buildbot/#/builders/139/builds/64685
-
Timm Bäder authored
Save the declaration we're creating a scope for (if applicable), so we can attach a local temporary variable to the right scope.
-
Timm Bäder authored
We don't have a source location to point to when the evaluation of a destructor of a temporary created via an expression fails.
-
Timm Bäder authored
Move the declaration into the condition.
-
Timm Bäder authored
Instead of checking containsErrors() for every expression, just handle RecoveryExprs directly.
-
Matt Arsenault authored
-
Simon Pilgrim authored
-
Timm Bäder authored
We need to do the zero-init and then subsequently call the constructor.
-
Christian Kandeler authored
... when converting unscoped to scoped enums. With traditional enums, a popular technique to guard against potential name clashes is to use the enum name as a pseudo-namespace, like this: enum MyEnum { MyEnumValue1, MyEnumValue2 }; With scoped enums, this makes no sense, making it extremely unlikely that the user wants to keep such a prefix when modernizing. Therefore, our tweak now removes it. -
Kiran Chandramohan authored
Similar to OpenACC handling. Fixes #90452
-
Valery Pykhtin authored
After #73958 gdb.rocm/lane-execution.exp test started to fail due to incorrect debug location. This is kind of a revert patch.
-
Weaver authored
This reverts commit 597a3150. Caused test failure on the following buildbot: https://lab.llvm.org/buildbot/#/builders/216/builds/38446
-
Nikolas Klauser authored
-
Abid Qadeer authored
This is an accompanying test for the fix done in #90683. It checks that fir.real conversion works ok. The failing fortran source in the #90683 generates fir.real type in the target-rewrite pass which caused the original issue.
-
Matt Arsenault authored
This will prevent SystemZ test regressions in a future change, tested by #90826
-
Florian Hahn authored
This patch adds loadCSE support to simplifyLoopAfterUnroll. It is based on EarlyCSE's implementation using ScopeHashTable and is using SCEV for accessed pointers to check to find redundant loads after unrolling. This applies to the late unroll pass only, for full unrolling those redundant loads will be cleaned up by the regular pipeline. The current approach constructs MSSA on-demand per-loop, but there is still small but notable compile-time impact: stage1-O3 +0.04% stage1-ReleaseThinLTO +0.06% stage1-ReleaseLTO-g +0.05% stage1-O0-g +0.02% stage2-O3 +0.09% stage2-O0-g +0.04% stage2-clang +0.02% https://llvm-compile-time-tracker.com/compare.php?from=c089fa5a729e217d0c0d4647656386dac1a1b135&to=ec7c0f27cb5c12b600d9adfc8543d131765ec7be&stat=instructions:u This benefits some workloads with runtime-unrolling disabled, where users use pragmas to force unrolling, as well as with runtime unrolling enabled. On SPEC/MultiSource, this removes a number of loads after unrolling on AArch64 with runtime unrolling enabled. ``` External/S...te/526.blender_r/526.blender_r 96 MultiSourc...rks/mediabench/gsm/toast/toast 39 SingleSource/Benchmarks/Misc/ffbench 4 External/SPEC/CINT2006/403.gcc/403.gcc 18 MultiSourc.../Applications/JM/ldecod/ldecod 4 MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg 6 MultiSourc...OE-ProxyApps-C/miniGMG/miniGMG 9 MultiSourc...e/Applications/ClamAV/clamscan 4 MultiSourc.../MallocBench/espresso/espresso 3 MultiSourc...dence-flt/LinearDependence-flt 2 MultiSourc...ch/office-ispell/office-ispell 4 MultiSourc...ch/consumer-jpeg/consumer-jpeg 6 MultiSourc...ench/security-sha/security-sha 11 MultiSourc...chmarks/McCat/04-bisect/bisect 3 SingleSour...tTests/2020-01-06-coverage-009 12 MultiSourc...ench/telecomm-gsm/telecomm-gsm 39 MultiSourc...lds-flt/CrossingThresholds-flt 24 MultiSourc...dence-dbl/LinearDependence-dbl 2 External/S...C/CINT2006/445.gobmk/445.gobmk 6 MultiSourc...enchmarks/mafft/pairlocalalign 53 External/S...31.deepsjeng_r/531.deepsjeng_r 3 External/S...rate/510.parest_r/510.parest_r 58 External/S...NT2006/464.h264ref/464.h264ref 29 External/S...NT2017rate/502.gcc_r/502.gcc_r 45 External/S...C/CINT2006/456.hmmer/456.hmmer 6 External/S...te/538.imagick_r/538.imagick_r 18 External/S.../CFP2006/447.dealII/447.dealII 4 MultiSourc...OE-ProxyApps-C++/miniFE/miniFE 12 External/S...2017rate/525.x264_r/525.x264_r 36 MultiSourc...Benchmarks/7zip/7zip-benchmark 33 MultiSourc...hmarks/ASC_Sequoia/AMGmk/AMGmk 2 MultiSourc...chmarks/VersaBench/8b10b/8b10b 1 MultiSourc.../Applications/JM/lencod/lencod 116 MultiSourc...lds-dbl/CrossingThresholds-dbl 24 MultiSource/Benchmarks/McCat/05-eks/eks 15 ``` PR: https://github.com/llvm/llvm-project/pull/83860
-
Sven van Haastregt authored
Place constant initializer globals into the constant address space. Clang generates such globals for e.g. larger array member initializers of classes and then emits copy operations from the global to the object(s). The globals are never written so they ought to be in the constant address space.
-
Krishna Narayanan authored
Fixes #53079
-