Commit
106959acc15c4b98e252af0c43406aa9342a2e05
by Vang.Thao[AMDGPU] Inline non-kernel functions using extern lds
In https://reviews.llvm.org/D100481, forceful inline of all non-kernel functions using lds was disabled since AMDGPULowerModuleLDS pass now handles static lds. However that pass does not handle extern lds so non-kernel functions using extern lds must sill be inline.
Reviewed By: hsmhsm, arsenm
Differential Revision: https://reviews.llvm.org/D109773
|
 | llvm/test/CodeGen/AMDGPU/hip.extern.shared.array.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp |
Commit
c96d45700f6d3cb2b8d1972bb8de03522b3ff8d7
by Jonas Devlieghere[lldb] Remove SBExecutionContext::reset (NFC)
This is a protected function that's not implemented.
|
 | lldb/include/lldb/API/SBExecutionContext.h |
Commit
b4fa71eed34d967195514fe9b0a5211fca2bc5bc
by akhuang[LLD] Remove global state in lld/COFF
This patch removes globals from the lldCOFF library, by moving globals into a context class (COFFLinkingContext) and passing it around wherever it's needed.
See https://lists.llvm.org/pipermail/llvm-dev/2021-June/151184.html for context about removing globals from LLD.
I also haven't moved the `driver` or `config` variables yet.
Differential Revision: https://reviews.llvm.org/D109634
|
 | lld/COFF/ICF.cpp |
 | lld/COFF/Writer.cpp |
 | lld/COFF/DLL.h |
 | lld/COFF/CallGraphSort.cpp |
 | lld/COFF/PDB.h |
 | lld/Common/Timer.cpp |
 | lld/COFF/MinGW.h |
 | lld/COFF/MarkLive.h |
 | lld/COFF/CallGraphSort.h |
 | lld/COFF/Chunks.h |
 | lld/COFF/DebugTypes.cpp |
 | lld/COFF/LLDMapFile.cpp |
 | lld/COFF/Driver.h |
 | lld/COFF/InputFiles.cpp |
 | lld/COFF/SymbolTable.cpp |
 | lld/COFF/DebugTypes.h |
 | lld/COFF/Driver.cpp |
 | lld/COFF/ICF.h |
 | lld/COFF/DLL.cpp |
 | lld/COFF/COFFLinkerContext.h |
 | lld/COFF/SymbolTable.h |
 | lld/COFF/MapFile.h |
 | lld/COFF/PDB.cpp |
 | llvm/utils/gn/secondary/lld/COFF/BUILD.gn |
 | lld/COFF/MarkLive.cpp |
 | lld/COFF/CMakeLists.txt |
 | lld/COFF/Chunks.cpp |
 | lld/COFF/MapFile.cpp |
 | lld/COFF/MinGW.cpp |
 | lld/COFF/LLDMapFile.h |
 | lld/COFF/LTO.cpp |
 | lld/COFF/InputFiles.h |
 | lld/COFF/COFFLinkerContext.cpp |
 | lld/include/lld/Common/Timer.h |
 | lld/COFF/Writer.h |
 | lld/COFF/LTO.h |
 | lld/COFF/TypeMerger.h |
Commit
73e5b9ea90ba857dd7f0f6b79dc39dfc90ad66ea
by craig.topper[RISCV] Select (srl (sext_inreg X, i32), uimm5) to SRAIW if only lower 32 bits are used.
SimplifyDemandedBits can turn srl into sra if the bits being shifted in aren't demanded. This patch can recover the original sra in some cases.
I've renamed the tablegen class for detecting W users since the "overflowing operator" term I originally borrowed from Operator.h does not include srl.
Reviewed By: luismarques
Differential Revision: https://reviews.llvm.org/D109162
|
 | llvm/test/CodeGen/RISCV/srem-lkk.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.td |
 | llvm/test/CodeGen/RISCV/rv64i-exhaustive-w-insts.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfoM.td |
