Commit
205dc0922d5f7305226f7457fcbcb4224c92530c
by georgakoudis1[CallGraph] Ignore callback uses
Summary: Ignore callback uses when adding a callback function in the CallGraph. Callback functions are typically created when outlining, e.g. for OpenMP, so they have internal scope and linkage. They should not be added to the ExternalCallingNode since they are only callable by the specified caller function at creation time.
A CGSCC pass, such as OpenMPOpt, may need to update the CallGraph by adding a new outlined callback function. Without ignoring callback uses, adding breaks CGSCC pass restrictions and results to a broken CallGraph.
Reviewers: jdoerfert
Subscribers: hiraditya, sstefan1, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83370
|
 | llvm/lib/IR/Function.cpp |
 | llvm/include/llvm/IR/Function.h |
 | llvm/lib/Analysis/CallGraph.cpp |
 | llvm/test/Analysis/CallGraph/ignore-callback-uses.ll |
Commit
c025bdf25a59a79d60a2e99962c8653547a825d8
by maskrayRevert D83013 "[LPM] Port CGProfilePass from NPM to LPM"
This reverts commit c92a8c0a0f68fbbb23e3fdde071007e63a552e82.
It breaks builds and has unaddressed review comments.
|
 | llvm/test/Other/opt-Os-pipeline.ll |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/test/CodeGen/AMDGPU/opt-pipeline.ll |
 | llvm/include/llvm/InitializePasses.h |
 | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp |
 | llvm/lib/Transforms/Instrumentation/CGProfile.cpp |
 | llvm/test/Other/opt-O2-pipeline.ll |
 | llvm/test/Other/new-pm-cgprofile.ll |
 | llvm/lib/Passes/PassBuilder.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/test/Instrumentation/cgprofile.ll |
 | llvm/include/llvm/Transforms/IPO.h |
 | llvm/test/Other/opt-O3-pipeline.ll |
 | llvm/include/llvm/Transforms/Instrumentation/CGProfile.h |
 | llvm/lib/Transforms/Instrumentation/Instrumentation.cpp |
 | llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h |
Commit
ce1e4853b5a15d679bd662ac5777a2390daf0391
by echristoTemporarily Revert "[PowerPC] Split s34imm into two types" as it was failing in Release+Asserts mode with an assert.
This reverts commit bd2068031121adf5a0e28d9306a1741d6f0bbd87.
|
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp |
 | llvm/test/MC/PowerPC/ppc64-errors-emit-obj.s |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h |
Commit
98eec7700c3f397283a3937b1d3ddfe4e6d3b910
by echristoTemporarily Revert "Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch." as it's causing build errors with another clang so I'll need to approach this differently.
This reverts commit c2827083166cd5150232d8fd3ada3cf8fa8c9ac3.
|
 | lld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp |
 | lld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp |
Commit
c2a61ef3885019c5e0444d8789de63e1ce4d5003
by lebedev.riRevert "[CallGraph] Ignore callback uses"
This likely has broken test/Transforms/Attributor/IPConstantProp/ tests. http://45.33.8.238/linux/22502/step_12.txt
This reverts commit 205dc0922d5f7305226f7457fcbcb4224c92530c.
|
 | llvm/include/llvm/IR/Function.h |
 | llvm/lib/Analysis/CallGraph.cpp |
 | llvm/test/Analysis/CallGraph/ignore-callback-uses.ll |
 | llvm/lib/IR/Function.cpp |
Commit
c0308fd154f9a945608bd42630dc81dce5edfb40
by nikita.ppv[PredicateInfo] Print RenamedOp (NFC)
Make it easier to debug renaming issues.
|
 | llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll |
 | llvm/test/Transforms/Util/PredicateInfo/condprop.ll |
 | llvm/lib/Transforms/Utils/PredicateInfo.cpp |
Commit
6890e2a17b75211cf65fca597ada768bda348c4c
by spatel[DAGCombiner] add helper function to manage list of consecutive stores; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
8d74cb01b732a55f0942a9fabe9f779820f2c06b
by spatel[DAGCombiner] add helper function for store merging of constants; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
f98a602c2e37648f637aac15cba7cbe86906e720
by spatel[DAGCombiner] add helper function for store merging of extracts; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
b476e6a642d08aefaf391df026893078cd6ea9b2
by spatel[DAGCombiner] add helper function for store merging of loaded values; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
a46cf40240adb3f3171f08705e65d7300b2719cb
by spatel[DAGCombiner] convert if-chain in store merging to switch; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
77f8f813a9ae20152129a8ebb9fea5fcec859194
by Stanislav.Mekhanoshin[AMDGPU] Return restricted number of regs from TTI
This is practically NFC at the moment because nothing really asks the real number or does anything useful with it.
Differential Revision: https://reviews.llvm.org/D82202
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
Commit
f40b11325e368667cf1dd91922d57dcef8069c8a
by craig.topperRecommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."
This time without the change to make operator| use operator&=. That seems to be the source of the gcc 5.3 miscompile.
Original commit message: These represent the same thing but 64BIT only showed up from getHostCPUFeatures providing a list of featuers to clang. While EM64T showed up from getting the features for a named CPU.
EM64T didn't have a string specifically so it would not be passed up to clang when getting features for a named CPU. While 64bit needed a name since that's how it is index.
Merge them by filtering 64bit out before sending features to clang for named CPUs.
|
 | llvm/include/llvm/Support/X86TargetParser.def |
 | llvm/lib/Support/Host.cpp |
 | llvm/lib/Support/X86TargetParser.cpp |
Commit
839f8e4fe2dcf490a0972d7761f95e5a6b287faf
by jdenny.ornl[FileCheck] Improve -dump-input documentation
Document the default of `fail` in `-help`. Extend `-dump-input=help` to help users find related command-line options, but let `-help` provide their full documentation.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D83091
|
 | llvm/utils/FileCheck/FileCheck.cpp |
 | llvm/test/FileCheck/dump-input-enable.txt |
Commit
5ffec467202808f92c378adae95d9972926aba7d
by amy.kwan1[PowerPC][Power10] Add Instruction definition/MC Tests for Load/Store Rightmost VSX Vector
This patch adds the instruction definitions and the assembly/disassembly tests for the Load/Store VSX Vector Rightmose instructions.
Differential Revision: https://reviews.llvm.org/D83364
|
 | llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s |
Commit
672ae621e91ff5cdefb2535bdd530641536685ea
by zequanwu[Lexer] Fix missing coverage line after #endif
Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660
Reviewers: vsk, efriedma, arphaman
Reviewed By: vsk
Subscribers: dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83514
|
 | clang/lib/Lex/PPDirectives.cpp |
 | clang/test/CoverageMapping/preprocessor.c |
Commit
227db86a1b7dd6f96f7df14890fcd071bc4fe1f5
by akhuangSwitch to using -debug-info-kind=constructor as default (from =limited)
Summary: -debug-info-kind=constructor reduces the amount of class debug info that is emitted; this patch switches to using this as the default.
Constructor homing emits the complete type info for a class only when the constructor is emitted, so it is expected that there will be some classes that are not defined in the debug info anymore because they are never constructed, and we shouldn't need debug info for these classes.
I compared the PDB files for clang, and there are 273 class types that are defined with `=limited` but not with `=constructor` (out of ~60,000 total class types). We've looked at a number of the types that are no longer defined with =constructor. The vast majority of cases are something like class A is used as a parameter in a member function of some other class B, which is emitted. But the function that uses class A is never called, and class A is never constructed, and therefore isn't emitted in the debug info.
Bug: https://bugs.llvm.org/show_bug.cgi?id=46537
Subscribers: aprantl, cfe-commits, lldb-commits
Tags: #clang, #lldb
Differential Revision: https://reviews.llvm.org/D79147
|
 | clang/test/Driver/myriad-toolchain.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/clang-g-opts.c |
 | clang/test/Driver/openmp-offload-gpu.c |
 | lldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp |
 | clang/test/Driver/split-debug.c |
 | clang/test/Driver/cl-options.c |
 | clang/test/Driver/debug-options-as.c |
 | clang/test/Driver/cuda-dwarf-2.cu |
 | clang/test/Driver/integrated-as.s |
 | clang/test/Driver/debug-options.c |
Commit
85d9745c83a105692a8784b8c8a83482696b4900
by psteinfeld[flang] Fix a crash when creating generics from a copy
Summary: When a program unit creates a generic based on one defined in a module, the function `CopyFrom()` is called to create the `GenericDetails`. This function copied the `specificProcs_` but failed to copy the `bindingNames_`. If the function `CheckGeneric()` then gets called, it tries to index into the empty binding names and causes the crash.
I fixed this by adding code to `CopyFrom()` to copy the binding names.
I also added a test that causes the crash.
Reviewers: klausler, tskeith, DavidTruby
Subscribers: llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D83491
|
 | flang/lib/Semantics/symbol.cpp |
 | flang/include/flang/Semantics/symbol.h |
 | flang/test/Semantics/resolve53.f90 |
Commit
8be204fe75caac4ce6ed1e2cf5659011476bde79
by zequanwuRevert "[Lexer] Fix missing coverage line after #endif"
This reverts commit 672ae621e91ff5cdefb2535bdd530641536685ea.
|
 | clang/lib/Lex/PPDirectives.cpp |
 | clang/test/CoverageMapping/preprocessor.c |
Commit
8a8bb078a3c839f0708917d9920ed4299680de1e
by pklausler[flang] Fix frontend build with -DBUILD_SHARED_LIBS=On
Fix fronted shared library builds by eliminating dependences of the parser on other component libraries, moving some code around that wasn't in the right library, and making some dependences explicit in the CMakeLists.txt files. The lowering library does not yet build as a shared library due to some undefined names.
Reviewed By: tskeith
Differential Revision: https://reviews.llvm.org/D83515
|
 | flang/include/flang/Common/indirection.h |
 | flang/tools/f18-parse-demo/stub-evaluate.cpp |
 | flang/include/flang/Semantics/tools.h |
 | flang/include/flang/Evaluate/tools.h |
 | flang/lib/Evaluate/CMakeLists.txt |
 | flang/lib/Parser/parse-tree.cpp |
 | flang/include/flang/Evaluate/expression.h |
 | flang/unittests/Runtime/CMakeLists.txt |
 | flang/unittests/Evaluate/CMakeLists.txt |
 | flang/lib/Semantics/expression.cpp |
 | flang/include/flang/Evaluate/call.h |
 | flang/lib/Semantics/tools.cpp |
 | flang/include/flang/Semantics/expression.h |
 | flang/lib/Lower/CMakeLists.txt |
 | flang/lib/Semantics/CMakeLists.txt |
 | flang/lib/Evaluate/call.cpp |
 | flang/lib/Evaluate/tools.cpp |
 | flang/include/flang/Parser/parse-tree.h |
 | flang/tools/f18/CMakeLists.txt |
 | flang/lib/Evaluate/expression.cpp |
Commit
9263e08251ae7ab6feaa6cda37d70fbd6971cfc4
by eschweitz[flang] ifdef to avoid warning about supposedly dead function
|
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
Commit
56ae2cebcdf7884470212ed2a04c1bce73d5c996
by efriedma[AArch64][SVE] Add lowering for llvm.fma.
This is currently bare-bones; we aren't taking advantage of any of the FMA variant instructions. But it's enough to at least generate code.
Differential Revision: https://reviews.llvm.org/D83444
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/test/CodeGen/AArch64/sve-fp.ll |
Commit
722475a375697513797a71afe6c37db3e3763bfc
by stellaraccidentInitial boiler-plate for python bindings.
Summary: * Native '_mlir' extension module. * Python mlir/__init__.py trampoline module. * Lit test that checks a message. * Uses some cmake configurations that have worked for me in the past but likely needs further elaboration.
Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes
Tags: #mlir
Differential Revision: https://reviews.llvm.org/D83279
|
 | mlir/lib/Bindings/CMakeLists.txt |
 | mlir/test/Bindings/Python/lit.local.cfg |
 | mlir/test/lit.cfg.py |
 | mlir/lib/CMakeLists.txt |
 | mlir/lib/Bindings/Python/MainModule.cpp |
 | mlir/lib/Bindings/Python/mlir/__init__.py |
 | mlir/test/lit.site.cfg.py.in |
 | mlir/lib/Bindings/Python/unix_version.lds |
 | mlir/CMakeLists.txt |
 | mlir/test/CMakeLists.txt |
 | mlir/test/Bindings/Python/smoke_test.py |
 | mlir/lib/Bindings/Python/CMakeLists.txt |
