- Nov 10, 2023
-
-
Louis Dionne authored
We only support Clang >= 16, but we seem to have forgotten to update the version check in __config to reflect that.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Arthur Eubanks authored
-
Matteo Franciolini authored
Allows to set `resourceStringCharLimit` through an OpPrintingFlags API to avoid printing resources larger than the privided limit.
-
Craig Topper authored
-
Igor Kudrin authored
Long scalar values can be split into multiple lines to improve readability. The rules are described in Section 6.5. "Line Folding", https://yaml.org/spec/1.2.2/#65-line-folding. In addition, for flow scalar styles, the Spec states that "All leading and trailing white space characters on each line are excluded from the content", https://yaml.org/spec/1.2.2/#73-flow-scalar-styles. The patch implements these unfolding rules for double-quoted, single-quoted, and plain scalars.
-
Igor Kudrin authored
Leading white spaces on the line following an escaped line break should be excluded from the content. See https://yaml.org/spec/1.2.2/#731-double-quoted-style.
-
Maurice Heumann authored
The X86FixupLEAs pass drops blockaddress offsets, when splitting up slow 3-ops LEAs, as can be seen in this example: https://godbolt.org/z/bEsc3Poje Before running the pass, the first instruction in bb.0 is a LEA with ebp, ebx and a blockaddress. After the transformation, the blockaddress is missing. The reason this happens is because the 3-ops LEA is being splitup into a 2-ops LEA + an add instruction. However, as hasLEAOffset does not take blockaddresses into consideration, the add is not emitted and thus leading to the offset being dropped. Taking blockaddresses into consideration fixes this issue and results in the add instruction being emitted. This fixes #71667
-
Igor Kudrin authored
This is a preparing commit for #70898 and #71775. It activates checks in tests for single-quoted, double-quoted, and plain values and demonstrates how they are handled currently.
-
spaceotter authored
Adds a canonicalizer for gpu.barrier that gets rid of duplicates. Co-authored-by:Eric Eaton <eric@nod-labs.com>
-
Ilya Leoshkevich authored
OpenMP runtime fails to build on SystemZ with clang with the following error message: LLVM ERROR: Unsupported stack frame traversal count __kmpc_omp_task_begin_if0() uses OMPT_GET_FRAME_ADDRESS(1), which delegates to __builtin_frame_address(), which in turn works with nonzero values on SystemZ only if backchain is in use. If backchain is not in use, the above error is emitted. Compile __kmpc_omp_task_begin_if0() with backchain. Note that this only resolves the build error. If at runtime its caller is compiled without backchain, __builtin_frame_address() will produce an incorrect value, but will not cause a crash. Since the value is relevant only for OMPT, this is acceptable. -
Noah Goldstein authored
The bug is that `IsAndVariant` is used to assume which arm in the select the output `SelInner` should be placed but match the inner select condition with `m_c_LogicalOp`. With fully simplified ops, this works fine, but its possible if the select condition is not simplified, for it match both `LogicalAnd` and `LogicalOr` i.e `select true, true, false`. In PR71330 for example, the issue occurs in the following IR: ``` define i32 @bad() { %..i.i = select i1 false, i32 0, i32 3 %brmerge = select i1 true, i1 true, i1 false %not.cmp.i.i.not = xor i1 true, true %.mux = zext i1 %not.cmp.i.i.not to i32 %retval.0.i.i = select i1 %brmerge, i32 %.mux, i32 %..i.i ret i32 %retval.0.i.i } ``` When simplifying: ``` %retval.0.i.i = select i1 %brmerge, i32 %.mux, i32 %..i.i ``` We end up matching `%brmerge` as `LogicalAnd` for `IsAndVariant`, but the inner select (`%..i.i`) condition which is `false` with `LogicalOr`. Closes #71489 -
Noah Goldstein authored
-
Jeremy Morse authored
This patch plumbs the command line --experimental-debuginfo-iterators flag in to the pass managers, so that modules can be converted to the new format, passes run, then converted back to the old format. That allows developers to test-out the new debuginfo representation across some part of LLVM with no further work, and from the command line. It also installs flag-catchers at the various points that bitcode and textual IR can egress from a process, and temporarily convert the module to dbg.value format when doing so. No tests alas as it's designed to be transparent. Differential Revision: https://reviews.llvm.org/D154372
-
stephenpeckham authored
When generating the assembly code for AIX/XCOFF, the .file pseudo-op needs to be emitted first, before any csects are generated. Otherwise, information such as the embedded command line will be associated with part of the object file rather than the entire object file.
-
Zachary Johnson authored
For #71833
-
Zachary Johnson authored
-
Peiming Liu authored
-
Alex Langford authored
This patch changes the interface of StructuredData::Array::GetItemAtIndexAsString to return a `std::optional<llvm::StringRef>` instead of taking an out parameter. More generally, this commit serves as proposal that we change all of the sibling APIs (`GetItemAtIndexAs`) to do the same thing. The reason this isn't one giant patch is because it is rather unwieldy changing just one of these, so if this is approved, I will do all of the other ones as individual follow-ups.
-
Alex Langford authored
The return value is completely unused. Let's just return nothing.
-
Cyndy Ishida authored
-
Craig Topper authored
-
Evgenii Stepanov authored
As it turns out, PRNGs have varying quality. Relax the test to accept less-then-perfect tag distribution.
-
Alexander Richardson authored
This is useful when trying to test libc++/libc++abi/libunwind against a baremetal enviroment (e.g. picolibc). See also https://reviews.llvm.org/D155521
-
Nico Weber authored
-
Thurston Dang authored
My change (https://github.com/llvm/llvm-project/commit/0be4c6b9483594494051e8f1f67afc2b516270ca) broke the Windows buildbot (https://lab.llvm.org/buildbot/#/builders/127/builds/57976/steps/4/logs/stdio) This fixes forward by adding a guard
-
Valentin Clement (バレンタイン クレメン) authored
PR #70698 relax the duplication rule in acc declare clauses. This lead to potential duplicate creation of the global constructor/destructor. This patch make sure to not generate a duplicate ctor/dtor.
-
Thurston Dang authored
This introduces an experimental flag 'test_only_replace_dlopen_main_program'. When enabled, this will replace dlopen(main program,...) with dlopen(NULL,...), which is the correct way to get a handle to the main program. This can be useful when ASan is statically linked, since dladdr((void*)pthread_join) or similar will return the path to the main program. Note that dlopen(main program,...) never ends well: - PIE in recent glibc versions (glibc bugzilla 24323), or non-PIE: return an error - PIE in current GRTE and older glibc: attempt to load the main program again, leading to reinitializing ASan and failing to remap the shadow memory. --------- Co-authored-by:Thurston Dang <thurston@google.com>
-
Konstantinos Parasyris authored
-
Vladislav Khmelevsky authored
The wall time for this pass decreased on my laptop from ~80 sec to 5 sec processing the clang.
-
Jonas Devlieghere authored
Reverts llvm/llvm-project#71458 as it might have caused cross-project-test failures.
-
Peiming Liu authored
Should have been fixed by initializing output tensor to zeros in https://github.com/llvm/llvm-project/pull/71845
-
Rik Huijzer authored
Fixes https://github.com/llvm/llvm-project/issues/60656. This patch implements a basic fold for various reshape/resize tensor operations. Specifically, the folding removes tensor reshape/resize ops when they are applied to a constant tensor. For example, the following function: ```mlir func.func @main(%dest : tensor<8x16x8x32xf32>) -> tensor<8x16x8x32xf32> { %cst = arith.constant dense<1.000000e-01> : tensor<64x128xf32> %0 = tensor.pack %cst outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %dest : tensor<64x128xf32> -> tensor<8x16x8x32xf32> return %0 : tensor<8x16x8x32xf32> } ``` will be changed into the following with `mlir-opt -canonicalize`: ```mlir func.func @main(%arg0: tensor<8x16x8x32xf32>) -> tensor<8x16x8x32xf32> { %cst = arith.constant dense<1.000000e-01> : tensor<8x16x8x32xf32> return %cst : tensor<8x16x8x32xf32> } ``` As a side-note, this patch is essentially an extension of https://github.com/llvm/llvm-project/commit/f79f430d4b268429f96be95622facd2775b25624.
-
Michael Maitland authored
The current isScalable function requires a user to call isVector before hand in order to avoid an assertion failure in the case that the LLT is not a vector. This patch addds helper functions that allow a user to query whether the LLT is fixed or scalable, not wanting an assertion failure in the case that the LLT was never a vector in the first place.
-
spaette authored
Closes https://github.com/llvm/llvm-project/issues/63097 Before merging please make sure the change to bolt/include/bolt/Passes/StokeInfo.h is correct. bolt/include/bolt/Passes/StokeInfo.h ```diff // This Pass solves the two major problems to use the Stoke program without - // proting its code: + // probing its code: ``` I'm still not happy about the awkward wording in this comment. bolt/include/bolt/Passes/FixRelaxationPass.h ``` $ ed -s bolt/include/bolt/Passes/FixRelaxationPass.h <<<'9,12p' // This file declares the FixRelaxations class, which locates instructions with // wrong targets and fixes them. Such problems usually occures when linker // relaxes (changes) instructions, but doesn't fix relocations types properly // for them. $ ``` bolt/docs/doxygen.cfg.in bolt/include/bolt/Core/BinaryContext.h bolt/include/bolt/Core/BinaryFunction.h bolt/include/bolt/Core/BinarySection.h bolt/include/bolt/Core/DebugData.h bolt/include/bolt/Co...
-
Peiming Liu authored
-
Louis Dionne authored
We always use Clang >= 16 now, so the check for Clang >= 14 is tautological. As a drive-by, clang-format the header.
-
Jake Egan authored
The function `timespec_get` is not available without an update to the time.h header in AIX 7.3 TL2 (7.3.2.*).
-
Peiming Liu authored
To fix https://github.com/llvm/llvm-project/pull/71448
-