- Aug 10, 2022
-
-
Mohammed Nurul Hoque authored
From the opengroup specifications, atan2 may fail if the result underflows and atan may fail if the argument is subnormal, but we assume that does not happen and eliminate the calls if we can constant fold the result at compile-time. Differential Revision: https://reviews.llvm.org/D127964
-
Louis Dionne authored
This will allow using it in functions that are [[noreturn]] themselves. Differential Revision: https://reviews.llvm.org/D131408
-
Simon Pilgrim authored
Revert rGa772f775 "[clang-tidy] Support C++14 in bugprone-signal-handler." This was breaking a number of buildbots: https://lab.llvm.org/buildbot/#/builders/139/builds/26335
-
David Truby authored
Previously the language extension documentation didn't mention SVE and was incomplete in listing the C/C++ operators supported on NEON. This corrects the documentation to be in line with the implementation.
-
Simon Pilgrim authored
-
Sam Estep authored
This patch adds the ability to context-sensitively analyze constructor bodies, by changing `pushCall` to allow both `CallExpr` and `CXXConstructExpr`, and extracting the main context-sensitive logic out of `VisitCallExpr` into a new `transferInlineCall` method which is now also called at the end of `VisitCXXConstructExpr`. Reviewed By: ymandel, sgatev, xazax.hun Differential Revision: https://reviews.llvm.org/D131438
-
Alexander Belyaev authored
This change separates computation of the actual parameters of the subset and the materialization of subview/extract_slice. That way the users can still use Linalg tiling logic even if they use different operations to materialize the subsets. Differential Revision: https://reviews.llvm.org/D131053
-
Pavel Kosov authored
Patch adds support for fadd, fsub, fdiv, fmul and fcmp to IR interpreter. ~~~ OS Laboratory. Huawei RRI. Saint-Petersburg Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D126359
-
Jake Egan authored
The Clang folding for floating-point sometimes calls out to the host.
-
Alex Zinenko authored
When emitting the declarations for interface methods defined in ODS, also emit their descriptions as C++ comments. This makes the documentation accessible to C++ tooling such as IDEs that offers better usability than reading it form the .td or the website. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D130478
-
Edd Barrett authored
This intrinsic used a typed pointer for a call target operand. This change updates the operand to be an opaque pointer and updates all pointers in all test files that use the intrinsic. Differential revision: https://reviews.llvm.org/D131261
-
Simon Pilgrim authored
canCreateUndefOrPoison currently only handles unary ops, but we intend to change that soon - this more closely matches the pushFreezeToPreventPoisonFromPropagating behaviour where the freeze is pushed up to a single operand value, as long as all others are guaranteed not to be poison/undef. However, pushFreezeToPreventPoisonFromPropagating would freeze all uses of the value - whilst this variant requires the frozen value to be only used in the op - we can look at generalize multiple uses later if the need arises.
-
Jacques Pienaar authored
Also tighten up return type inference & compatibility functions. Differential Revision: https://reviews.llvm.org/D130866
-
Wei Yi Tee authored
Differential Revision: https://reviews.llvm.org/D131065
-
David Truby authored
This patch enables the unary promotion and negation operators on SVE types. Differential Revision: https://reviews.llvm.org/D130984
-
Simon Pilgrim authored
-
David Spickett authored
We don't want the DEFINE_ macros or the array registers being clang formatted. RegisterInfos_arm64.h was missing the off annotation and RegisterInfos_arm64_sve.h needed the off moving to before the macro definitions.
-
David Truby authored
Currently fcopysign for VLS vectors lowers through NEON even when the vector width is wider than a NEON vector, causing bad codegen as the vectors are split. This patch causes SVE to be used for these vectors instead, giving much better codegen on wide VLS vectors. Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D128642
-
Balázs Kéri authored
Check `bugprone-signal-handler` is improved to check for C++-specific constructs in signal handlers. This check is valid until C++17. Reviewed By: whisperity Differential Revision: https://reviews.llvm.org/D118996
-
Alex Bradbury authored
Prior to this patch, libcalls inserted by the SelectionDAG legalizer could never be tailcalled. The eligibility of libcalls for tail calling is is partly determined by checking TargetLowering::isInTailCallPosition and comparing the return type of the libcall and the calleer. isInTailCallPosition in turn calls TargetLowering::isUsedByReturnOnly (which always returns false if not implemented by the target). This patch provides a minimal implementation of TargetLowering::isUsedByReturnOnly - enough to support tail calling libcalls on hard float ABIs. Soft-float ABIs are left for a follow on patch. libcall-tail-calls.ll also shows missed opportunities to tail call integer libcalls, but this is due to issues outside of the isUsedByReturnOnly hook. Differential Revision: https://reviews.llvm.org/D131087
-
Nikita Popov authored
This reverts commit 3bba12a8. While this fixes doc generation in standalone flang builds, it breaks them for combined builds of clang and flang.
-
Alex Bradbury authored
This specific optimisation is handled in OptimizeBlock in BranchFolding so is redundant. As discussed on the review thread, I've verified that we have test coverage for that optimisation within test/CodeGen/X86 by disabling the BranchFolding version of this transform after applying this patch and rerunning the test suite. Differential Revision: https://reviews.llvm.org/D129204
-
Alex Bradbury authored
WebAssembly globals are represented as IR globals with the wasm_var address space (AS1). Prior to this patch, a wasm global load that isn't lowerable will produce a failure to select, while a wasm global store will produced incorrect code. This patch ensures we consistently produce a clear error. As noted in the test cases, it's conceivable that a frontend or an optimisation pass could produce similar IR even in the presence of the semantic restrictions on pointers to Wasm globals in the frontend, which is a separate problem to address. Differential Revision: https://reviews.llvm.org/D131387
-
Phoebe Wang authored
This reverts commit 0729d001. Buildbot https://lab.llvm.org/buildbot/#/builders/19/builds/11989 failed with "error: ISO C requires a translation unit to contain at least one declaration [-Werror,-Wempty-translation-unit]"
-
Simon Pilgrim authored
-
jacquesguan authored
The cost of convert from or to mask vector is different from other cases. We could not use PowDiff to calculate it. This patch set it to 3 as we use 3 instruction to make it. Differential Revision: https://reviews.llvm.org/D131149
-
Dominik Adamski authored
Flang was not able to convert simd directive which contains nested Fortran loops. The nested Fortran loops inside SIMD directive are modelled as FIR loops and they need to be translated into LLVM MLIR dialect. Differential Revision: https://reviews.llvm.org/D131402 Reviewed by: peixin Signed-off-by:
Dominik Adamski <dominik.adamski@amd.com>
-
David Spickett authored
1438639a removed a test that was using undefined behaviour setting a non-typed enum to a value outside its known range. That test also checked if we formatted the value properly when it could contain >1 valid enum value. I don't think there's anything special about how we format typed vs non-typed enums so I'm adding a test for ScopedEnum that will expect to see 2 enum values plus extra. Reviewed By: labath, Michael137, shafik Differential Revision: https://reviews.llvm.org/D131472
-
Nikita Popov authored
The relevant property of allocation functions of interest here is their uniqueness (in the sense of disjoint provenance), which is encoded by the noalias return attribute. Differential Revision: https://reviews.llvm.org/D130225
-
Nikita Popov authored
Use find_program() to find the clang-tblgen executable. The current code ends up using docs/clang-tblgen for me... This is the same way that mlir-tblgen is obtained in: https://github.com/llvm/llvm-project/blob/27241435515554bc21105713c9d34cf886c5bced/flang/CMakeLists.txt#L95-L96. Differential Revision: https://reviews.llvm.org/D131475
-
Tobias Hieta authored
Reviewed By: tstellar Differential Revision: https://reviews.llvm.org/D131493
-
Tobias Hieta authored
Use xz -T0 to use your threads Reviewed By: tstellar Differential Revision: https://reviews.llvm.org/D131470
-
Fangrui Song authored
llvm-project has switched to require C++17. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D131536
-
Clement Courbet authored
Given that we provide an EditGenerator edit(ASTEdit), we can't ever be sure that the user won't give us an empty replacement. Differential Revision: https://reviews.llvm.org/D128887
-
Siva Chandra Reddy authored
Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D131451
-
Phoebe Wang authored
Disable the build on macOS due to the bot fail. Reviewed By: bkramer Differential Revision: https://reviews.llvm.org/D131147
-
Fangrui Song authored
-
Fangrui Song authored
-
Med Ismail Bennani authored
This reverts commit ab4e5ed4 since it causes a build failure on macOS: https://green.lab.llvm.org/green/job/lldb-cmake/45984/
-
Fangrui Song authored
-