- Apr 21, 2022
-
-
wangpc authored
Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D123364
-
Nikita Popov authored
-
Tobias Hieta authored
Add a new CMake file to expand on for more problematic configurations in the future. Related to #54645 Reviewed By: beanz, phosek, smeenai Differential Revision: https://reviews.llvm.org/D123777
-
Chuanqi Xu authored
-
Nimish Mishra authored
This patch adds lowering support for atomic read and write constructs. Also added is pointer modelling code to allow FIR pointer like types to be inferred and converted while lowering. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D122725 Co-authored-by:
Kiran Chandramohan <kiran.chandramohan@arm.com>
-
Xiang Li authored
Shader attribute is for shader library identify entry functions. Here's an example, [shader("pixel")] float ps_main() : SV_Target { return 1; } When compile this shader to library target like -E lib_6_3, compiler needs to know ps_main is an entry function for pixel shader. Shader attribute is to offer the information. A new attribute HLSLShader is added to support shader attribute. It has an EnumArgument which included all possible shader stages. Reviewed By: aaron.ballman, MaskRay Differential Revision: https://reviews.llvm.org/D123907 -
Fraser Cormack authored
We can't shift-right negative numbers to divide them, so avoid emitting such sequences. Use negative numerators as a proxy for this situation, since the indices are always non-negative. An alternative strategy could be to add a compiler flag to emit division instructions, which would at least allow us to test the VID sequence matching itself. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D123796
-
Fraser Cormack authored
This test shows a (contrived) BUILD_VECTOR which is correctly identified as a sequence of ((vid * -3) / 8) + 5. However, the issue is that using shift-right for the divide is invalid as the step values are negative. This patch just adds the test: the fix is added in D123796. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D123989
-
Fangrui Song authored
Linux kernel arch/arm64/kernel/vmlinux.lds.S discards .dynsym . D123985 triggers a spurious assertion failure. Detect the case with `!mainPart->dynSymTab->getParent()`.
-
River Riddle authored
The special case parsing of operations in the `func` dialect is being removed, and operations will require the dialect namespace prefix.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
[mlir][NFC] Update textual references of `func` to `func.func` in LLVM/Math/MemRef/NVGPU/OpenACC/OpenMP/Quant/SCF/Shape tests The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
[mlir][NFC] Update textual references of `func` to `func.func` in Bufferization/Complex/EmitC/CF/Func/GPU tests The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
River Riddle authored
The special case parsing of `func` operations is being removed.
-
Craig Topper authored
We haven't been updating this as Zb* instructions have been used for immediate materialization. They will hit the default case and trigger an llvm_unreachable. Instead of trying to list them all, assume instructions that aren't explicitly listed aren't compressible. Spotted while looking at integer materialization for other reasons. I haven't seen a crash from this yet.
-
Chuanqi Xu authored
Now the implementation would accept following code: ``` //--- impl.cppm module M:impl; class A {}; //--- M.cppm export module M; import :impl; //--- Use.cpp import M; void test() { A a; // Expected error. A is not visible here. } ``` which is clearly wrong. The root cause is the implementation of `isInCurrentModule` would return true if the module is a partition! So in the above example, although Use.cpp is not a module unit, `isInCurrentModule ` would still return true when the compiler tries to see if the owning module of `A` is the current module. I believe this is an oversight. This patch tries to fix this problem. Reviewed By: iains Differential Revision: https://reviews.llvm.org/D123837 -
Chuanqi Xu authored
The legacy passes are deprecated now and would be removed in near future. This patch tries to remove legacy passes in coroutines. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D123918
-
hsmahesha authored
Based on available register budget, reserve highest available VGPR for AGPR copy before RA. After RA, shift it to lowest unused VGPR if the one exist. Fixes SWDEV-330006. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D123525
-
Weining Lu authored
These instructions are added by following the `LoongArch Reference Manual Volume 1: Basic Architecture Version 1.00`. Differential Revision: https://reviews.llvm.org/D123988
-
Shraiysh Vaishay authored
This patch handles empty hint value for critical and atomic constructs. This also adds checks and tests for hint clause on atomic constructs. Reviewed By: peixin, kiranchandramohan, NimishMishra Differential Revision: https://reviews.llvm.org/D123186
-
hsmahesha authored
[1]. Move the test which reject the usage of agpr before gfx908 into a separate file - reject-agpr-usage-before-gfx908.ll. [2]. Move those tests which are applicable to both gfx900 and gfx908 into a separate file - spill-vgpr.ll. [3]. Keep those tests which are specific to only gfx908 in the file spill-vgpr-to-agpr.ll. Above split is required to properly update the tests in D123525. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D123973
-
Richard Smith authored
This is extended to all `std::` functions that take a reference to a value and return a reference (or pointer) to that same value: `move`, `forward`, `move_if_noexcept`, `as_const`, `addressof`, and the libstdc++-specific function `__addressof`. We still require these functions to be declared before they can be used, but don't instantiate their definitions unless their addresses are taken. Instead, code generation, constant evaluation, and static analysis are given direct knowledge of their effect. This change aims to reduce various costs associated with these functions -- per-instantiation memory costs, compile time and memory costs due to creating out-of-line copies and inlining them, code size at -O0, and so on -- so that they are not substantially more expensive than a cast. Most of these improvements are very small, but I measured a 3% decrease in -O0 object file size for a simple C++ source file using the standard library after this change. We now a...
-
Muhammad Omair Javaid authored
TestCrashDuringStep.py hangs on AArch64 windows with no resonable possible fix. I am marking it skipped for now.
-
Maksim Panchenko authored
LLVM with LTO can generate function names in the form func.llvm.<number>, where <number> could vary based on the compilation environment. As a result, if a profiled binary originated from a different build than a corresponding binary used for BOLT optimization, then profiles for such LTO functions will be ignored. To fix the problem, use "fuzzy" matching with "func.llvm.*" form. Reviewed By: yota9, Amir Differential Revision: https://reviews.llvm.org/D124117
-
David Tenty authored
Since D123345 got reverted Builtin::BIaddressof and Builtin::BI__addressof don't exist and cause build breaks.
-
Alexander Yermolovich authored
Looks like implementation in llvm changed, and now we need to process error being returned. Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D124133
-
David Tenty authored
This reverts commit b27430f9 as the parent https://reviews.llvm.org/D123345 breaks the AIX CI: https://lab.llvm.org/buildbot/#/builders/214/builds/819
-