Commit
22f01cd4fc5d2a02a156722e1dab0398fc860e74
by Jake.Egan[AIX][ZOS] Disable LIT tests on AIX and z/OS due to lack of Objective-C support
AIX and z/OS lack Objective-C support, so mark these tests as unsupported for AIX and z/OS.
Reviewed By: jsji
Differential Revision: https://reviews.llvm.org/D109060
|
 | clang/test/Import/objc-method/test.m |
 | clang/test/Modules/objc-initializer.m |
 | clang/test/Import/forward-declared-objc-class/test.m |
 | clang/test/Import/objc-definitions-in-expression/test.m |
 | clang/test/Modules/ExtDebugInfo.m |
 | clang/test/PCH/objc_container.m |
 | clang/test/Import/objc-try-catch/test.m |
 | clang/test/Modules/direct-module-import.m |
 | clang/test/Modules/pch-used.m |
 | clang/test/Modules/autolinkTBD.m |
 | clang/test/Modules/use-exportas-for-link.m |
 | clang/test/Modules/module_file_info.m |
 | clang/test/Import/objc-param-decl/test.m |
 | clang/test/PCH/externally-retained.m |
 | clang/test/PCH/irgen-rdar13114142.mm |
 | clang/test/Import/objc-autoreleasepool/test.m |
 | clang/test/Modules/merge-record-definition-visibility.m |
 | clang/test/Modules/ModuleModuleDebugInfo.cpp |
 | clang/test/PCH/objcxx-ivar-class.mm |
 | clang/test/Modules/cxx-irgen.cpp |
 | clang/test/CodeGenObjCXX/lit.local.cfg |
 | clang/test/Modules/ExtDebugInfo.cpp |
 | clang/test/Import/objc-arc/test-cleanup-object.m |
 | clang/test/Modules/merge-record-definition-nonmodular.m |
 | clang/test/Modules/ModuleDebugInfoDwoId.cpp |
 | clang/test/PCH/objc_literals.m |
 | clang/test/Modules/merge-record-definition.m |
 | clang/test/PCH/pending-ids.m |
 | clang/test/PCH/objc_literals.mm |
 | clang/test/Modules/DebugInfoNamespace.cpp |
 | clang/test/Modules/DebugInfoTransitiveImport.m |
 | clang/test/Modules/debug-info-moduleimport.m |
 | clang/test/CodeGenObjC/lit.local.cfg |
 | clang/test/Modules/autolink.m |
Commit
6b20ea6963561f2c91490c0993390b7f2ff8f71c
by tra[CUDA] Pass ExecConfig through BuildCallToMemberFunction
Otherwise, we fail to compile calls to CUDA kernels that are static members.
Differential Revision: https://reviews.llvm.org/D108787
|
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/SemaCUDA/kernel-call.cu |
Commit
e03c7e367adb8f228332e3c2ef8f45484597b719
by akhuang[lld] Add test to check for timer output
This test checks that timers are working and printing as expected.
I also seem to have changed the order of the timers in my globals refactoring patch, so I fixed it here.
Differential Revision: https://reviews.llvm.org/D109904
|
 | lld/COFF/COFFLinkerContext.cpp |
 | lld/COFF/COFFLinkerContext.h |
 | lld/test/COFF/timers.ll |
Commit
8662a2f2081c2a6bf51a490caa045648c88dd230
by rob.suderman[mlir][tosa] Relax ranked constraint on quantization builder
TosaOp defintion had an artificial constraint that the input/output types needed to be ranked to invoke the quantization builder. This is correct as an unranked tensor could still be quantized.
Reviewed By: NatashaKnk
Differential Revision: https://reviews.llvm.org/D109863
|
 | mlir/lib/Dialect/Tosa/Utils/QuantUtils.cpp |
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
Commit
5de8c7f1387dd5e2ad3b79a145baf41b21fa4952
by mvanotti[fuzzer][fuchsia] Close exception channel before exiting.
On Fuchsia, killing or exiting a process that has a thread listening to its own process's debugger exception channel can hang. Zircon may kill all the threads, send a synthetic exceptions to debugger, and wait for the debugger to have received them. This means the thread listening to the debug exception channel may be killed even as Zircon is waiting for that thread to drain the exception channel, and the process can become stuck in a half-dead state.
This situation is "weird" as it only arises when a process is trying to debug itself. Unfortunately, this is exactly the scenario for libFuzzer on Fuchsia: FuzzerUtilFuchsia spawns a crash-handling thread that acts like a debugger in order to be able to rewrite the crashed threads stack and resume them into libFuzzer's usual POSIX signal handlers. In practice, approximately 25% of fuzzers appear to hang on exit, after generating output and artifacts. These processes hang around until the platform is torn done, which is typically a ClusterFuzz VM. Thus, real-world impact has been somewhat mitigated. The issue should still be resolved for local users, though.
This change improves the behavior of exit() in libFuzzer by adding an atexit handler which closes an event shared with the crash handling thread. This signals to the crash handler that it should close the exception channel and be joined before the process actually exits.
Reviewed By: charco
Differential Revision: https://reviews.llvm.org/D109258
|
 | compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp |
