Commit
34367dd2535c576d0fecbb803b38ada9918dc5e7
by llvmgnsyncbot[gn build] Port bbab9f986c6d
|
 | llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn |
Commit
7c4de2e9b9b469b073e6f5f044977b23ac1b26c6
by hanchung[mlir][StandardToSPIRV] Add support for lowering memref<?xi1> to SPIR-V
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D100452
|
 | mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp |
 | mlir/test/Conversion/StandardToSPIRV/std-types-to-spirv.mlir |
Commit
cca40aa8d8aa732a226c8978e53cd47e7b7c76ec
by pablo.barrio[AArch64][v8.5A] Add BTI to all function starts
The existing BTI placement pass avoids inserting "BTI c" when the function has local linkage and is only directly called. However, even in this case, there is a (small) chance that the linker later adds a hunk with an indirect call to the function, e.g. if the function is placed in a separate section and moved far away from its callers. Make sure to add BTI for these functions too.
Differential Revision: https://reviews.llvm.org/D99417
|
 | llvm/lib/Target/AArch64/AArch64BranchTargets.cpp |
 | llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll |
 | llvm/test/CodeGen/AArch64/branch-target-enforcement.mir |
Commit
b49c41afbaa212cc15343af68c3293ab929a2d34
by llvm-dev[SLP] createOp - fix null dereference warning. NFCI.
Only attempt to propagateIRFlags if we have both SelectInst - afaict we shouldn't have matched a min/max reduction without both SelectInst, but static analyzer doesn't know that.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
4fbe7615721863c57b4fd4334f361a5d4157e235
by llvm-dev[X86][SSE] canonicalizeShuffleWithBinOps - check for more combos of merge-able binary shuffles.
In the fold SHUFFLE(BINOP(X,Y),BINOP(Z,W)) -> BINOP(SHUFFLE(X,Z),SHUFFLE(Y,W)), check if both X/Z AND Y/W have at least one merge-able shuffle in which case the total number of shuffle should still fall.
Helps with instruction count regressions we saw while fixing PR48823
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/haddsub-3.ll |
Commit
e3070db0f7049fdbd75955b3e68a3d2bc4936e48
by mahesha.comp[AMDGPU] Rename "LDS lowering" pass name.
Rename the name of "LDS lowering" pass from `amdgpu-disable-lower-module-lds` to `amdgpu-enable-lower-module-lds` as later is consistent and reads better.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D100441
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-non-entry-func.ll |
 | llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll |
 | llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll |
 | llvm/test/CodeGen/AMDGPU/addrspacecast-initializer-unsupported.ll |
Commit
cf4161673c7e7c7c57d8115468bfcc9988f43d36
by benny.kra[Instcombine] Disable memcpy of alloca bypass for instruction sources
This transformation is fundamentally broken when it comes to dominance, it just happened to work when the source of the memcpy can be moved into the place of the alloca. The bug shows up a lot more often since 077bff39d46364035a5dcfa32fc69910ad0975d0 allows the source to be a switch.
It would be possible to check dominance of the source and all its operands, but that seems very heavy for instcombine.
|
 | llvm/test/Transforms/InstCombine/tmp-alloca-bypass.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
Commit
c4c9e4d6df3c492cf86728288b14a9bc718f6e2d
by llvm-dev[X86] Add PR49028 test case
|
 | llvm/test/CodeGen/X86/pr49028.ll |
Commit
f29dcbdde10c86cfd89196fc2aa0e7f6ca3c9c4e
by hansAdd flag for showing skipped headers in -H / --show-includes output
Consider the following set of files:
a.cc: #include "a.h"
a.h: #ifndef A_H #define A_H
#include "b.h" #include "c.h" // This gets "skipped".
#endif
b.h: #ifndef B_H #define B_H
#include "c.h"
#endif
c.h: #ifndef C_H #define C_H
void c();
#endif
And the output of the -H option:
$ clang -c -H a.cc . ./a.h .. ./b.h ... ./c.h
Note that the include of c.h in a.h is not shown in the output (GCC does the same). This is because of the include guard optimization: clang knows c.h is covered by an include guard which is already defined, so when it sees the include in a.h, it skips it. The same would have happened if #pragma once were used instead of include guards.
However, a.h *does* include c.h, and it may be useful to show that in the -H output. This patch adds a flag for doing that.
Differential revision: https://reviews.llvm.org/D100480
|
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Frontend/HeaderIncludeGen.cpp |
 | clang/test/Frontend/Inputs/test2.h |
 | clang/test/Frontend/print-header-includes.c |
 | clang/include/clang/Frontend/DependencyOutputOptions.h |
 | clang/test/Frontend/Inputs/test.h |
Commit
d45df0d29f7005d3c25357f3982002eaf339f875
by martinclang-format: [JS] merge import lines.
Multiple lines importing from the same URL can be merged:
import {X} from 'a'; import {Y} from 'a';
Merge to:
import {X, Y} from 'a';
This change implements this merge operation. It takes care not to merge in various corner case situations (default imports, star imports).
Differential Revision: https://reviews.llvm.org/D100466
|
 | clang/lib/Format/SortJavaScriptImports.cpp |
 | clang/unittests/Format/SortImportsTestJS.cpp |
Commit
4d195f1b4dd6e3978776d69f49840439933a2543
by martinreview comments
track symbol merge status in references to avoid excesive rewrites
|
 | clang/unittests/Format/SortImportsTestJS.cpp |
 | clang/lib/Format/SortJavaScriptImports.cpp |