Commit
78fe6a3ee244cf1b590cd2a169c81ec00de08cb2
by wmi[NFC] Extract the code to write instr profile into function writeInstrProfile
So that the function writeInstrProfile can be used in other places.
Differential Revision: https://reviews.llvm.org/D83521
|
 | llvm/tools/llvm-profdata/llvm-profdata.cpp |
Commit
e296e9dfd6ceade1271e48a0afacd1a4826676be
by wmi[NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder.
Change file static function getEntryForPercentile to be a static member function in ProfileSummaryBuilder so it can be used by other files.
Differential Revision: https://reviews.llvm.org/D83439
|
 | llvm/lib/Analysis/ProfileSummaryInfo.cpp |
 | llvm/lib/ProfileData/ProfileSummaryBuilder.cpp |
 | llvm/include/llvm/ProfileData/ProfileCommon.h |
Commit
8039d2c3bf14585ef37dc9343bf393ecad9aead9
by aeubanks[NFC] Derive from PassInfoMixin for no-op/printing passes
PassInfoMixin should be used for all NPM passes, rater than a custom `name()`.
This caused ambiguous references in LegacyPassManager.cpp, so had to remove "using namespace llvm::legacy" and move some things around.
The passes had to be moved to the llvm namespace, or else they would get printed as "(anonymous namespace)::FooPass".
Reviewed By: ychen, asbirlea
Differential Revision: https://reviews.llvm.org/D83498
|
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/IR/LegacyPassManager.cpp |
 | llvm/include/llvm/IR/IRPrintingPasses.h |
Commit
ce22527c0c7a38ce0ac2037104a2a89443754836
by Amara Emerson[AArch64][GlobalISel] Add more specific debug info tests for 613f12dd8e2403f5630ab299d2a1bb2cb111ead1.
As requested, these tests check for specific debug locs on the output of the legalizer. The only one that I couldn't write was for moreElementsVector, which AFAICT we don't trigger on AArch64.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-memlib-debug-loc.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr-debugloc.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift-imm-promote-dloc.mir |
Commit
3847a6ae759e0be06b9a3cd3d303099a6cd41d7d
by antiagainst[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory.
This commit augments spv.CopyMemory's implementation to support 2 memory access operands. Hence, more closely following the spec. The following changes are introduces:
- Customize logic for spv.CopyMemory serialization and deserialization. - Add 2 additional attributes for source memory access operand.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D83241
|
 | mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td |
 | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp |
 | mlir/test/Dialect/SPIRV/ops.mlir |
 | mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp |
 | mlir/lib/Dialect/SPIRV/SPIRVOps.cpp |
 | mlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir |
Commit
7462793be771712092de4c31fef1b04ac365ccea
by richardMove default argument instantiation to SemaTemplateInstantiateDecl.cpp.
No functionality change intended.
|
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/include/clang/Sema/Sema.h |
Commit
a5569f089844209dbea2e3241460173d7b6b1420
by richardPush parameters into the local instantiation scope before instantiating a default argument.
Default arguments can (after recent language changes) refer to parameters of the same function. Make sure they're added to the local instantiation scope before transforming a default argument so that we can remap such references to them properly.
|
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/lib/AST/Decl.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/test/SemaTemplate/default-arguments-cxx0x.cpp |
Commit
f721e0582b158c60c56d2601235b6d60758f4d7a
by richardPR46648: Do not eagerly instantiate default arguments for a generic lambda when instantiating a call operator specialization.
We previously incorrectly thought that such substitution was happening in the context of substitution into a local scope, which is a context where we should perform eager default argument instantiation.
|
 | clang/lib/AST/DeclBase.cpp |
 | clang/test/SemaTemplate/dependent-expr.cpp |
 | clang/include/clang/AST/DeclBase.h |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/lib/Sema/SemaTemplateInstantiate.cpp |
 | clang/test/SemaTemplate/default-arguments-cxx0x.cpp |
Commit
bed3e1a99b41f5a9525bc0edf12ecbcf63aab0cf
by julian.lettner[Sanitizer] Update macOS version checking
Support macOS 11 in our runtime version checking code and update `GetMacosAlignedVersionInternal()` accordingly. This follows the implementation of `Triple::getMacOSXVersion()` in the Clang driver.
Reviewed By: delcypher
Differential Revision: https://reviews.llvm.org/D82918
|
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp |
Commit
57f2a789ca074165baa1c8eea3332007477c9f91
by Vitaly Buka[StackSafety,NFC] Reduce FunctionSummary size
Most compiler infocations will not need ParamAccess, so we can optimize memory usage there with smaller unique_ptr instead of empty vector. Suggested in D80908 review.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D83458
|
 | llvm/include/llvm/IR/ModuleSummaryIndex.h |
Commit
fbef6c55bc2f349110bd601b716889d73e101c92
by rupprecht[lldb] Declare extern template instantiation to fix linking issues.
NativeProcessELF::GetELFImageInfoAddress<...>() is declared in NativeProcessELF.h, but only defined in NativeProcessELF.cpp. Via some optimized builds (e.g. thinlto), this instantiation may be removed when it is used in a different TU (NativeProcessELFTest.cpp).
|
 | lldb/source/Plugins/Process/POSIX/NativeProcessELF.h |
 | lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp |
Commit
f1efb8bb4ba0584a9b994f3404a2c62920ce6652
by czhengsz[SCEV][IndVarSimplify] insert point should not be block front.
The block front may be a PHI node, inserting a cast instructions like BitCast, PtrToInt, IntToPtr among PHIs is not right.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D80975
|
 | llvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll |
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
 | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp |
Commit
00c9a504aeed2603bd8bc9b89d753534e929c8e8
by JF BastienCrashTracer: clang at clang: llvm::BitstreamWriter::ExitBlock
Add a guard for re-entering an SDiagsWriter's HandleDiagnostics method after we've started finalizing. This is a generic catch all for unexpected fatal errors so we don't recursive crash inside the generic llvm error handler.
We also add logic to handle the actual error case in llvm::~raw_fd_ostream caused by failing to clear errors before it is destroyed.
<rdar://problem/63335596>
|
 | clang/include/clang/Basic/DiagnosticFrontendKinds.td |
 | clang/lib/Frontend/SerializedDiagnosticPrinter.cpp |
Commit
553dbb6d7b32cc786281dea2c58a420bcbc9bb82
by richard[demangler] Don't allow the template parameters from the <encoding> in a <local-name> to leak out into later parts of the name.
This caused us to fail to demangle certain constructs involving generic lambdas.
|
 | libcxxabi/src/demangle/ItaniumDemangle.h |
 | libcxxabi/test/test_demangle.pass.cpp |
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
Commit
c20c1960c15adb3b897aeb1ab83b6fa4caab2505
by stellaraccidentAdd Python bindings guide.
Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes
Tags: #mlir
Differential Revision: https://reviews.llvm.org/D83527
|
 | mlir/docs/Bindings/Python.md |
Commit
ceb76d2fe73d39f2230bf55d47b8fd68849d47d7
by phosek[CMake][Fuchsia] Move runtimes to outer scope
This is needed for runtimes to be properly configured, addressing an issue introduced in 53e38c85.
|
 | clang/cmake/caches/Fuchsia-stage2.cmake |
Commit
b03f1756fb4fd5ac5d606a7e4fd8aea1d9f18541
by richard[demangler] More properly save and restore the template parameter state when parsing an encoding.
|
 | llvm/include/llvm/Demangle/ItaniumDemangle.h |
 | libcxxabi/test/test_demangle.pass.cpp |
 | libcxxabi/src/demangle/ItaniumDemangle.h |
Commit
30582457b47004dec8a78144abc919a13ccbd08c
by gchatelet[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)
This is preparatory work to unable storing alignment for AtomicCmpXchgInst. See D83136 for context and bug: https://bugs.llvm.org/show_bug.cgi?id=27168
Differential Revision: https://reviews.llvm.org/D83375
|
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/include/llvm/Bitcode/LLVMBitCodes.h |
Commit
760bbda2d8200481d03a46a74587035059dd12cc
by maskray[llvm-symbolizer][test] Fix options-from-env.test
options-from-env.test (D71668) does not test it intended to test: `llvm-symbolizer 0x20112f` prints `0x20112f` in the absence of an environment variable.
|
 | llvm/test/tools/llvm-symbolizer/options-from-env.test |
Commit
e71c7b593a2d1b7d60dc8aaa4b8ede03de7bbd00
by rithiksh02[CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils Summary: This patch moves OrderedInstructions to CodeMoverUtils as It was the only place where OrderedInstructions is required. Authored By: RithikSharma Reviewer: Whitney, bmahjour, etiotto, fhahn, nikic Reviewed By: Whitney, nikic Subscribers: mgorny, hiraditya, llvm-commits Tag: LLVM Differential Revision: https://reviews.llvm.org/D80643
|
 | llvm/lib/Transforms/Utils/CodeMoverUtils.cpp |
 | llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn |
 | llvm/include/llvm/Analysis/OrderedInstructions.h |
 | llvm/lib/Analysis/OrderedInstructions.cpp |
 | llvm/lib/Analysis/CMakeLists.txt |
 | llvm/unittests/Analysis/OrderedInstructionsTest.cpp |
 | llvm/unittests/Analysis/CMakeLists.txt |
Commit
98d763ad051f5eab89fa46167516fc8a84f471d0
by zeratul976[clangd] Factor out some helper functions related to heuristic resolution in TargetFinder
Summary: Two helpers are introduced:
* Some of the logic previously in TargetFinder::Visit*() methods is factored out into resolveDependentExprToDecls().
* Some of the logic in getMembersReferencedViaDependentName() is factored out into resolveTypeToRecordDecl().
D82739 will build on this and use these functions in new ways.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83371
|
 | clang-tools-extra/clangd/FindTarget.cpp |
Commit
04b9a46c842f793a2baedcad64de35fcbd3e93b7
by zakk.chen[RISCV] Refactor FeatureRVCHints to make ProcessorModel more intuitive
Reviewers: luismarques, asb, evandro
Reviewed By: asb, evandro
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77030
|
 | llvm/lib/Target/RISCV/RISCV.td |
 | llvm/test/MC/RISCV/rv32c-invalid.s |
 | llvm/lib/Target/RISCV/RISCVSubtarget.h |
Commit
50f24331fd91e70de6bf6c3efe45272ddfc711fd
by dany.grumbergAdd diagnostic option backing field for -fansi-escape-codes
Summary: Keep track of -fansi-escape-codes in DiagnosticOptions and move the option to the new option parsing system.
Depends on D82860
Reviewers: Bigcheese
Subscribers: dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82874
|
 | clang/include/clang/Basic/DiagnosticOptions.def |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
a65da5f5924fbb7bad28bbb397e3e9a94959df4c
by omair.javaid[LLDB] Update AArch64 Dwarf and EH frame register numbers
This patch updates ARM64_ehframe_Registers.h and ARM64_DWARF_Registers.h with latest register numbers in line with AArch64 SVE support.
For refernce take a look at "DWARF for the ARM® 64-bit Architecture (AArch64) with SVE support" manual from Arm. Version used: abi_sve_aadwarf_100985_0000_00_en.pdf
|
 | lldb/source/Utility/ARM64_DWARF_Registers.h |
 | lldb/source/Utility/ARM64_ehframe_Registers.h |
Commit
229dfb4728f45cf9607aaa564155c267f3a0f59c
by david.sherwood[CodeGen] Replace calls to getVectorNumElements() in SelectionDAG::SplitVector
This patch replaces some invalid calls to getVectorNumElements() with calls to getVectorMinNumElements() instead, since the code paths changed in this patch work for both fixed and scalable vector types.
Fixes warnings in this test:
sve-sext-zext.ll
Differential Revision: https://reviews.llvm.org/D83203
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
eb6b7c5d4fd4aeaf92d0ad560e0c078a95d66902
by georgemitenk0v[MLIR][SPIRVToLLVM] Conversion of SPIR-V struct type without offset
This patch introduces type conversion for SPIR-V structs. Since handling offset case requires thorough testing, it was left out for now. Hence, only structs with no offset are currently supported. Also, structs containing member decorations cannot be translated.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D83403
|
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
 | mlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir |
 | mlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir |
Commit
043eaa9a4a0808fe4e82b2ef1823ccafa491c065
by tlively[WebAssembly][NFC] Simplify vector shift lowering and add tests
This patch builds on 0d7286a652 by simplifying the code for detecting splat values and adding new tests demonstrating the lowering of splatted absolute value shift amounts, which are common in code generated by Halide. The lowering is very bad right now, but subsequent patches will improve it considerably. The tests will be useful for evaluating the improvements in those patches.
Reviewed By: aheejin
Differential Revision: https://reviews.llvm.org/D83493
|
 | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp |
 | llvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll |
Commit
da731894a2fe45fd5bec9698f3206c1fdee2829a
by david.sherwood[CodeGen] Replace calls to getVectorNumElements() in DAGTypeLegalizer::SetSplitVector
In DAGTypeLegalizer::SetSplitVector I have changed calls in the assert from getVectorNumElements() to getVectorElementCount(), since this code path works for both fixed and scalable vectors.
This fixes up one warning in the test:
sve-sext-zext.ll
Differential Revision: https://reviews.llvm.org/D83196
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp |
Commit
7bf168390fd05460b1c0df3fa570758c6be718fd
by diogo.sampaio[BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses
Summary: This allows to convert any SExt to a ZExt when we know none of the extended bits are used, specially in cases where there are multiple uses of the value.
Reviewers: dmgreen, eli.friedman, spatel, lebedev.ri, nikic
Reviewed By: lebedev.ri, nikic
Subscribers: hiraditya, dmgreen, craig.topper, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60413
|
 | llvm/lib/Transforms/Scalar/BDCE.cpp |
 | llvm/test/Transforms/BDCE/sext_multi_uses.ll |
Commit
68c011aa085ab8ec198198e45c83de605a7dc31f
by courbet[builtins] Optimize udivmodti4 for many platforms.
Summary: While benchmarking uint128 division we found out that it has huge latency for small divisors
https://reviews.llvm.org/D83027
``` Benchmark Time(ns) CPU(ns) Iterations -------------------------------------------------------------------------------------------------- BM_DivideIntrinsic128UniformDivisor<unsigned __int128> 13.0 13.0 55000000 BM_DivideIntrinsic128UniformDivisor<__int128> 14.3 14.3 50000000 BM_RemainderIntrinsic128UniformDivisor<unsigned __int128> 13.5 13.5 52000000 BM_RemainderIntrinsic128UniformDivisor<__int128> 14.1 14.1 50000000 BM_DivideIntrinsic128SmallDivisor<unsigned __int128> 153 153 5000000 BM_DivideIntrinsic128SmallDivisor<__int128> 170 170 3000000 BM_RemainderIntrinsic128SmallDivisor<unsigned __int128> 153 153 5000000 BM_RemainderIntrinsic128SmallDivisor<__int128> 155 155 5000000 ```
This patch suggests a more optimized version of the division:
If the divisor is 64 bit, we can proceed with the divq instruction on x86 or constant multiplication mechanisms for other platforms. Once both divisor and dividend are not less than 2**64, we use branch free subtract algorithm, it has at most 64 cycles. After that our benchmarks improved significantly
``` Benchmark Time(ns) CPU(ns) Iterations -------------------------------------------------------------------------------------------------- BM_DivideIntrinsic128UniformDivisor<unsigned __int128> 11.0 11.0 64000000 BM_DivideIntrinsic128UniformDivisor<__int128> 13.8 13.8 51000000 BM_RemainderIntrinsic128UniformDivisor<unsigned __int128> 11.6 11.6 61000000 BM_RemainderIntrinsic128UniformDivisor<__int128> 13.7 13.7 52000000 BM_DivideIntrinsic128SmallDivisor<unsigned __int128> 27.1 27.1 26000000 BM_DivideIntrinsic128SmallDivisor<__int128> 29.4 29.4 24000000 BM_RemainderIntrinsic128SmallDivisor<unsigned __int128> 27.9 27.8 26000000 BM_RemainderIntrinsic128SmallDivisor<__int128> 29.1 29.1 25000000 ```
If not using divq instrinsics, it is still much better
``` Benchmark Time(ns) CPU(ns) Iterations -------------------------------------------------------------------------------------------------- BM_DivideIntrinsic128UniformDivisor<unsigned __int128> 12.2 12.2 58000000 BM_DivideIntrinsic128UniformDivisor<__int128> 13.5 13.5 52000000 BM_RemainderIntrinsic128UniformDivisor<unsigned __int128> 12.7 12.7 56000000 BM_RemainderIntrinsic128UniformDivisor<__int128> 13.7 13.7 51000000 BM_DivideIntrinsic128SmallDivisor<unsigned __int128> 30.2 30.2 24000000 BM_DivideIntrinsic128SmallDivisor<__int128> 33.2 33.2 22000000 BM_RemainderIntrinsic128SmallDivisor<unsigned __int128> 31.4 31.4 23000000 BM_RemainderIntrinsic128SmallDivisor<__int128> 33.8 33.8 21000000 ```
PowerPC benchmarks:
Was ``` BM_DivideIntrinsic128UniformDivisor<unsigned __int128> 22.3 22.3 32000000 BM_DivideIntrinsic128UniformDivisor<__int128> 23.8 23.8 30000000 BM_RemainderIntrinsic128UniformDivisor<unsigned __int128> 22.5 22.5 32000000 BM_RemainderIntrinsic128UniformDivisor<__int128> 24.9 24.9 29000000 BM_DivideIntrinsic128SmallDivisor<unsigned __int128> 394 394 2000000 BM_DivideIntrinsic128SmallDivisor<__int128> 397 397 2000000 BM_RemainderIntrinsic128SmallDivisor<unsigned __int128> 399 399 2000000 BM_RemainderIntrinsic128SmallDivisor<__int128> 397 397 2000000 ```
With this patch ``` BM_DivideIntrinsic128UniformDivisor<unsigned __int128> 21.7 21.7 33000000 BM_DivideIntrinsic128UniformDivisor<__int128> 23.0 23.0 31000000 BM_RemainderIntrinsic128UniformDivisor<unsigned __int128> 21.9 21.9 33000000 BM_RemainderIntrinsic128UniformDivisor<__int128> 23.9 23.9 30000000 BM_DivideIntrinsic128SmallDivisor<unsigned __int128> 32.7 32.6 23000000 BM_DivideIntrinsic128SmallDivisor<__int128> 33.4 33.4 21000000 BM_RemainderIntrinsic128SmallDivisor<unsigned __int128> 31.1 31.1 22000000 BM_RemainderIntrinsic128SmallDivisor<__int128> 33.2 33.2 22000000 ```
My email: danilak@google.com, I don't have commit rights
Reviewers: howard.hinnant, courbet, MaskRay
Reviewed By: courbet
Subscribers: steven.zhang, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D81809
|
 | compiler-rt/lib/builtins/udivmodti4.c |
Commit
21bacc215413d10df53a4690e9561e9b96698742
by vsavchenko[analyzer][tests] Measure peak memory consumption for every project
Differential Revision: https://reviews.llvm.org/D82967
|
 | clang/utils/analyzer/SATestBuild.py |
 | clang/utils/analyzer/Dockerfile |
 | clang/utils/analyzer/SATestUtils.py |
 | clang/utils/analyzer/requirements.txt |
Commit
9c7ff0a4aaef0a1efa33e9ff8a12a064087bded9
by vsavchenko[analyzer][tests] Make test interruption safe
Differential Revision: https://reviews.llvm.org/D83373
|
 | clang/utils/analyzer/SATest.py |
Commit
00997d1cad9ecd40c92aeae40269f6bfb9e58d11
by vsavchenko[analyzer][tests] Fix zip unpacking
Differential Revision: https://reviews.llvm.org/D83374
|
 | clang/utils/analyzer/SATestBuild.py |
Commit
77133cc1e2c91678082d2098b959757e72dfce60
by llvm-dev[X86][AVX] Attempt to fold PACK(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(PACK(X,Y)).
Truncations lowered as shuffles of multiple (concatenated) vectors often leave us with lane-crossing shuffles that feed a PACKSS/PACKUS, if both shuffles are fed from the same 2 vector sources, then we can PACK the sources directly and shuffle the result instead.
This is currently limited to whole i128 lanes in a 256-bit vector, but we can extend this if the need arises (but I'm not seeing many examples in real world code).
|
 | llvm/test/CodeGen/X86/bitcast-and-setcc-512.ll |
 | llvm/test/CodeGen/X86/packss.ll |
 | llvm/test/CodeGen/X86/vector-compare-results.ll |
 | llvm/test/CodeGen/X86/vector-pack-256.ll |
 | llvm/test/CodeGen/X86/avg.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
c06417b24dfbfd62650ab05aff78e188b5d00681
by Vitaly BukaFix check-all with -DLLVM_USE_SANITIZER=Address
|
 | clang/test/SemaTemplate/stack-exhaustion.cpp |
 | compiler-rt/cmake/config-ix.cmake |
 | llvm/test/tools/gold/lit.local.cfg |
Commit
9a3e8b11a8317b1a3d7440b0585b011cc9527494
by llvm-devextractConstantWithoutWrapping - use const APInt& returned by SCEVConstant::getAPInt()
Avoids unnecessary APInt copies and silences clang tidy warning.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
cf40db21af489e3e5bc1c39cea855cc068c4ce48
by Mirko.Brkusanin[AMDGPU][GlobalISel] Fix G_AMDGPU_TBUFFER_STORE_FORMAT mapping
Add missing mappings and tablegen definitions for TBUFFER_STORE_FORMAT.
Differential Revision: https://reviews.llvm.org/D83240
|
 | llvm/lib/Target/AMDGPU/BUFInstructions.td |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.f16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.i8.ll |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.ll |
Commit
264ab1e2c815728ede5d1fce257abbd04044cc27
by flo[LV] Pick vector loop body as insert point for SCEV expansion.
Currently the DomTree is not kept up to date for additional blocks generated in the vector loop, for example when vectorizing with predication. SCEVExpander relies on dominance checks when looking for existing instructions to re-use and in some cases that can lead to the expander picking instructions that do not actually dominate their insert point (e.g. as in PR46525).
Unfortunately keeping the DT up-to-date is a bit tricky, because the CFG is only patched up after generating code for a block. For now, we can just use the vector loop header, as this ensures the inserted instructions dominate all uses in the vector loop. There should be no noticeable impact on the generated code, as other passes should sink those instructions, if profitable.
Fixes PR46525.
Reviewers: Ayal, gilr, mkazantsev, dmgreen
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D83288
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll |
Commit
5f41ca48d1c46fc78958d47c0edfb2dbcde47217
by hokein.wu[clang-tidy] More strict on matching the standard memset function in memset-usage check.
The check assumed the matched function call has 3 arguments, but the matcher didn't guaranteed that.
Differential Revision: https://reviews.llvm.org/D83301
|
 | clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/bugprone-suspicious-memset-usage.cpp |
Commit
d372a8e8bce266bb4043e6a0bfd76c7e5bf457a5
by pavel[lldb/pecoff] Use a different llvm createBinary overload for parsing
Change the code the use the version which accepts a memory buffer, instead of the one taking a file name.
This ensures we are not loading the file into memory twice (ObjectFilePECOFF also loads a copy), reducing our memory footprint, as well as enabling additional goodies in the future, like being able to open files which don't exist on disk (D83512).
|
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
Commit
f78e6a3095ca82d7621def46b2531b922a56e8f9
by paul.walker[SVE] Code generation for fixed length vector truncates.
Lower fixed length vector truncates to a sequence of SVE UZP1 instructions.
Differential Revision: https://reviews.llvm.org/D83395
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
Commit
69a89b54c62696d45731b48c26686cc4f9d652c6
by david.stuttard[NFC] Change isFPPredicate comparison to ignore lower bound
Summary: Since changing the Predicate to be an unsigned enum, the lower bound check for isFPPredicate no longer needs to check the lower bound, since it will always evaluate to true.
Also fixed a similar issue in SIISelLowering.cpp by removing the need for comparing to FIRST and LAST predicates
Added an assert to the isFPPredicate comparison to flag if the FIRST_FCMP_PREDICATE is ever changed to anything other than 0, in which case the logic will break.
Without this change warnings are generated in VS.
Change-Id: I358f0daf28c0628c7bda8ad4cab4e1757b761bab
Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83540
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/include/llvm/IR/InstrTypes.h |
Commit
4cc26a44ca8b29abf9e73a1048e8a36ac87b1fa1
by llvm-dev[X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD. NFCI.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
9ce98312896c5c67adb3a137506758d2cac8bb37
by llvm-devStackSafetyAnalysis.cpp - pass ConstantRange arg as const reference.
Avoids unnecessary copies and silences clang tidy warning - we do this in most places, there are just a few that were missed.
|
 | llvm/lib/Analysis/StackSafetyAnalysis.cpp |
Commit
a25487fd8cb91f99cfc1db1d4159184ac2a816a9
by n.james93[clang-tidy] Use Options priority in enum options where it was missing
|
 | clang-tools-extra/clang-tidy/ClangTidyCheck.cpp |
Commit
b69e0f674fb5a05224fbe50cae9a9e4137a2c0e1
by llvm-devDomTreeUpdater::dump() - use const auto& iterator in for-range-loop.
Avoids unnecessary copies and silences clang tidy warning.
|
 | llvm/lib/Analysis/DomTreeUpdater.cpp |
Commit
4c5a93bd58bad70e91ac525b0e020bd5119a321a
by ulrich.weigand[ABI] Handle C++20 [[no_unique_address]] attribute
Many platform ABIs have special support for passing aggregates that either just contain a single member of floatint-point type, or else a homogeneous set of members of the same floating-point type.
When making this determination, any extra "empty" members of the aggregate type will typically be ignored. However, in C++ (at least in all prior versions), no data member would actually count as empty, even if it's type is an empty record -- it would still be considered to take up at least one byte of space, and therefore make those ABI special cases not apply.
This is now changing in C++20, which introduced the [[no_unique_address]] attribute. Members of empty record type, if they also carry this attribute, now do *not* take up any space in the type, and therefore the ABI special cases for single-element or homogeneous aggregates should apply.
The C++ Itanium ABI has been updated accordingly, and GCC 10 has added support for this new case. This patch now adds support to LLVM. This is cross-platform; it affects all platforms that use the single-element or homogeneous aggregate ABI special case and implement this using any of the following common subroutines in lib/CodeGen/TargetInfo.cpp: isEmptyField isEmptyRecord isSingleElementStruct isHomogeneousAggregate
|
 | clang/lib/CodeGen/TargetInfo.cpp |
 | clang/test/CodeGen/systemz-abi.cpp |
Commit
118366dcb6c35239c1c816d109230d6f7f3660af
by wei.huang[PowerPC] Implement R_PPC64_REL24_NOTOC calls, callee also has no TOC
The PC Relative code allows for calls that are marked with the relocation R_PPC64_REL24_NOTOC. This indicates that the caller does not have a valid TOC pointer in R2 and does not require R2 to be restored after the call.
This patch is added to support local calls to callees tha also do not have a TOC.
Reviewed By: sfertile, MaskRay, stefanp
Differential Revision: https://reviews.llvm.org/D82816
|
 | lld/ELF/Arch/PPC64.cpp |
 | lld/test/ELF/Inputs/ppc64-callee-global-hidden.s |
 | lld/test/ELF/ppc64-pcrel-call-to-pcrel.s |
Commit
86f1313424fb578b0fd6c950d3ce7cb241f326ea
by sam.mccall[clangd] Config: If.PathExclude
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83511
|
 | clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp |
 | clang-tools-extra/clangd/ConfigCompile.cpp |
 | clang-tools-extra/clangd/ConfigFragment.h |
 | clang-tools-extra/clangd/ConfigYAML.cpp |
Commit
e1135b486aaed207f87a6d2e890678ef133b816e
by david.greenRevert "[BasicAA] Enable -basic-aa-recphi by default"
This reverts commit af839a96187e3538d63ad57571e4bdf01e2b15c5.
Some issues appear to be being caused by this. Reverting whilst we investigate.
|
 | llvm/lib/Analysis/BasicAliasAnalysis.cpp |
 | llvm/test/Analysis/BasicAA/recphi.ll |
 | llvm/test/Analysis/BasicAA/phi-loop.ll |
Commit
d4ce862f2aa8b7e4b11462bd72014b08ab9468b3
by kevin.nealReland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."
We currently have strict floating point/constrained floating point enabled for all targets. Constrained SDAG nodes get converted to the regular ones before reaching the target layer. In theory this should be fine.
However, the changes are exposed to users through multiple clang options already in use in the field, and the changes are _completely_ _untested_ on almost all of our targets. Bugs have already been found, like "https://bugs.llvm.org/show_bug.cgi?id=45274".
This patch disables constrained floating point options in clang everywhere except X86 and SystemZ. A warning will be printed when this happens.
Use the new -fexperimental-strict-floating-point flag to force allowing strict floating point on hosts that aren't already marked as supporting it (X86 and SystemZ).
Differential Revision: https://reviews.llvm.org/D80952
|
 | clang/lib/Frontend/CompilerInstance.cpp |
 | clang/test/CodeGen/builtins-ppc-fpconstrained.c |
 | clang/test/CodeGen/fp-strictfp-exp.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/include/clang/Driver/Options.td |
 | clang/test/CodeGen/arm64-vrnd-constrained.c |
 | clang/include/clang/Basic/DiagnosticFrontendKinds.td |
 | clang/lib/Basic/Targets/X86.h |
 | clang/docs/ClangCommandLineReference.rst |
 | clang/test/CodeGen/arm-neon-directed-rounding-constrained.c |
 | clang/lib/Basic/TargetInfo.cpp |
 | clang/test/CodeGen/aarch64-neon-misc-constrained.c |
 | clang/test/CodeGen/fpconstrained.cpp |
 | clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c |
 | clang/test/CodeGen/fp-strictfp.cpp |
 | clang/include/clang/Basic/TargetInfo.h |
 | clang/test/CodeGen/fpconstrained-cmp-double.c |
 | clang/lib/Basic/Targets/SystemZ.h |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/test/CodeGen/fpconstrained-cmp-float.c |
 | clang/test/CodeGen/fpconstrained.c |
Commit
0555db0a5df4d669ce4c2125668ec7a8a42fcd9d
by dany.grumbergNormalize default value for -triple correctly
|
 | clang/include/clang/Driver/Options.td |
Commit
22c8a08fd8a1487159564f74f24561964f6a6c97
by ntv[mlir][Vector] Fold chains of ExtractOp
This revision adds folding to ExtractOp by simply concatenating the position attributes.
|
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/Dialect/Vector/canonicalize.mlir |
 | mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir |
 | mlir/test/Dialect/Vector/vector-contract-transforms.mlir |
Commit
015a0faa5e9ef3095d521e1daf03fab9683ba028
by hokein.wu[clangd] Fix hover crash on InitListExpr.
Fixes https://github.com/clangd/clangd/issues/455
Differential Revision: https://reviews.llvm.org/D83546
|
 | clang-tools-extra/clangd/Hover.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
Commit
56c638b5c1caf018da3fa1a95b603267e607c89c
by ntv[mlir][Linalg] Generalize Vectorization of Linalg contractions
This revision adds support for vectorizing named and generic contraction ops to vector.contract. Cases in which the memref is 0-D are special cased to emit std.load/std.store instead of vector.transfer. Relevant tests are added.
Differential revision: https://reviews.llvm.org/D83307
|
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
 | mlir/include/mlir/IR/Attributes.h |
 | mlir/test/lib/Transforms/TestLinalgTransforms.cpp |
 | mlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir |
Commit
523a8513f8ba4d6b111496c541b9ba9f4d5f0261
by kevin.neal[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."
Use the new -fexperimental-strict-floating-point flag in more cases to fix the arm and aarch64 bots.
Differential Revision: https://reviews.llvm.org/D80952
|
 | clang/test/CodeGen/fpconstrained-cmp-double.c |
 | clang/test/CodeGen/fpconstrained-cmp-float.c |
Commit
ef0ecb7b03332fd5076a7ea641eadf0d01cd32c0
by lebedev.ri[NFCI][InstCombine] PR46661: multiple stores eligible for merging into successor - worklist issue
The testcase should pass with a single instcombine iteration.
|
 | llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll |
Commit
2655a70a046b67abe3bca01059d8767030f6e1c9
by lebedev.ri[InstCombine] After merging store into successor, queue prev. store to be visited (PR46661)
We can happen to have a situation with many stores eligible for transform, but due to our visitation order (top to bottom), when we have processed the first eligible instruction, we would not try to reprocess the previous instructions that are now also eligible.
So after we've successfully merged a store that was second-to-last instruction into successor, if the now-second-to-last instruction is also a such store that is eligible, add it to worklist to be revisited.
Fixes https://bugs.llvm.org/show_bug.cgi?id=46661
|
 | llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
Commit
7103c87596efccd532e9fe04a6ba6a200fed8481
by lebedev.riReland "[InstCombine] Lower infinite combine loop detection thresholds""
This relands commit cd7f8051ac7b6f08734102446482c1e5d951bfcc that was reverted since lower threshold have successfully found an issue. Now that the issue is fixed, let's wait until the next one is reported.
This reverts commit caa423eef0d128f35ac11ddbce34964caafb61c1.
|
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
Commit
5fea54bc05a71e81e843fd9284d258cd38d7fe23
by sam.mccall[clangd] Update semanticTokens support to reflect latest LSP draft
Summary: Mostly a few methods and message names have been renamed.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83556
|
 | clang-tools-extra/clangd/ClangdLSPServer.h |
 | clang-tools-extra/clangd/test/initialize-params.test |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/Protocol.cpp |
 | clang-tools-extra/clangd/test/semantic-tokens.test |
 | clang-tools-extra/clangd/Protocol.h |
Commit
23cd70d71c10dc0b31ac37a733349f9de2e9b84c
by alexandre.ganea[PDB] Fix out-of-bounds acces when sorting GSI buckets
When building in Debug on Windows-MSVC after b7402edce315, a lot of tests were failing because we were dereferencing an element past the end of HashRecords. This happened towards the end of the table, in unused slots.
|
 | llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp |
Commit
bce8fced41b96260a42dfbb254240a49769fafa9
by jdenny.ornl[FileCheck] Implement -dump-input-context
This patch is motivated by discussions at each of:
* <https://reviews.llvm.org/D81422> * <http://lists.llvm.org/pipermail/llvm-dev/2020-June/142369.html>
When input is dumped as specified by `-dump-input=fail`, this patch filters the dump to show only input lines that are the starting lines of error diagnostics plus the number of contextual lines specified `-dump-input-context` (defaults to 5).
When `-dump-input=always`, there might be not be any errors, so all input lines are printed, as without this patch.
Here's some sample output with `-dump-input-context=3 -vv`:
``` <<<<<< . . . 13: foo 14: foo 15: hello world check:1 ^~~~~~~~~~~ 16: foo check:2'0 X~~ error: no match found 17: foo check:2'0 ~~~ 18: foo check:2'0 ~~~ 19: foo check:2'0 ~~~ . . . 27: foo check:2'0 ~~~ 28: foo check:2'0 ~~~ 29: foo check:2'0 ~~~ 30: goodbye word check:2'0 ~~~~~~~~~~~~ check:2'1 ? possible intended match 31: foo check:2'0 ~~~ 32: foo check:2'0 ~~~ 33: foo check:2'0 ~~~ . . . >>>>>> ```
Reviewed By: mehdi_amini, arsenm, jhenderson, rsmith, SjoerdMeijer, Meinersbur, lattner
Differential Revision: https://reviews.llvm.org/D82203
|
 | llvm/test/FileCheck/dump-input-filter.txt |
 | llvm/utils/FileCheck/FileCheck.cpp |
 | llvm/test/FileCheck/dump-input-enable.txt |
 | llvm/test/FileCheck/dump-input-context.txt |
 | llvm/test/FileCheck/dump-input-annotations.txt |
Commit
77b6ddf1bd77da90407316345156415dc646e744
by jdenny.ornl[FileCheck] In input dump, elide only if ellipsis is shorter
For example, given `-dump-input-context=3 -vv`, the following now shows more leading context for the error than requested because a leading ellipsis would occupy the same number of lines as it would elide:
``` <<<<<< 1: foo6 2: foo5 3: foo4 4: foo3 5: foo2 6: foo1 7: hello world check:1 ^~~~~ check:2 X~~~~ error: no match found 8: foo1 check:2 ~~~~ 9: foo2 check:2 ~~~~ 10: foo3 check:2 ~~~~ . . . >>>>>> ```
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D83526
|
 | llvm/utils/FileCheck/FileCheck.cpp |
 | llvm/test/FileCheck/dump-input-context.txt |
Commit
9fd4b5faacbdfb887389c9ac246efa23be1cd334
by jdenny.ornl[FileCheck] Implement -dump-input-filter
This makes the input dump filtering implemented by D82203 more configurable. D82203 enables filtering out everything but the initial input lines of error diagnostics (plus some context). This patch enables including any line with any kind of annotation.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D83097
|
 | llvm/test/FileCheck/dump-input-filter.txt |
 | llvm/utils/FileCheck/FileCheck.cpp |
Commit
a490d387e6e6085b35a6850581b62db3d2d47009
by ntv[mlir][Vector] Add ExtractOp folding when fed by a TransposeOp
TransposeOp are often followed by ExtractOp. In certain cases however, it is unnecessary (and even detrimental) to lower a TransposeOp to either a flat transpose (llvm.matrix intrinsics) or to unrolled scalar insert / extract chains.
Providing foldings of ExtractOp mitigates some of the unnecessary complexity.
Differential revision: https://reviews.llvm.org/D83487
|
 | mlir/include/mlir/IR/AffineMap.h |
 | mlir/lib/IR/AffineMap.cpp |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/Dialect/Vector/canonicalize.mlir |
Commit
02fec9d2a5f4a6f169bcf2e850eb244fb919309f
by spatel[DAGCombiner] move/rename variables for readability; NFC
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
d84b4e163da7fba26594f960fca10fa31f7c611a
by spatel[AArch64][x86] add tests for rotated store merge; NFC
|
 | llvm/test/CodeGen/AArch64/merge-store-dependency.ll |
 | llvm/test/CodeGen/X86/stores-merging.ll |
Commit
eb5c7f6b8fe0e66bbbc2aa23cc899fa11b750030
by flo[ARM] Add test with tcreturn and debug value.
In the attached test case, a non-terminator instruction (DBG_VALUE) is inserted after a terminator, producing an invalid MBB.
|
 | llvm/test/CodeGen/ARM/dbg-tcreturn.ll |
Commit
ec00aa99dd4cd46c328219cffefcfdf8a8bd53a0
by flo[DomTreeUpdater] Use const auto * when iterating over pointers (NFC).
This silences the warning below:
llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:20: warning: loop variable 'BB' is always a copy because the range of type 'const SmallPtrSet<llvm::BasicBlock *, 8>' does not return a reference [-Wrange-loop-analysis] for (const auto &BB : DeletedBBs) { ^ llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:8: note: use non-reference type 'llvm::BasicBlock *' for (const auto &BB : DeletedBBs) { ^~~~~~~~~~~~~~~~ 1 warning generated.
|
 | llvm/lib/Analysis/DomTreeUpdater.cpp |
Commit
43d8d59d6d2c03165a219022430e3b1cbf6351a2
by johannes[Attributor][NFC] Update tests after recent changes
Attributor tests are mostly updated using the auto upgrade scripts but sometimes we forget. If we do it manually or continue using old check lines that still match we see unrelated changes down the line. This is just a cleanup.
|
 | llvm/test/Transforms/Attributor/undefined_behavior.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll |
 | llvm/test/Transforms/Attributor/readattrs.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll |
 | llvm/test/Transforms/Attributor/memory_locations.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll |
 | llvm/test/Transforms/Attributor/misc_crash.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll |
 | llvm/test/Transforms/Attributor/liveness.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll |
 | llvm/test/Transforms/Attributor/heap_to_stack.ll |
 | llvm/test/Transforms/Attributor/internal-noalias.ll |
 | llvm/test/Transforms/Attributor/value-simplify.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll |
 | llvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll |
Commit
864586d0fd7df8efb2ac1f85ad1122e9a8fae349
by flo[ARM] Pass -verify-machineinstr to test and XFAIL until fixed.
Some bots run with -verify-machineinstr enabled. Add it to the new test and XFAIL it until fixed.
|
 | llvm/test/CodeGen/ARM/dbg-tcreturn.ll |
Commit
3607aacc59817f76bffb9b567f128871340d54d2
by dany.grumbergDelete CC1Options.td, since it should have happened in D82574
|
 | clang/include/clang/Driver/CC1Options.td |
Commit
1d542f0ca83fa1411d6501a8d088450d83abd5b8
by lebedev.riRevert "[OpenMPOpt] ICV Tracking"
There appears to be some kind of memory corruption/use-after-free/etc going on here. In particular, in `OpenMPOpt::deleteParallelRegions()`, in `DeleteCallCB()`, `CI` is garbage.
WIll post reproducer in the original review.
This reverts commit 6c4a5e9257bac022ffe60e466686ba7fc96ffd1a.
|
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/test/Transforms/OpenMP/icv_tracking.ll |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
Commit
1fbb719470c6e0395abaab66c68fae3b8ae405d0
by zequanwu[LPM] Port CGProfilePass from NPM to LPM
Reviewers: hans, chandlerc!, asbirlea, nikic
Reviewed By: hans, nikic
Subscribers: steven_wu, dexonsmith, nikic, echristo, void, zhizhouy, cfe-commits, aeubanks, MaskRay, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D83013
|
 | clang/include/clang/Basic/CodeGenOptions.def |
 | llvm/include/llvm/Transforms/IPO.h |
 | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/test/Instrumentation/cgprofile.ll |
 | llvm/lib/Transforms/Instrumentation/CGProfile.cpp |
 | llvm/test/Other/new-pm-cgprofile.ll |
 | llvm/test/Other/opt-O2-pipeline.ll |
 | llvm/test/Other/opt-O3-pipeline.ll |
 | llvm/lib/Transforms/Instrumentation/Instrumentation.cpp |
 | llvm/include/llvm/Transforms/Instrumentation/CGProfile.h |
 | llvm/include/llvm/InitializePasses.h |
 | llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h |
 | llvm/test/CodeGen/AMDGPU/opt-pipeline.ll |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Other/opt-Os-pipeline.ll |
Commit
dcd76c0c0716a4417110423718c7cae4b516b4d0
by zequanwu[Lexer] Fix missing coverage line after #endif
Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660
Reviewers: vsk, efriedma, arphaman
Reviewed By: vsk
Subscribers: dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83514
|
 | clang/lib/Lex/PPDirectives.cpp |
 | clang-tools-extra/clangd/SemanticHighlighting.cpp |
 | clang/test/CoverageMapping/preprocessor.c |
Commit
e5123ea248eb460c6695dc28ed2f1cc53495356b
by shkzhang [NFC][PowerPC] Add a new MIR file to test mi-peephole pass
|
 | llvm/test/CodeGen/PowerPC/mi-peephole.mir |
Commit
f33c2c27a8d4ea831aa7c2c2649066be91318d85
by ecaldasFix crash on `user defined literals`
Summary: Given an UserDefinedLiteral `1.2_w`: Problem: Lexer generates one Token for the literal, but ClangAST references two source locations Fix: Ignore the operator and interpret it as the underlying literal. e.g.: `1.2_w` token generates syntax node IntegerLiteral(1.2_w)
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82157
|
 | clang/unittests/Tooling/Syntax/TreeTest.cpp |
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
 | clang/include/clang/Tooling/Syntax/Nodes.h |
 | clang/lib/Tooling/Syntax/Nodes.cpp |
Commit
1db5b348c4c93b6610afb4fd515b389989efc302
by ecaldasAdd kinded UDL for raw literal operator and numeric literal operator template
|
 | clang/include/clang/Tooling/Syntax/Nodes.h |
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
 | clang/unittests/Tooling/Syntax/TreeTest.cpp |
 | clang/lib/Tooling/Syntax/Nodes.cpp |
Commit
a474d5bae4773782d50d4a5a62300c0f4a2dff28
by ecaldasUse FileRange::text instead of Lexer::getSpelling
* as we are using them only for integer and floating literals they have the same behavior * FileRange::text is simpler to call and is within the context of syntax trees
|
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
Commit
aa7a5ad56b6028e0963e1a8d45b4e82f3f6bc70e
by Saleem Abdulrasoolrepair standalone clang builds
Add missing C++ language standard setup for clang standalone build.
Patch by Michele Scandale!
Differential Revision: https://reviews.llvm.org/D83426
|
 | clang/CMakeLists.txt |
Commit
a2cffb11e287f0e35685ac404400edab12cae51e
by dany.grumbergRemove clang options that were added back when merging the TableGen files
|
 | clang/include/clang/Driver/Options.td |
Commit
979c5023d3f0656cf51bd645936f52acd62b0333
by jaskiewiczsRevert "[compiler-rt] [test] Use the parent process env as base env in tests"
This reverts commit 5ab446cfe5503fd4431a94db4d741cf3b5fdcd15.
That commit caused memory sanitizer test failures on PowerPC buildbots
|
 | compiler-rt/test/lit.common.cfg.py |
Commit
b887da81cc179575932302b87ae8dc7d3f5e3690
by benny.kra[CGProfile] Fix layering, IPO depends in Instrumentation.
|
 | llvm/include/llvm/Transforms/Instrumentation.h |
 | llvm/lib/Transforms/Instrumentation/CGProfile.cpp |
 | llvm/include/llvm/Transforms/IPO.h |
Commit
954db63cd149df031d9b660bf68f0fe1de1defb9
by luke.geeson[ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and LLVM
This patch upstreams support for the Arm-v8 Cortex-A78 and Cortex-X1 processors for AArch64 and ARM.
In detail: - Adding cortex-a78 and cortex-x1 as cpu options for aarch64 and arm targets in clang - Adding Cortex-A78 and Cortex-X1 CPU names and ProcessorModels in llvm
details of the CPU can be found here: https://www.arm.com/products/cortex-x
https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78
The following people contributed to this patch: - Luke Geeson - Mikhail Maltsev
Reviewers: t.p.northover, dmgreen
Reviewed By: dmgreen
Subscribers: dmgreen, kristof.beyls, hiraditya, danielkiss, cfe-commits, llvm-commits, miyuki
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D83206
|
 | llvm/unittests/Support/TargetParserTest.cpp |
 | llvm/test/MC/ARM/armv8.2a-dotprod-a32.s |
 | llvm/test/MC/AArch64/armv8.2a-dotprod.s |
 | llvm/test/MC/ARM/armv8.2a-dotprod-t32.s |
 | llvm/lib/Target/AArch64/AArch64Subtarget.cpp |
 | llvm/include/llvm/Support/ARMTargetParser.def |
 | llvm/lib/Target/ARM/ARMSubtarget.h |
 | llvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt |
 | llvm/lib/Target/ARM/ARMSubtarget.cpp |
 | clang/test/Driver/aarch64-cpus.c |
 | llvm/include/llvm/Support/AArch64TargetParser.def |
 | llvm/test/CodeGen/AArch64/remat.ll |
 | llvm/lib/Support/Host.cpp |
 | llvm/lib/Target/ARM/ARM.td |
 | clang/test/Driver/arm-cortex-cpus.c |
 | llvm/test/CodeGen/AArch64/cpus.ll |
 | llvm/lib/Target/AArch64/AArch64Subtarget.h |
 | llvm/lib/Target/AArch64/AArch64.td |
Commit
1cf6f210a2ed87dcda2183fffd6f9aa17b5c493c
by craig.topper[IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.
This matches the recent change to InstSimplify from D83440.
Differential Revision: https://reviews.llvm.org/D83535
|
 | llvm/test/Transforms/InstSimplify/select.ll |
 | llvm/lib/IR/ConstantFold.cpp |
 | llvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll |
Commit
add59ecb34e3003311b7e2318b16a0ef10c76d79
by alexandre.ganeaRe-land [CodeView] Add full repro to LF_BUILDINFO record
This patch adds some missing information to the LF_BUILDINFO which allows for rebuilding an .OBJ without any external dependency but the .OBJ itself (other than the compiler executable).
Some tools need this information to reproduce a build without any knowledge of the build system. The LF_BUILDINFO therefore stores a full path to the compiler, the PWD (which is the CWD at program startup), a relative or absolute path to the TU, and the full CC1 command line. The command line needs to be freestanding (not depend on any environment variable). In the same way, MSVC doesn't store the provided command-line, but an expanded version (somehow their equivalent of CC1) which is also freestanding.
For more information see PR36198 and D43002.
Differential Revision: https://reviews.llvm.org/D80833
|
 | lld/test/COFF/Inputs/pdb_lines_1_relative.yaml |
 | llvm/test/DebugInfo/COFF/types-basic.ll |
 | lld/test/COFF/Inputs/pdb_lines_2_relative.yaml |
 | lld/COFF/PDB.cpp |
 | lld/test/COFF/pdb-relative-source-lines2.test |
 | llvm/test/DebugInfo/COFF/build-info.ll |
 | lld/test/COFF/pdb-relative-source-lines.test |
 | llvm/test/DebugInfo/COFF/types-data-members.ll |
 | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp |
 | llvm/test/DebugInfo/COFF/global-type-hashes.ll |
 | clang/test/CodeGen/debug-info-codeview-buildinfo.c |
Commit
8c8a2fd1f015525d048444610a6e27c66aa96293
by anastasia.stulova[OpenCL] Fixed typo for ctor stub name in UsersManual
|
 | clang/docs/UsersManual.rst |
Commit
e337350be9d6efd72027c331f95ef33df61fdc43
by jinghamThis is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two.
The problem is that synthetic value objects can sometimes represent objects in target memory, and other times they might be made up wholly in lldb memory, with pointers from one synthetic object to another, and so the ValueObjectVariable computation was not appropriate.
This patch delegates the computation to the root of the ValueObject in question. That solves the problem for ValueObjectVariable while not messing up the computation for ValueObjectConstResult or ValueObjectSynthetic.
Differential Revision: https://reviews.llvm.org/D83450
|
 | lldb/include/lldb/Core/ValueObjectVariable.h |
 | lldb/include/lldb/Core/ValueObject.h |
 | lldb/source/Core/ValueObjectVariable.cpp |
 | lldb/source/Core/ValueObject.cpp |
Commit
fdb7856d54a1f81bab0ac0c8a4e984620589e699
by ditalianoRevert "[NFC] Derive from PassInfoMixin for no-op/printing passes"
This reverts commit 8039d2c3bf14585ef37dc9343bf393ecad9aead9 as it breaks the modules build on macOS.
|
 | llvm/include/llvm/IR/IRPrintingPasses.h |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/IR/LegacyPassManager.cpp |
Commit
90b1a710aede2b276cda47538142fef6f5253361
by lei[PowerPC] Enable default support of quad precision operations
Summary: Remove option guarding support of quad precision operations.
Reviewers: nemanjai, #powerpc, steven.zhang
Reviewed By: nemanjai, #powerpc, steven.zhang
Subscribers: qiucf, wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83437
|
 | llvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll |
 | llvm/test/CodeGen/PowerPC/f128-conv.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll |
 | llvm/test/CodeGen/PowerPC/f128-passByValue.ll |
 | llvm/test/CodeGen/PowerPC/f128-bitcast.ll |
 | llvm/test/CodeGen/PowerPC/f128-compare.ll |
 | llvm/test/CodeGen/PowerPC/builtins-ppc-p9-f128.ll |
 | llvm/test/CodeGen/PowerPC/f128-rounding.ll |
 | llvm/test/CodeGen/PowerPC/f128-arith.ll |
 | llvm/test/CodeGen/PowerPC/f128-fma.ll |
 | llvm/test/CodeGen/PowerPC/f128-truncateNconv.ll |
 | llvm/test/CodeGen/PowerPC/float-load-store-pair.ll |
 | llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll |
 | llvm/test/CodeGen/PowerPC/f128-vecExtractNconv.ll |
 | llvm/test/CodeGen/PowerPC/recipest.ll |
 | llvm/test/CodeGen/PowerPC/constant-pool.ll |
 | llvm/test/CodeGen/PowerPC/f128-aggregates.ll |
 | llvm/test/CodeGen/PowerPC/fp-strict-f128.ll |
Commit
a4f0c58c6e3f4ec0f5bb8c5232a77dd452df0fb5
by gyurgyikcp[libc] Add strchr implementation. Fixes bug in memchr.
Summary: [libc] Adds strchr implementation with unit tests. Fixes signed character bug in memchr.
Reviewers: sivachandra, PaulkaToast
Reviewed By: sivachandra
Subscribers: mgorny, tschuett, ecnelises, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D83353
|
 | libc/config/linux/x86_64/entrypoints.txt |
 | libc/src/string/CMakeLists.txt |
 | libc/src/string/strchr.cpp |
 | libc/test/src/string/memchr_test.cpp |
 | libc/src/string/memchr.cpp |
 | libc/test/src/string/CMakeLists.txt |
 | libc/test/src/string/strchr_test.cpp |
 | libc/config/linux/aarch64/entrypoints.txt |
 | libc/src/string/strchr.h |
Commit
e541e1b757237172c247904b670c9894d6b3759d
by anhtuyen[NFC] Separate Peeling Properties into its own struct (re-land after minor fix)
Summary: This patch separates the peeling specific parameters from the UnrollingPreferences, and creates a new struct called PeelingPreferences. Functions which used the UnrollingPreferences struct for peeling have been updated to use the PeelingPreferences struct.
Author: sidbav (Sidharth Baveja)
Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel), anhtuyen (Anh Tuyen Tran), nikic (Nikita Popov)
Reviewed By: Meinersbur (Michael Kruse)
Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80580
|
 | llvm/lib/Target/ARM/ARMTargetTransformInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp |
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp |
 | llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h |
 | llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp |
 | llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h |
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/include/llvm/Transforms/Utils/UnrollLoop.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp |
 | llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp |
 | llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h |
 | llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp |
 | llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp |
 | llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp |
Commit
a0b549602612fa2577068bcdcae3bfbc6c9c3264
by nikita.ppv[PredicateInfo] Add test for multiple branches on same condition (NFC)
This illustrates a case where RenamedOp does not correspond to the value used in the condition, which it ideally should.
|
 | llvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll |
Commit
dafc3106d2069b806a10e072306a2196f1cda585
by erik.pilkington[Sema] Emit a -Wformat warning for printf("%s", (void*)p)
Its dangerous to assume that the opaque pointer points to a null-terminated string, and this has an easy fix (casting to char*).
rdar://62432331
|
 | clang/lib/AST/FormatString.cpp |
 | clang/test/Sema/format-strings.c |
Commit
ecfa01e956a49ed349683f1cfcfbbec423114b68
by kkleine[lldb] on s390x fix override issue
Summary: This fixes an override issue by marking a function as const so that the signature maps to the signature of the function in the base class.
This is the original error:
In file included from /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp:11: /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h:79:10: error: 'size_t lldb_private::process_linux::NativeRegisterContextLinux_s390x::GetGPRSize()' marked 'override', but does not override 79 | size_t GetGPRSize() override { return sizeof(m_regs); } | ^~~~~~~~~~
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D83580
|
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h |
Commit
9ff310d5bfa56bb5f29645e2d2fee12115c3ddb7
by Matthew.ArsenaultAArch64: Fix unused variables
|
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
Commit
9bf6354301ac4e1c7a00e4ef46decba38840fe62
by ajcbik[mlir] [VectorOps] Allow AXPY to be expressed as special case of OUTERPRODUCT
This specialization allows sharing more code where an AXPY follows naturally in cases where an OUTERPRODUCT on a scalar would be generated.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D83453
|
 | mlir/test/Dialect/Vector/vector-contract-transforms.mlir |
 | mlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir |
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/Dialect/Vector/invalid.mlir |
Commit
ea201e83e292f39c3ee7fe8810a348ee98000398
by davg[AST][ObjC] Fix crash when printing invalid objc categories
Summary: If no valid interface definition was found previously we would crash.
With this change instead we just print `<<error-type>>` in place of the NULL interface. In the future this could be improved by saving the invalid interface's name and using that.
Reviewers: sammccall, gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83513
|
 | clang/lib/AST/DeclPrinter.cpp |
 | clang/unittests/AST/DeclPrinterTest.cpp |
Commit
169c83208f37f8e5539b1386030d9f3e4b15f16a
by Jonas Devlieghere[ldb/Reproducers] Add YamlRecorder and MultiProvider
This patch does several things that are all closely related:
- It introduces a new YamlRecorder as a counterpart to the existing DataRecorder. As the name suggests the former serializes data as yaml while the latter uses raw texts or bytes.
- It introduces a new MultiProvider base class which can be backed by either a DataRecorder or a YamlRecorder.
- It reimplements the CommandProvider in terms of the new MultiProvider.
Finally, it adds unit testing coverage for the MultiProvider, a naive YamlProvider built on top of the new YamlRecorder and the existing MutliLoader.
Differential revision: https://reviews.llvm.org/D83441
|
 | lldb/include/lldb/Utility/Reproducer.h |
 | lldb/unittests/Utility/ReproducerTest.cpp |
 | lldb/source/API/SBDebugger.cpp |
 | lldb/source/Utility/Reproducer.cpp |
Commit
21b4cc1db9f4eb6d6956802257e3a80f86045c67
by aeubanksReland [NFC] Derive from PassInfoMixin for no-op/printing passes
PassInfoMixin should be used for all NPM passes, rater than a custom `name()`.
This caused ambiguous references in LegacyPassManager.cpp, so had to remove "using namespace llvm::legacy" and move some things around.
Reviewed By: ychen, asbirlea
Differential Revision: https://reviews.llvm.org/D83498
|
 | llvm/lib/IR/LegacyPassManager.cpp |
 | llvm/include/llvm/IR/IRPrintingPasses.h |
 | llvm/include/llvm/module.modulemap |
 | llvm/lib/Passes/PassBuilder.cpp |
Commit
006c49d890da633d1ce502117fc2a49863cd65b7
by aaronChange behavior with zero-sized static array extents
Currently, Clang previously diagnosed this code by default: void f(int a[static 0]); saying that "static has no effect on zero-length arrays", which was accurate.
However, static array extents require that the caller of the function pass a nonnull pointer to an array of *at least* that number of elements, but it can pass more (see C17 6.7.6.3p6). Given that we allow zero-sized arrays as a GNU extension and that it's valid to pass more elements than specified by the static array extent, we now support zero-sized static array extents with the usual semantics because it can be useful in cases like:
void my_bzero(char p[static 0], int n); my_bzero(&c+1, 0); //ok my_bzero(t+k,n-k); //ok, pattern from actual code
|
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/Sema/static-array.c |
 | clang/test/CodeGen/vla.c |
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/CodeGen/CGCall.cpp |
Commit
365434a584078577a7af6b91ffd2640c72c6d265
by ajcbik[mlir] [VectorOps] Merge OUTER/AXPY vector.contract lowering into single case
We temporarily had separate OUTER lowering (for matmat flavors) and AXPY lowering (for matvec flavors). With the new generalized "vector.outerproduct" semantics, these cases can be merged into a single lowering method. This refactoring will simplify future decisions on cost models and lowering heuristics.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D83585
|
 | mlir/include/mlir/Dialect/Vector/VectorOps.h |
 | mlir/include/mlir/Dialect/Vector/VectorTransforms.h |
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/test/lib/Transforms/TestVectorTransforms.cpp |
 | mlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir |
Commit
cb6c1106141efa721a3902a98c37a54d135464fd
by Artem Dergachev[analyzer] Silence a warning.
An old clang warns that the const object has no default constructor so it may remain uninitialized forever. That's a false alarm because all fields have a default initializer. Apply the suggested fixit anyway.
|
 | clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp |
Commit
ec2f2cec769cb07bbf8691f2e0e800747266f857
by ntv[mlir][Vector] Add folding for vector.transfer ops
This revision folds vector.transfer operations by updating the `masked` bool array attribute when more unmasked dimensions can be discovered.
Differential revision: https://reviews.llvm.org/D83586
|
 | mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp |
 | mlir/test/Dialect/Vector/canonicalize.mlir |
 | mlir/test/Dialect/Vector/vector-transforms.mlir |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/lib/IR/AffineMap.cpp |
 | mlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/include/mlir/IR/AffineMap.h |
Commit
6dda6ff0e094b667311dbd7a46d4e36aa787e033
by jdenny.ornl[FileCheck] Fix up -dump-input* docs
In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`, and fix some `-dump-input` documentation.
In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for `-dump-input-filter`, so just drop it.
Extend `-dump-input=help` to mention FILECHECK_OPTS.
|
 | llvm/utils/FileCheck/FileCheck.cpp |
 | llvm/docs/CommandGuide/FileCheck.rst |
Commit
1d68a780b34e1f18f865d0754fce6c6177dc5d21
by tstellar[clang-shlib] Don't link with static clang libraries
Summary: If we are building static libraries we don't need to link them into clang-shlib, since clang-shlib already has all the individual object files linked in.
Reviewers: smeenai
Reviewed By: smeenai
Subscribers: mgorny, cfe-commits, llvm-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82694
|
 | clang/tools/clang-shlib/CMakeLists.txt |
Commit
32bf46842025b740de870dbcd446e4b0f203c9aa
by llvm-project[Polly] Fix -polly-opt-isl -analyze
The member LastSchedule was never set, such that printScop would always print "n/a" instead of the last schedule.
To ensure that the isl_ctx lives as least as long as the stored schedule, also store a shared_ptr.
Also set the schedule tree output style to ISL_YAML_STYLE_BLOCK to avoid printing everything on a single line.
`opt -polly-opt-isl -analyze` will be used in the next commit.
|
 | polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll |
 | polly/test/ScheduleOptimizer/tile_after_fusion.ll |
 | polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll |
 | polly/lib/Transform/ScheduleOptimizer.cpp |
Commit
c0bc995429c417c1e206841d6b9727218fab3f73
by llvm-project[Polly] Fix prevectorization of fused loops.
The schedule of a fused loop has one isl_space per statement, such that a conversion to a isl_map fails. However, the prevectorization is interested in the schedule space only: Converting to the non-union representation only after extracting the schedule range fixes the problem.
This fixes llvm.org/PR46578
|
 | polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll |
 | polly/lib/Transform/ScheduleOptimizer.cpp |
Commit
6d5aeb0dceebd4c4d4ac9d9d78919362db28f081
by thomasraoux[mlir][linalg] Improve aliasing approximation for hoisting transfer read/write
Improve the logic deciding if it is safe to hoist vector transfer read/write out of the loop. Change the logic to prevent hoisting operations if there are any unknown access to the memref in the loop no matter where the operation is. For other transfer read/write in the loop check if we can prove that they access disjoint memory and ignore them in this case.
Differential Revision: https://reviews.llvm.org/D83538
|
 | mlir/test/Dialect/Linalg/hoisting.mlir |
 | mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp |
Commit
122a45fbac059be0fb88b2b909191d7a93ce9c09
by craig.topper[X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types.
|
 | llvm/test/CodeGen/X86/vector-fshr-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-512.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-avx512.ll |
 | llvm/test/CodeGen/X86/vector-fshr-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-256.ll |
 | llvm/lib/Target/X86/X86InstrAVX512.td |
 | llvm/test/CodeGen/X86/vector-fshr-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-128.ll |
Commit
31f4e43f3f391e5c5034580f972e0acc78f99b63
by Matthew.ArsenaultAMDGPU: Remove .value_type from kernel metadata
This doesn't appear used for anything, and is emitted incorrectly based on the description. This also depends on the IR type, and pointee element type.
|
 | llvm/docs/AMDGPUUsage.rst |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll |
 | llvm/test/MC/AMDGPU/hsa-metadata-kernel-args.s |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-images-v3.ll |
 | llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll |
 | llvm/lib/Support/AMDGPUMetadata.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll |
 | llvm/include/llvm/Support/AMDGPUMetadata.h |
Commit
cc28058c13e89ecc85dac7e1bd5d13a2ce1bb620
by echristoTemporarily revert "[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)" as it wasn't NFC and is causing issues with thinlto bitcode reading.
I've followed up offline with reproduction instructions and testcases.
This reverts commit 30582457b47004dec8a78144abc919a13ccbd08c.
|
 | llvm/include/llvm/Bitcode/LLVMBitCodes.h |
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
Commit
7bf73bcf6d9335938bd072b11809d305173c7c1e
by JF Bastien[docs] LLVM Security Group and Process
Summary: See the corresponding RFC on llvm-dev for a discussion of this proposal. http://lists.llvm.org/pipermail/llvm-dev/2019-November/136839.html
Subscribers: jkorous, dexonsmith, arphaman, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70326
|
 | llvm/docs/Reference.rst |
 | llvm/docs/Security.rst |
 | llvm/docs/Contributing.rst |
 | llvm/docs/index.rst |
 | llvm/docs/HowToSubmitABug.rst |
Commit
41d2813a5faea1c18b7d329109e0287c5cd9ffea
by alexandre.ganea[PDB] Attempt fix for debug-info-codeview-buildinfo.c test
This is a bit a shot in the dark, as it doesn't occur on my Windows 10 machines, nor on x64 Linux Ubuntu 18.04. This patch tries to fix the following kind of error: - http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/31511/steps/cmake%20stage%201/logs/stdio - http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/25150/steps/ninja%20check%201/logs/FAIL%3A%20Clang%3A%3Adebug-info-codeview-buildinfo.c - http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/7947/steps/check/logs/stdio
|
 | clang/cmake/caches/BaremetalARM.cmake |
 | clang/test/CMakeLists.txt |
 | clang/cmake/caches/CrossWinToARMLinux.cmake |
 | clang/test/CodeGen/debug-info-codeview-buildinfo.c |
 | clang/cmake/caches/Fuchsia-stage2.cmake |
Commit
854e8f88e96bd6a75844d2af061cacc61fb0defe
by dblaikieRemove unnecessary/erroneous "static" from function templates in headers
This risks ODR violations in inline functions that call these functions (if they remain static) & otherwise just causes some object size increase, potentially, by these functions not being deduplicated by the linker.
|
 | llvm/include/llvm/ADT/STLExtras.h |
Commit
7859242a3713eb84b57430625b2a70efe30efbf2
by gyurgyikcp[libc] [Obvious] Remove unneeded header in strchr.
Reviewers: sivachandra
Reviewed By: sivachandra
Subscribers: mgorny, tschuett, ecnelises, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D83589
|
 | libc/src/string/CMakeLists.txt |
 | libc/src/string/strchr.cpp |
Commit
b71499ac9eebbddd3a45ac15f161f89eb3378918
by alexandre.ganeaRevert "Re-land [CodeView] Add full repro to LF_BUILDINFO record"
This reverts commit add59ecb34e3003311b7e2318b16a0ef10c76d79 and 41d2813a5faea1c18b7d329109e0287c5cd9ffea.
|
 | llvm/test/DebugInfo/COFF/build-info.ll |
 | lld/test/COFF/Inputs/pdb_lines_2_relative.yaml |
 | llvm/test/DebugInfo/COFF/global-type-hashes.ll |
 | llvm/test/DebugInfo/COFF/types-basic.ll |
 | clang/cmake/caches/BaremetalARM.cmake |
 | lld/test/COFF/pdb-relative-source-lines2.test |
 | lld/test/COFF/pdb-relative-source-lines.test |
 | llvm/test/DebugInfo/COFF/types-data-members.ll |
 | lld/COFF/PDB.cpp |
 | clang/test/CMakeLists.txt |
 | clang/test/CodeGen/debug-info-codeview-buildinfo.c |
 | lld/test/COFF/Inputs/pdb_lines_1_relative.yaml |
 | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp |
 | clang/cmake/caches/Fuchsia-stage2.cmake |
 | clang/cmake/caches/CrossWinToARMLinux.cmake |
Commit
e54b228408852e385d89b5202573bdd8d8da58cf
by guiand[Sanitizers] Change protoent test to check for IPv6 instead of RDP
Looks like RDP isn't present on some of LLVM's buildbot machines
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp |
Commit
f7f80159753ba725f7e32529fcc369bc358efbb3
by waltermelon[lldb-vscode] Add Support for Module Event
Summary: Whenever a module is created, removed or changed, lldb-vscode is now sending an event that can be interpreted by the IDE so that modules can be rendered in the IDE, like the tree view in this screenshot
{F12229758}
Reviewers: wallace, clayborg, kusmour, aadsm
Reviewed By: clayborg
Subscribers: cfe-commits, labath, lldb-commits
Tags: #lldb, #clang
Differential Revision: https://reviews.llvm.org/D82477
|
 | lldb/tools/lldb-vscode/JSONUtils.h |
 | lldb/test/API/tools/lldb-vscode/module/main.cpp |
 | lldb/tools/lldb-vscode/VSCode.cpp |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py |
 | lldb/tools/lldb-vscode/JSONUtils.cpp |
 | lldb/tools/lldb-vscode/lldb-vscode.cpp |
 | lldb/test/API/tools/lldb-vscode/module/Makefile |
 | lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py |
Commit
03ef61033ff5e1e40518f14f642e4ad8d686974c
by waltermelon[lldb-vscode] Add Compile Unit List to Modules View
Summary: User can expand and check compile unit list for the modules that have debug info.
Reviewers: wallace, clayborg
Reviewed By: clayborg
Subscribers: aprantl, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D83072
|
 | lldb/tools/lldb-vscode/lldb-vscode.cpp |
 | lldb/tools/lldb-vscode/JSONUtils.h |
 | lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py |
 | lldb/tools/lldb-vscode/JSONUtils.cpp |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py |
Commit
881af6eb0030986876d3b80668193e5c3c04a87c
by waltermelon[lldb-vscode] Fix TestVSCode_module
For some reason this works on the original author's machine, but not on my. So I'm using a safer approach of using an unstripped dynamic library to place breakpoints on. The author was placing a breakpoint on the main symbol of a stripped library and for some reason it worked on their machine, but it shouldn't have...
Offender diff: D82477
|
 | lldb/test/API/tools/lldb-vscode/module/Makefile |
 | lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py |
 | lldb/test/API/tools/lldb-vscode/module/foo.h |
 | lldb/test/API/tools/lldb-vscode/module/foo.cpp |
 | lldb/test/API/tools/lldb-vscode/module/main.cpp |
Commit
7f1e6fcff9427adfa8efa3bfeeeac801da788b87
by johannes[OpenMP] Use __OPENMP_NVPTX__ instead of _OPENMP in wrapper headers
Due to recent changes we cannot use OpenMP in CUDA files anymore (PR45533) as the math handling of CUDA is different when _OPENMP is defined. We actually want this different behavior only if we are offloading with OpenMP to NVIDIA, thus generating NVPTX. With this patch we do not interfere with the CUDA math handling except if we are in NVPTX offloading mode, as indicated by the presence of __OPENMP_NVPTX__.
Reviewed By: tra
Differential Revision: https://reviews.llvm.org/D78155
|
 | clang/lib/Headers/__clang_cuda_cmath.h |
 | clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h |
 | clang/lib/Headers/__clang_cuda_device_functions.h |
 | clang/lib/Headers/openmp_wrappers/cmath |
 | clang/lib/Headers/openmp_wrappers/math.h |
 | clang/lib/Headers/__clang_cuda_math.h |
 | clang/lib/Headers/__clang_cuda_libdevice_declares.h |
Commit
3e5173dbc352317712ca35788333c6e118cbf79c
by tejohnson[BPI] Compile time improvement when erasing blocks (NFC)
Summary: eraseBlock is trying to erase all probability info for the given BB. This info is stored in a DenseMap organized like so: using Edge = std::pair<const BasicBlock *, unsigned>; DenseMap<Edge, BranchProbability> Probs; where the unsigned in the Edge key is the successor id.
It was walking through every single map entry, checking if the BB in the key's pair matched the given BB. Much more efficient is to do what another method (getEdgeProbability) was already doing, which is to walk the successors of the BB, and simply do a map lookup on the key formed from each <BB, successor id> pair.
Doing this dropped the overall compile time for a file containing a very large function by around 32%.
Reviewers: davidxl, xur
Subscribers: llvm-commits, hiraditya
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83596
|
 | llvm/lib/Analysis/BranchProbabilityInfo.cpp |
Commit
c60216db15132401ff60c08ccef899321f63b6b6
by waltermelonRevert "[lldb-vscode] Fix TestVSCode_module" This reverts commit 881af6eb0030986876d3b80668193e5c3c04a87c.
Revert "[lldb-vscode] Add Compile Unit List to Modules View" This reverts commit 03ef61033ff5e1e40518f14f642e4ad8d686974c.
Revert "[lldb-vscode] Add Support for Module Event" This reverts commit f7f80159753ba725f7e32529fcc369bc358efbb3.
The debian buildbot has reported issues with the modules test. http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/13767/steps/test/logs/stdio
Reverting it for now.
|
 | lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py |
 | lldb/test/API/tools/lldb-vscode/module/foo.cpp |
 | lldb/tools/lldb-vscode/lldb-vscode.cpp |
 | lldb/tools/lldb-vscode/VSCode.cpp |
 | lldb/tools/lldb-vscode/JSONUtils.cpp |
 | lldb/test/API/tools/lldb-vscode/module/main.cpp |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py |
 | lldb/tools/lldb-vscode/JSONUtils.h |
 | lldb/test/API/tools/lldb-vscode/module/Makefile |
 | lldb/test/API/tools/lldb-vscode/module/foo.h |
Commit
0f0c5af3db9b0159d9b1a89faff3bd047510b628
by zequanwu[COFF] Add cg_profile directive and .llvm.call-graph-profile section
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83597
|
 | llvm/include/llvm/MC/MCWinCOFFStreamer.h |
 | llvm/test/MC/AsmParser/directive_cgprofile.s |
 | llvm/lib/MC/MCParser/COFFAsmParser.cpp |
 | llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h |
 | llvm/lib/MC/MCParser/MCAsmParserExtension.cpp |
 | llvm/lib/MC/MCWinCOFFStreamer.cpp |
 | llvm/lib/MC/MCParser/ELFAsmParser.cpp |
 | llvm/lib/MC/WinCOFFObjectWriter.cpp |
 | llvm/test/MC/COFF/cgprofile.s |
Commit
cd0ea03e6f157e8fb477cd8368b29e1448eeb265
by johannes[OpenMP][NFC] Remove unused and untested code from the device runtime
Summary: We carried a lot of unused and untested code in the device runtime. Among other reasons, we are planning major rewrites for which reduced size is going to help a lot.
The number of code lines reduced by 14%!
Before: ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- CUDA 13 489 841 2454 C/C++ Header 14 322 493 1377 C 12 117 124 559 CMake 4 64 64 262 C++ 1 6 6 39 ------------------------------------------------------------------------------- SUM: 44 998 1528 4691 -------------------------------------------------------------------------------
After: ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- CUDA 13 366 733 1879 C/C++ Header 14 317 484 1293 C 12 117 124 559 CMake 4 64 64 262 C++ 1 6 6 39 ------------------------------------------------------------------------------- SUM: 44 870 1411 4032 -------------------------------------------------------------------------------
Reviewers: hfinkel, jhuber6, fghanim, JonChesterfield, grokos, AndreyChurbanov, ye-luo, tianshilei1992, ggeorgakoudis, Hahnfeld, ABataev, hbae, ronlieb, gregrodgers
Subscribers: jvesely, yaxunl, bollu, guansong, jfb, sstefan1, aaron.ballman, openmp-commits, cfe-commits
Tags: #clang, #openmp
Differential Revision: https://reviews.llvm.org/D83349
|
 | openmp/libomptarget/deviceRTLs/common/src/sync.cu |
 | openmp/libomptarget/deviceRTLs/common/src/loop.cu |
 | openmp/libomptarget/deviceRTLs/common/src/parallel.cu |
 | openmp/libomptarget/deviceRTLs/common/src/support.cu |
 | openmp/libomptarget/deviceRTLs/common/omptarget.h |
 | openmp/libomptarget/deviceRTLs/common/src/libcall.cu |
 | openmp/libomptarget/deviceRTLs/common/src/omptarget.cu |
 | openmp/libomptarget/deviceRTLs/common/support.h |
 | openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h |
 | clang/test/OpenMP/nvptx_target_simd_codegen.cpp |
 | openmp/libomptarget/deviceRTLs/common/src/data_sharing.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h |
 | openmp/libomptarget/deviceRTLs/common/src/reduction.cu |
 | openmp/libomptarget/deviceRTLs/interface.h |
Commit
943660fd15f193dc6961597c25541fee2e01ebbb
by clementval[openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen
Summary: Diff D83176 moved the last piece of code from OMPConstants.cpp and now this file was only useful to include the tablegen generated file. This patch replace OMPConstants.cpp with OMP.cpp generated by tablegen.
Reviewers: sstefan1, jdoerfert, jdenny
Reviewed By: sstefan1
Subscribers: mgorny, yaxunl, hiraditya, guansong, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83583
|
 | llvm/include/llvm/Frontend/OpenMP/CMakeLists.txt |
 | llvm/include/llvm/Frontend/OpenMP/OMP.td |
 | llvm/include/llvm/Frontend/Directive/DirectiveBase.td |
 | llvm/lib/Frontend/OpenMP/OMPConstants.cpp |
 | llvm/lib/Frontend/OpenMP/CMakeLists.txt |
 | llvm/test/TableGen/directive1.td |
 | llvm/test/TableGen/directive2.td |
 | llvm/utils/TableGen/DirectiveEmitter.cpp |
Commit
851cc2f8f60ad86a8af4f57d23df0c930efdc4da
by Adrian PrantlFix nesting of #ifdef
This fixes a compile error when building for an arm64 host.
Differential Revision: https://reviews.llvm.org/D83582
|
 | lldb/tools/debugserver/source/MacOSX/MachProcess.mm |
Commit
351f2b3c0ab357d42b3bda319979fa537f1565c3
by spatel[InstSimplify] add tests for maxnum (PR46627); NFC
|
 | llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll |
Commit
e9bf0a710c993b932fa69c95ef6d0130fd721115
by Akira[CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary
This fixes PR45997 (https://bugs.llvm.org/show_bug.cgi?id=45997), which is caused by a bug that has existed since we started passing and returning C++ structs with ObjC strong pointer members (see https://reviews.llvm.org/D44908) or structs annotated with trivial_abi directly.
rdar://problem/63740936
Differential Revision: https://reviews.llvm.org/D82513
|
 | clang/lib/CodeGen/CGCXXABI.cpp |
 | clang/test/CodeGenCXX/trivial_abi.cpp |
 | clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm |
 | clang/lib/CodeGen/CGVTables.cpp |
Commit
b8235d2bd87158c280dded0a40c0f9ddc9cb519b
by sstipanovic Reland "[OpenMPOpt] ICV Tracking"
This reverts commit 1d542f0ca83fa1411d6501a8d088450d83abd5b8.
`recollectUses()` is added to prevent looking at dead uses after Attributor run.
This is the first and most basic ICV Tracking implementation. For this first version, we only support deduplication within the same BB.
Reviewers: jdoerfert, JonChesterfield, hamax97, jhuber6, uenoku, baziotis, lebedev.ri
Differential Revision: https://reviews.llvm.org/D81788
|
 | llvm/test/Transforms/OpenMP/icv_tracking.ll |
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | llvm/include/llvm/ADT/EnumeratedArray.h |
 | llvm/test/Transforms/OpenMP/dead_use.ll |
Commit
3a5617c02e38618bd5534491077afbc7178adf3f
by AkiraFix build error
|
 | clang/lib/CodeGen/CGCXXABI.cpp |
Commit
16e9ccb2be7a2ebb04e781bbe4a4f9ce93a06c8e
by sifontesCreate TestReducer pass
- Create a pass that generates bugs based on trivially defined behavior for the purpose of testing the MLIR Reduce Tool. - Implement the functionality inside the pass to crash mlir-opt in the presence of an operation with the name "crashOp". - Register the pass as a test pass in the mlir-opt tool.
Reviewed by: jpienaar
Differential Revision: https://reviews.llvm.org/D83422
|
 | mlir/test/lib/CMakeLists.txt |
 | mlir/test/lib/Reducer/MLIRTestReducer.cpp |
 | mlir/test/mlir-reduce/test-reducer-pass.mlir |
 | mlir/test/lib/Reducer/CMakeLists.txt |
 | mlir/tools/mlir-opt/CMakeLists.txt |
 | mlir/tools/mlir-opt/mlir-opt.cpp |