- Feb 03, 2023
-
-
Fangrui Song authored
-
Christian Ulmann authored
This commit introduces a structured representation of loop metadata to the LLVM dialect. This attribute explicitly models all known `!llvm.loop` metadata fields and groups them by introducing nested attributes for each namespace. The new attribute replaces the LoopOptionAttr that could only model a limited subset of loop metadata. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D143064
-
Konstantin Varlamov authored
-
Jonas Hahnfeld authored
According to the IR verifier, "Declaration[s] may not be in a Comdat!" Differential Revision: https://reviews.llvm.org/D142443
-
Phoebe Wang authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D143169
-
varconst authored
Clang implicitly adds the `[[gnu::const]]` attribute to many math functions from the C standard library functions. Since this behavior is Clang-specific, make sure the test only runs on Clang. Differential Revision: https://reviews.llvm.org/D143033
-
Chuanqi Xu authored
This re-commits part of c79635cc. It is reverted since it contains platform-inconsistent constant. Now the patch only contains constant defined in DeclBase.h so it should be platform-independent. And this should be still helpful. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D141992
-
gonglingqin authored
Override hasAndNotCompare() to use more `ANDN` instead of using `AND` and `NOT`. This patch enables the following transforms: (X & Y) == Y ---> (~X & Y) == 0 (X & Y) != Y ---> (~X & Y) != 0. Differential Revision: https://reviews.llvm.org/D143037
-
Fangrui Song authored
-
Shilei Tian authored
`check_loc` is not used if ITT is disabled or debug is off, causing a compiler warning. Reviewed By: jlpeyton Differential Revision: https://reviews.llvm.org/D143004
-
Changpeng Fang authored
Summary: This patch introduces a mechanism to check the code object version from the module flag, This avoids checking from command line. In case the module flag is missing, we use the current default code object version supported in the compiler. For tools whose inputs are not IR, we may need other approach (directive, for example) to check the code object version, That will be in a separate patch later. For LIT tests update, we directly add module flag if there is only a single code object version associated with all checks in one file. In cause of multiple code object version in one file, we use the "sed" method to "clone" the checks to achieve the goal. Reviewer: arsenm Differential Revision: https://reviews.llvm.org/D14313
-
Matt Arsenault authored
If DAZ is enabled, a test against fcZero is not equivalent to a compare with 0.
-
Matt Arsenault authored
-
Matt Arsenault authored
Use right prefix order to get merging. Also drop -verify-machineinstrs and add -amdgpu-enable-delay-alu=0
-
Matt Arsenault authored
-
Matt Arsenault authored
This is NFC as it stands, since other combines will effectively prevent this from being reachable. This will avoid regressions in a future change which tries to make better use of select source modifiers. Didn't bother with the GlobalISel part for now, since the baseline combine doesn't seem to work on the existing test.
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/60275 The root cause of issue 60275 is the imbalance of PushExpressionEvaluationContext() and PopExpressionEvaluationContext(). See https://github.com/llvm/llvm-project/blob/f1c4f927f7c15b5efdc3589c050fd0513bf6b303/clang/lib/Parse/Parser.cpp#L1396-L1437 We will PushExpressionEvaluationContext() in ActOnStartOfFunctionDef() in line 1396 and we should pop it in ActOnFinishFunctionBody later. However if we skip the function body in line 1402, the expression evaluation context will not be popped. Then here is the issue report. I fix the issue by inserting codes to pop the expression evaluation context explicitly if the function body is skipped. Maybe this looks like an ad-hoc fix. But if we want to fix this in a pretty way, we should refactor the current framework for pushing and popping expression evaluation contexts. Currently there are 23 PushExpressionEvaluationContext() callsities and 21 PopExpressionEvaluationContext() callsites in the code. And it seems not easy to balance them well and fast. So I suggest to land this fix first. At least it can prevent the crash. Reviewed By: cor3ntin Differential Revision: https://reviews.llvm.org/D143053
-
Ting Wang authored
Vector store on P8 little endian will have swap instruction added before the store in PPCISelLowring. If the vector is generated by splat, the swap instruction can be eliminated. Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D139691
-
LiaoChunyu authored
As described in D45395 `This has been modeled after ARM's tail call opt.` ARM's abi seems to limit weak symbol. I did not find the limitation for RISCV. (Please correct me if I am wrong) gcc seems to use the tail-call opt: https://godbolt.org/z/bjWE68n5o Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D143137
-
Chris Bieneman authored
I think this will get it this time.
-
Chris Bieneman authored
Big endian is the bane of my existance today...
-
Mitch Phillips authored
This reverts commit b1e9ab74. Reason: Looks like it broke the MSan buildbot, more details in the phabricator review: https://reviews.llvm.org/D139395
-
Mitch Phillips authored
It's better and easier for us to just have threads contend against each other in the tests if it's more than the maximum supported number of hardware threads available. Specifically, the recoverable test fails on Android because the GTEST_SKIP in a called function, and it only properly works from the TEST_* harness function. Android tests run on cuttlefish, which can be a single core with two hyperthreads. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D143221
-
Ilia Diachkov authored
The patch fixes gcc's warning in SPIRVUtils.cpp after D142532. Also it fixes compilation error by MSVC in SPIRVBuiltins.cpp. Differential Revision: https://reviews.llvm.org/D142937
-
bixia1 authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D142913
-
Med Ismail Bennani authored
Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch should fix the creation and addition of the `scripted_platform` python module into the `lldb.plugins` module. Previously, we were creating the `plugins` submodule, each time with a different source file (either `scripted_process` or `scripted_platform`). The removes the redundant `create_python_package` call and group both python source files toghether. Differential Revision: https://reviews.llvm.org/D143122 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Steven Wu authored
Fix a non-deterministic issue in clang module generation, which the anonymous declaration number from a function context is not deterministic. This is due to the unstable iteration order for decls in scope so the order after moving the decls into function decl context is not deterministic. From https://reviews.llvm.org/D135118, we can't use a set that preserves the order without the performance penalty. Fix the issue by sorting the decls based on raw encoding of their source location. rdar://104097976 Reviewed By: akyrtzi, vsapsai Differential Revision: https://reviews.llvm.org/D141625
-
Fangrui Song authored
Remarks.exports is only intended for NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) builds. For (unintended use case) BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB (the latter is used by some Linux distros), the library defines just one symbol on ELF. There is no need to use a version script. I think this is a more proper solution than D139932 and fixes `symbol not defined` errors after lld default change D135402.
-
Fangrui Song authored
These dissembler symbols are not used by LTO (see Apple ld64's use in check-llvm-tools-lto). On ELF platforms, these symbols are not defined and are rejected by ld --no-undefined-version. I think this is a more proper solution than D139932 and this fixes -DBUILD_SHARED_LIBS=on for ELF as well.
-
Chris Bieneman authored
This patch continues implementing DirectX pipeline state validation information by adding support for resource binding metadata. Reviewed By: python3kgae Differential Revision: https://reviews.llvm.org/D143130
-
Mircea Trofin authored
Small refactoring in preparation for tests for the interactive mode. This allows reading the header, and performing observations, as explicit steps. The latter is in particular necessary because the exit condition for the interactive host will be that the child process (the compiler) exited.
-
Johannes Doerfert authored
We know kernels (generally) cannot be called from within the module. Thus, for reachability we would need to step back from a kernel which would allow us to reach anything anyway. Even if a kernel is invoked from another kernel, values like allocas and shared memory are not accessible. We implicitly check for this situation to avoid costly lookups.
-
Johannes Doerfert authored
We used to check the query instructions for effects but that does not work well with complex accesses we will probably support in the future. Now we simply let the user decide what accesses to look for.
-
Jim Ingham authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Joseph Huber authored
Summary: We added a new agent information enum in a previous commit. This was not added to the dynamic HSA implementation so it failed to compile without a local HSA install to use.
-
Joshua Batista authored
mistake in the log commit neglected to place a space after the `` literal, which messed up the build by incapacitating the sphinx generator. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D143208
-
Amir Ayupov authored
Follow the code style of fallible constructors in [LLVM Programmer's Manual] (https://llvm.org/docs/ProgrammersManual.html#fallible-constructors) and rename `RewriteInstance::createRewriteInstance` to `RewriteInstance::create` Reviewed By: #bolt, rafauler Differential Revision: https://reviews.llvm.org/D143119
-