Commit
a2fd05ada9030eab2258fff25e77a05adccae128
by akhuangTemporarily revert "[LLD] Remove global state in lld/COFF" and "[lld] Add test to check for timer output"
Seems to be causing a number of asan test failures.
This reverts commit b4fa71eed34d967195514fe9b0a5211fca2bc5bc and e03c7e367adb8f228332e3c2ef8f45484597b719.
|
 | lld/COFF/COFFLinkerContext.cpp |
 | lld/COFF/PDB.cpp |
 | lld/COFF/MarkLive.cpp |
 | lld/COFF/Driver.h |
 | lld/COFF/Chunks.cpp |
 | lld/COFF/MinGW.h |
 | lld/COFF/LLDMapFile.cpp |
 | lld/COFF/Writer.h |
 | lld/COFF/DebugTypes.cpp |
 | lld/COFF/MinGW.cpp |
 | lld/COFF/PDB.h |
 | lld/Common/Timer.cpp |
 | lld/COFF/InputFiles.cpp |
 | lld/COFF/TypeMerger.h |
 | lld/COFF/MarkLive.h |
 | llvm/utils/gn/secondary/lld/COFF/BUILD.gn |
 | lld/COFF/MapFile.cpp |
 | lld/COFF/ICF.h |
 | lld/COFF/CallGraphSort.h |
 | lld/COFF/Chunks.h |
 | lld/COFF/DLL.cpp |
 | lld/COFF/SymbolTable.h |
 | lld/COFF/CMakeLists.txt |
 | lld/COFF/LLDMapFile.h |
 | lld/COFF/ICF.cpp |
 | lld/COFF/COFFLinkerContext.h |
 | lld/COFF/SymbolTable.cpp |
 | lld/COFF/DebugTypes.h |
 | lld/COFF/DLL.h |
 | lld/COFF/Driver.cpp |
 | lld/COFF/LTO.h |
 | lld/COFF/CallGraphSort.cpp |
 | lld/COFF/Writer.cpp |
 | lld/include/lld/Common/Timer.h |
 | lld/COFF/InputFiles.h |
 | lld/test/COFF/timers.ll |
 | lld/COFF/LTO.cpp |
 | lld/COFF/MapFile.h |
Commit
0fc624f029f568e91caf74d90abc5d8d971151c2
by nikita.ppv[IR] Return AAMDNodes from Instruction::getMetadata() (NFC)
getMetadata() currently uses a weird API where it populates a structure passed to it, and optionally merges into it. Instead, we can return the AAMDNodes and provide a separate merge() API. This makes usages more compact.
Differential Revision: https://reviews.llvm.org/D109852
|
 | llvm/lib/Transforms/Scalar/SROA.cpp |
 | llvm/include/llvm/IR/Metadata.h |
 | llvm/lib/Transforms/IPO/FunctionAttrs.cpp |
 | polly/lib/Analysis/ScopDetection.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp |
 | llvm/lib/Analysis/MemoryLocation.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp |
 | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/include/llvm/IR/Instruction.h |
Commit
f79ce5875f560528c801c404b1be1ce3e203c2e1
by listmailautogen a SCEV test for ease of update
|
 | llvm/test/Analysis/ScalarEvolution/trip-count-implied-addrec.ll |
Commit
88cb3e2cb6fe80dec27d8ed3cad0f63555470910
by tejohnson[MemProf] Don't instrument stack accesses unless requested
Skip stack accesses unless requested, as the memory profiler runtime does not currently look at or report accesses for these addresses.
Differential Revision: https://reviews.llvm.org/D109868
|
 | llvm/lib/Transforms/Instrumentation/MemProfiler.cpp |
 | llvm/test/Instrumentation/HeapProfiler/stack.ll |
Commit
45a8608d7ba4519ce890b74db20087ba22343c50
by i[OpenMP] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off build after D109635
|
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
47dd1f642846d476e3d789f4aa941699dc0ed3fe
by Augusto Noronha[lldb] Skip TestAppleSimulatorOSType if json parsing fails
xcodebuild, which is invoked by the apple_simulator_test decorator, may may return a successful status even if it was unable to run due to the authorization agent denying it. This causes the TestAppleSimulatorOSType to run when it shouldn't, and throw an excpection when parsing the JSON that lists the simulators available. Wrap the json parsing in a try/except block and if it fails, skip the ttest.
Differential Revision: https://reviews.llvm.org/D109336
|
 | lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py |