Commit
fefcb1f878c2dad435af604955661ca02a5302de
by spatel[PassManager] add helper function to hold set of vector passes
This is no-functional-change-intended (NFC) and split off from D102002 (which proposes to eliminate the LTO-based differences).
|
 | llvm/include/llvm/Passes/PassBuilder.h |
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp |
 | llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h |
Commit
6304c0836a4dd2d77373d45716092b2a088fa948
by riddleriver[mlir] Store the flag for dynamic operand storage in the low bits
It is currently stored in the high bits, which is disallowed on certain platforms (e.g. android). This revision switches the representation to use the low bits instead, fixing crashes/breakages on those platforms.
Differential Revision: https://reviews.llvm.org/D101969
|
 | mlir/lib/IR/OperationSupport.cpp |
 | mlir/include/mlir/IR/OperationSupport.h |
Commit
a3a8a1a15b524d91b5308db68e9d293b34cd88dd
by kyrtzidis[Index] Ignore nullptr decls for indexing
We can end up with a call to `indexTopLevelDecl(D)` with `D == nullptr` in non-assert builds e.g. when indexing a module in `indexModule` and - `ASTReader::GetDecl` returns `nullptr` if `Index >= DeclsLoaded.size()`, thus returning `nullptr` => `ModuleDeclIterator::operator*` returns `nullptr` => we call `IndexCtx.indexTopLevelDecl` with `nullptr`
Be resilient and just ignore the `nullptr` decls during indexing.
Reviewed By: akyrtzi
Differential Revision: https://reviews.llvm.org/D102001
|
 | clang/lib/Index/IndexDecl.cpp |
Commit
83af66e18e3d3760d56ea7e3bdbff3428ae7730d
by aaronnew altera ID dependent backward branch check
This lint check is a part of the FLOCL (FPGA Linters for OpenCL) project out of the Synergy Lab at Virginia Tech.
FLOCL is a set of lint checks aimed at FPGA developers who write code in OpenCL.
The altera ID dependent backward branch lint check finds ID dependent variables and fields used within loops, and warns of their usage. Using these variables in loops can lead to performance degradation.
|
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/docs/clang-tidy/checks/list.rst |
 | clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp |
 | clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h |
 | clang-tools-extra/docs/clang-tidy/checks/altera-id-dependent-backward-branch.rst |
 | clang-tools-extra/test/clang-tidy/checkers/altera-id-dependent-backward-branch.cpp |
 | clang-tools-extra/clang-tidy/altera/CMakeLists.txt |
 | clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp |
Commit
fca10c8808ff22f3069359b2f6b2d410612c70c1
by llvmgnsyncbot[gn build] Port 83af66e18e3d
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/altera/BUILD.gn |
Commit
d21e1b79ff7d40bca537c30da706e31e48483f21
by aaron.puchertThread safety analysis: Eliminate parameter from intersectAndWarn (NFC)
We were modifying precisely when intersecting the lock sets of multiple predecessors without back edge. That's no coincidence: we can't modify on back edges, it doesn't make sense to modify at the end of a function, and otherwise we always want to intersect on forward edges, because we can build a new lock set for those.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D101755
|
 | clang/lib/Analysis/ThreadSafety.cpp |
Commit
72ba78c29e923cb6e5d89eb5ea8180bf723188be
by jinghamWhen SendContinuePacketAndWaitForResponse returns eStateInvalid, don't fetch more packets.
This looks like just an oversight in the AsyncThread function. It gets a result of eStateInvalid, and then marks the process as exited, but doesn't set "done" to true, so we go to fetch another event. That is not safe, since you don't know when that extra packet is going to arrive. If it arrives while you are tearing down the process, the internal-state-thread might try to handle it when the process in not in a good state.
Rather than put more effort into checking all the shutdown paths to make sure this extra packet doesn't cause problems, just don't fetch it. We weren't going to do anything useful with it anyway.
The main part of the patch is setting "done = true" when we get the eStateInvalid. I also added a check at the beginning of the while(done) loop to prevent another error from getting us to fetch packets for an exited process.
I added a test case to ensure that if an Interrupt fails, we call the process exited. I can't test exactly the error I'm fixing, there's no good way to know that the stop reply for the failed interrupt wasn't fetched. But at least this asserts that the overall behavior is correct.
Differential Revision: https://reviews.llvm.org/D101933
|
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/TestHaltFails.py |
Commit
41bc54cc56fd9e9cdaaeb9ca630f0c690e1a28e4
by antiagainst[mlir][spirv] NFC: Replace OwningSPIRVModuleRef with OwningOpRef
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D102009
|
 | mlir/include/mlir/Target/SPIRV/Deserialization.h |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.h |
 | mlir/test/lib/Dialect/SPIRV/TestGLSLCanonicalization.cpp |
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVModule.h |
 | mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp |
 | mlir/include/mlir/Dialect/SPIRV/Linking/ModuleCombiner.h |
 | mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp |
 | mlir/test/lib/Dialect/SPIRV/TestModuleCombiner.cpp |
 | mlir/unittests/Dialect/SPIRV/SerializationTest.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserialization.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp |
 | mlir/lib/Target/SPIRV/TranslateRegistration.cpp |