- Sep 22, 2022
-
-
Fangrui Song authored
See D117853: compressing debug sections is a bottleneck and therefore it has a large value parallizing the step. zstd provides multi-threading API and the output is deterministic even with different numbers of threads (see https://github.com/facebook/zstd/issues/2238). Therefore we can leverage it instead of using the pigz-style sharding approach. Also, switch to the default compression level 3. The current level 5 is significantly slower without providing justifying size benefit. ``` 'dash b.sh 1' ran 1.05 ± 0.01 times faster than 'dash b.sh 3' 1.18 ± 0.01 times faster than 'dash b.sh 4' 1.29 ± 0.02 times faster than 'dash b.sh 5' level=1 size: 358946945 level=3 size: 309002145 level=4 size: 307693204 level=5 size: 297828315 ``` Reviewed By: andrewng, peter.smith Differential Revision: https://reviews.llvm.org/D133679
-
Michael Jones authored
add fputs, puts, and the EOF macro that they use. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D134328
-
Lang Hames authored
Testcases expect this file to have an uppercase .S suffix.
-
Joel E. Denny authored
Based on result shown at: <https://lab.llvm.org/buildbot/#/builders/216/builds/10123>
-
Xiang Li authored
-
John McIver authored
The package `distutils` is deprecated and removal is planned for Python 3.12. All calls to `distutils.spawn.find_executable` are replaced with local version of `find_executable` which makes use of `shutils.which`. Reviewed By: arichardson, MaskRay Differential Revision: https://reviews.llvm.org/D134015
-
Guozhi Wei authored
This patch uses the API provided by LiveRangeEdit to handle rematerialization. It will make future maintenance and improvement more easier. No functional change. Differential Revision: https://reviews.llvm.org/D133610
-
Arthur Eubanks authored
llvm_unreachable should properly error out if assertions are enabled. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D134332
-
Joel E. Denny authored
Based on result shown at: <https://lab.llvm.org/buildbot/#/builders/216/builds/10120>
-
LLVM GN Syncbot authored
-
Xiang Li authored
This is first part for support cbuffer/tbuffer. The format for cbuffer/tbuffer is BufferType [Name] [: register(b#)] { VariableDeclaration [: packoffset(c#.xyzw)]; ... }; More details at https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-constants New keyword 'cbuffer' and 'tbuffer' are added. New AST node HLSLBufferDecl is added. Build AST for simple cbuffer/tbuffer without attribute support. The special thing is variables declared inside cbuffer is exposed into global scope. So isTransparentContext should return true for HLSLBuffer. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D129883 -
Thomas Symalla authored
Pre-commit a test for an upcoming change.
-
zhijian authored
Summary: 1. Refactor with XCOFFObjectFile::getImportFileTable with function getSectionFileOffsetToRawData instead of getLoaderSectionAddress 2. Delete the function getLoaderSectionAddress. Reviewers: James Henderson,Esme Yi Differential Revision: https://reviews.llvm.org/D134280
-
Arthur Eubanks authored
Currently if we mark an SCC as invalid, if we haven't set UR.UpdatedC, we won't propagate the PreservedAnalyses up to the parent pass (adaptor/pass manager). In the provided test case, we inline the function into itself then delete it as it has no users. The SCC is marked as invalid without providing a replacement UR.UpdatedC. Then the CGSCC pass manager and adaptor discard the PreservedAnalyses. Instead, handle PreservedAnalyses first before bailing due to the invalid SCC. Fixes crashes due to out of date analyses.
-
Valentin Clement authored
In some case, the ENTRY statement in a procedure is including some dummy argument. Until now, deallocation of intent(out) allocatable was not checking for this and it could result in a segmentation fault. This patch avoids deallocation when the value is not in the ENTRY stmt. Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D134342
-
Min-Yih Hsu authored
Previously in mlir-translate, if debug info was absent in a llvm::Instruction, we tried to create one using the name of its defined value in a textual LLVM IR file as the (pseudo) debug file name. However, in order to get that name, we need to call out to LLVM's SlotTracker, which, surprisingly, took a lot of time. Judging from the usefulness of such pseudo debug file name and the performance penalty during translation, this patch simply use "imported-bitcode" as the debug file name in these case. Eliminating the need of using (expensive) LLVM value numbering. Differential Revision: https://reviews.llvm.org/D134305
-
wlei authored
There could be comma in one perf file path, since at this point it only support one file as input, there is no need for the `llvm::cl::MiscFlags::CommaSeparated` option. Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D134287
-
natashaknk authored
Partial rollback to D133389 Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D134370
-
Joel E. Denny authored
This is to help debug the failure 28412d18 caused and f47a5df9 failed to fix at: <https://lab.llvm.org/buildbot/#/builders/216/builds/10117>
-
Konstantina authored
Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D130949
-
Ashay Rane authored
Prior to this patch, a Windows build of llvm-lto using clang failed with the error: `LTO.def: unknown file type`. The reason for this failure is that .DEF files are used by the linker not by the clang compiler. The MSVC compiler+linker handles this transparently, but if we're using clang (or gcc), then we need to tell the compiler to forward this flag to the linker. This patch adds the necessary `-Wl` flag to fix the problem. Reviewed By: rnk, mstorsjo Differential Revision: https://reviews.llvm.org/D134165
-
Akira Hatanaka authored
alignments In the following code, the first element is aligned on a 16-byte boundary, but the remaining elements aren't: ``` typedef char int8_a16 __attribute__((aligned(16))); int8_a16 array[4]; ``` Currently clang doesn't reject the code, but it should since it can cause crashes at runtime. This patch also fixes assertion failures in CodeGen caused by the changes in https://reviews.llvm.org/D123649. Differential Revision: https://reviews.llvm.org/D133711
-
Joel E. Denny authored
`llvm/utils/lit/tests/Inputs/shtest-define/value-escaped.txt` broke at least at <https://lab.llvm.org/buildbot/#/builders/216/builds/10114>. The problem appears to be a non-portable `echo` command line.
-
Philip Reames authored
The merged routines are not-idiomatic, and the code sharing that results is prettty minimal. The confusion factor is not justified.
-
- Sep 21, 2022
-
-
J. Ryan Stinnett authored
This fixes up the header length which regressed in 8c1a9e3c.
-
Kazu Hirata authored
This patch factors out common code in InlineOrder.cpp. Without this patch, the model is to ask classes like SizePriority and CostPriority to compare a pair of call sites: bool hasLowerPriority(const CallBase *L, const CallBase *R) const override { while these priority classes have their own caches of priorities: DenseMap<const CallBase *, PriorityT> Priorities; This model results in a lot of duplicate code like hasLowerPriority and updateAndCheckDecreased. This patch changes the model so that priority classes just have two methods to compute a priority for a given call site and to compare two previously computed priorities (as opposed to call sites). Facilities like hasLowerPriority and updateAndCheckDecreased move to PriorityInlineOrder along with the map from call sites to their priorities. PriorityInlineOrder becomes a template class so that it can accommodate different priority classes. Differential Revision: https://reviews.llvm.org/D134149 -
J. Ryan Stinnett authored
This changes the GC intrinsics to use the same header styling as the others.
-
Joel E. Denny authored
These directives define per-test lit substitutions. The concept was discussed at <https://discourse.llvm.org/t/iterating-lit-run-lines/62596/10>. For example, the following directives can be inserted into a test file to define `%{cflags}` and `%{fcflags}` substitutions with empty initial values, which serve as the parameters of another newly defined `%{check}` substitution: ``` // DEFINE: %{cflags} = // DEFINE: %{fcflags} = // DEFINE: %{check} = %clang_cc1 %{cflags} -emit-llvm -o - %s | \ // DEFINE: FileCheck %{fcflags} %s ``` The following directives then redefine the parameters before each use of `%{check}`: ``` // REDEFINE: %{cflags} = -foo // REDEFINE: %{fcflags} = -check-prefix=FOO // RUN: %{check} // REDEFINE: %{cflags} = -bar // REDEFINE: %{fcflags} = -check-prefix=BAR // RUN: %{check} ``` Of course, `%{check}` would typically be more elaborate, increasing the benefit of the reuse. One issue is that the strings `DEFINE:` and `REDEFINE:` already appear in 5 tests. This patch adjusts those tests not to use those strings. Our prediction is that, in the vast majority of cases, if a test author mistakenly uses one of those strings for another purpose, the text appearing after the string will not happen to have the syntax required for these directives. Thus, the test author will discover the mistake immediately when lit reports the syntax error. This patch also expands the documentation on existing lit substitution behavior. Reviewed By: jhenderson, MaskRay, awarzynski Differential Revision: https://reviews.llvm.org/D132513
-
Chris Bieneman authored
In order to make this easier to track I've filed issues for each of the HLSL FIXME comments that I can find. I may have missed some, but I want this to be the new default mode.
-
Matt Arsenault authored
This is not a MIR printer/parser test, so it belongs with the ordinary codegen tests.
-
rkayaith authored
This adds support for pointer DLTI entries in LLVMIR export, e.g. ``` // translated to: p0:32:64:128 #dlti.dl_entry<!llvm.ptr, dense<[32,64,128]> : vector<3xi32>> // translated to: p1:32:32:32:64 #dlti.dl_entry<!llvm.ptr<1>, dense<[32,32,32,64]> : vector<4xi32>> ``` Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D133434
-
Anders Langlands authored
Adds a function to check if a method has been deleted by copy-pasting the existing implementation of clang_CXXMethod_isDefaulted and changing it to call CXXMethod::isDeleted() instead. Differential Revision: https://reviews.llvm.org/D133924
-
bixia1 authored
Add memref.realloc and canonicalization of the op. Add conversion patterns for lowering the op to LLVM using unaligned alloc or aligned alloc based on the conversion option. Add filecheck tests for parsing and converting the op. Add an integration test. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D133424
-
Alexey Bataev authored
Mask might be larger than the NumElts-OffsetBeg, need to use actual indices to avoid acces out of bounds.
-
Nikita Popov authored
-
Florian Hahn authored
Without this patch, the assertion triggers below on the test case, because we are using different oracles for the verification. Assertion failed: (Targets == NoChunksCounter.count() && "number of chunks changes when reducing"), function runDeltaPass, file Delta.cpp, line 272. -
Graham Hunter authored
-
Simon Pilgrim authored
-
zhijian authored
Summary: since default object mode of llvm-nm is change to -X32 (from default -Xany) in patch https://reviews.llvm.org/D132494.In order not effect the test cases in clang/test we need to change "llvm-nm" to "env OBJECT_MODE=any llvm-nm" in clang/test for AIX OS Reviewers: James Henderson,David Tenty, Hubert Tong Differential Revision: https://reviews.llvm.org/D134284
-
Matt Arsenault authored
-