Commit
09dc454b00b8ed0a19f766f760fa19e86a0b9059
by Justas.Janickas[OpenCL] Enables .rgba vector extension in C++ for OpenCL 2021
`.rgba` vector extension setting in C++ for OpenCL 2021 is now performed analogously to OpenCL C 3.0. Test case added.
Differential Revision: https://reviews.llvm.org/D109370
|
 | clang/lib/Sema/SemaExprMember.cpp |
 | clang/test/SemaOpenCL/ext_vectors.cl |
Commit
f78f613bb74ca837be36efcc72105c3c2d54b4f3
by thakis[llvm cmake] replace tabs with spaces in config-ix.cmake
|
 | llvm/cmake/config-ix.cmake |
Commit
8cfab5de13a8ec3a2ffccb1b94b0165512a33552
by thakis[Windows build] Use "DIA SDK" in sysroot
This updates llvm/utils/sysroot.py to include the "DIA SDK" folder in the sysroot.
It also updates the build to look for the DIA SDK there if a sysroot is set.
This requires moving LLVM_WINSYSROOT to config-ix.cmake.
For the GN build, I chose to pass a qualified path to diaguids in libs instead of pushing a config with a `/libpath:` flag. The former requires a GN with https://gn-review.googlesource.com/c/gn/+/12200, the latter requires D109624. The former is more like the cmake build, arguably a bit simpler, and it's easier to check for the wrong GN revision and easier to update GN.
Differential Revision: https://reviews.llvm.org/D109708
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
 | llvm/utils/sysroot.py |
 | compiler-rt/cmake/config-ix.cmake |
 | llvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/enable_dia.gni |
 | llvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/BUILD.gn |
 | llvm/cmake/config-ix.cmake |
Commit
9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb
by stephen.tozer[Dexter] Improve performance by evaluating expressions only when needed
Currently, Dexter's model for fetching watch values is to build a list of expressions to watch before running the debugger, then evaluating all of them at each breakpoint, then finally looking up the values of these expressions at each line they were expected on. When using dexter on a large project while watching many different expressions, this is very slow, as Dexter will make a massive number of calls made to the debugger's API, the vast majority of which are not being used for anything. This patch fixes this issue by having Dexter only evaluate expressions at a breakpoint when it will be used by a Dexter command.
Reviewed By: jmorse
Differential Revision: https://reviews.llvm.org/D107070
|
 | cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py |
 | cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py |
Commit
601102d282d5e9a1429fea52ee17303aec8a7c10
by aaronCleanup identifier parsing; NFC
Rename methods to clearly signal when they only deal with ASCII, simplify the parsing of identifier, and use start/continue instead of head/body for consistency with Unicode terminology.
|
 | clang/lib/Frontend/LayoutOverrideSource.cpp |
 | clang/lib/Edit/EditedSource.cpp |
 | clang/lib/Lex/ModuleMap.cpp |
 | clang/include/clang/Basic/CharInfo.h |
 | clang-tools-extra/clangd/SourceCode.cpp |
 | clang/lib/ARCMigrate/ObjCMT.cpp |
 | clang/lib/Tooling/Transformer/Parsing.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang/lib/Sema/SemaExprObjC.cpp |
 | clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp |
 | clang/lib/AST/MicrosoftMangle.cpp |
 | clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp |
 | clang/lib/Basic/Module.cpp |
 | clang/lib/Sema/SemaType.cpp |
 | clang/unittests/Basic/CharInfoTest.cpp |
 | clang/include/clang/Lex/Lexer.h |
 | clang/lib/Lex/Lexer.cpp |
 | clang/lib/ARCMigrate/TransUnbridgedCasts.cpp |
 | clang/lib/Sema/SemaAvailability.cpp |
 | clang-tools-extra/clangd/refactor/Rename.cpp |
 | clang-tools-extra/clang-include-fixer/IncludeFixer.cpp |
 | clang/lib/Frontend/Rewrite/FrontendActions.cpp |
Commit
f22c63b41bda01163a88b0bb9887a9324810732f
by pavel[lldb/test] Start pexpect tests with a custom HOME
This addresses the flakyness of (at least) TestMultilineNavigation, which was failing when the editline history of a concurrently executing test made leaked in. Using a test-specific home directory ensures the tests are independent.
|
 | lldb/packages/Python/lldbsuite/test/lldbpexpect.py |
Commit
2b4745fe057f9d84e7c73cf5b990c7bdcde8847f
by Matthew.ArsenaultAMDGPU: Avoid relying on an undef value in test
This was really becoming a direct call during the DAG, so it wasn't as true to the test purpose.
|
 | llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll |
Commit
a1ae56d6ad9ae823241b384178910576590c223b
by annaRemove incorrect comment in getSingleUndroppableUse. NFC
We traverse the entire use list to find the undroppable use.
|
 | llvm/include/llvm/IR/Value.h |
Commit
5041a485b948e55e54338779f2248c45402b0ae7
by amy.kwan1[PowerPC] Exploit Prefixed Load/Stores using the refactored Load/Store Implementation
This patch exploits the prefixed load and store instructions utilizing the refactored load/store implementation introduced in D93370.
Prefixed load and store instructions are emitted whenever we are loading or storing a value with an offset that fits into a 34-bit signed immediate. Patterns for the prefixed load and stores are added in this patch, as well as the implementation that detects when we are loading and storing a value with an offset that fits in 34-bits.
Differential Revision: https://reviews.llvm.org/D96075
|
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll |
 | llvm/test/CodeGen/PowerPC/mma-acc-memops.ll |
 | llvm/test/CodeGen/PowerPC/vec_insert_elt.ll |
 | llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll |
 | llvm/test/CodeGen/PowerPC/atomics-i16-ldst.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
 | llvm/test/CodeGen/PowerPC/atomics-i8-ldst.ll |
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | llvm/test/CodeGen/PowerPC/p10-fi-elim.ll |
 | llvm/test/CodeGen/PowerPC/atomics-i32-ldst.ll |
 | llvm/lib/Target/PowerPC/PPCInstrPrefix.td |
 | llvm/test/CodeGen/PowerPC/mma-intrinsics.ll |
 | llvm/test/CodeGen/PowerPC/vector-ldst.ll |
 | llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll |
 | llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/int128_ldst.ll |
 | llvm/test/CodeGen/PowerPC/f128_ldst.ll |
 | llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll |
 | llvm/test/CodeGen/PowerPC/atomics-i64-ldst.ll |
 | llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll |
 | llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
 | llvm/test/CodeGen/PowerPC/pcrel_ldst.ll |
 | llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll |
Commit
ef8c9135efcb3847fc0e5bbdb55eae18751090df
by sbc[WebAssembly] Allow import and export of TLS symbols between DSOs
We previously had a limitation that TLS variables could not be exported (and therefore could also not be imported). This change removed that limitation.
Differential Revision: https://reviews.llvm.org/D108877
|
 | llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll |
 | llvm/lib/MC/MCExpr.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp |
 | lld/wasm/Relocations.cpp |
 | lld/wasm/Symbols.cpp |
 | llvm/lib/MC/WasmObjectWriter.cpp |
 | llvm/lib/ObjectYAML/WasmYAML.cpp |
 | llvm/include/llvm/ObjectYAML/WasmYAML.h |
 | llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp |
 | lld/test/wasm/shared.s |
 | llvm/include/llvm/MC/MCExpr.h |
 | lld/wasm/SyntheticSections.cpp |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h |
 | lld/test/wasm/tls-non-shared-memory.s |
 | llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td |
 | lld/wasm/Symbols.h |
 | llvm/test/CodeGen/WebAssembly/tls-local-exec.ll |
 | lld/test/wasm/pie.ll |
 | llvm/test/MC/WebAssembly/tls.s |
 | lld/test/wasm/tls-export.s |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp |
 | llvm/include/llvm/BinaryFormat/Wasm.h |
 | llvm/lib/Object/WasmObjectFile.cpp |
 | llvm/tools/obj2yaml/wasm2yaml.cpp |
 | lld/wasm/Writer.cpp |
 | lld/test/wasm/shared64.s |
 | lld/test/wasm/shared-needed.s |
 | lld/test/wasm/tls-import.s |
 | llvm/lib/MC/MCWasmStreamer.cpp |
 | lld/wasm/SyntheticSections.h |
Commit
8401713b3ef1456a603874d96a99b2d5953df49c
by davg[clangd] Ignore ObjC `id` and `instancetype` in FindTarget
Even though they're implemented via typedefs, we typically want to treat them like keywords.
We could add hover information / xrefs, but it's very unlikely to provide any value.
Differential Revision: https://reviews.llvm.org/D108556
|
 | clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp |
 | clang-tools-extra/clangd/unittests/FindTargetTests.cpp |
 | clang-tools-extra/clangd/FindTarget.cpp |
Commit
fb4d590a622f4031900516360c07ee6ace01c5e6
by kristof.umannFix a unittest file after D108695 when Z3 is enabled
|
 | clang/unittests/StaticAnalyzer/CheckerRegistration.h |
 | clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp |
Commit
6ee55f9ab57435ae72a070a9eff76f281082208f
by sbcFix test failure created by ef8c9135efcb
Followup to https://reviews.llvm.org/D108877 to fix test failure.
|
 | lld/test/wasm/shared64.s |
 | lld/test/wasm/shared-needed.s |
 | lld/test/wasm/shared.s |
 | llvm/lib/ObjectYAML/WasmYAML.cpp |
Commit
2fd180bbb9a7bb8604a5aca31f1ca9dc5358a433
by craig.topper[IR] Reduce max supported integer from 2^24-1 to 2^23.
SelectionDAG will promote illegal types up to a power of 2 before splitting down to a legal type. This will create an IntegerType with a bit width that must be <= MAX_INT_BITS. This places an effective upper limit on any type of 2^23 so that we don't try create a 2^24 type.
I considered putting a fatal error somewhere in the path from TargetLowering::getTypeConversion down to IntegerType::get, but limiting the type in IR seemed better.
This breaks backwards compatibility with IR that is using a really large type. I suspect such IR is going to be very rare due to the the compile time costs such a type likely incurs.
Prevents the ICE in PR51829.
Reviewed By: efriedma, aaron.ballman
Differential Revision: https://reviews.llvm.org/D109721
|
 | llvm/include/llvm/IR/DerivedTypes.h |
 | clang/test/SemaCXX/ext-int.cpp |
 | clang/test/CodeGen/ext-int.c |
 | llvm/docs/ReleaseNotes.rst |
 | llvm/test/Assembler/max-inttype.ll |
 | clang/test/CodeGenCXX/ext-int.cpp |
 | llvm/docs/LangRef.rst |
 | clang/docs/ReleaseNotes.rst |
 | llvm/test/Assembler/invalid-inttype.ll |
Commit
d0d9e6f0849b2e76e980e2edf365302f47f4e35f
by Saleem Abdulrasoolclang-tidy: introduce readability-containter-data-pointer check
This introduces a new check, readability-containter-data-pointer. This check is meant to catch the cases where the user may be trying to materialize the data pointer by taking the address of the 0-th member of a container. With C++11 or newer, the `data` member should be used for this. This provides the following benefits:
- `.data()` is easier to read than `&[0]` - it avoids an unnecessary re-materialization of the pointer * this doesn't matter in the case of optimized code, but in the case of unoptimized code, this will be visible - it avoids a potential invalid memory de-reference caused by the indexing when the container is empty (in debug mode, clang will normally optimize away the re-materialization in optimized builds).
The small potential behavioural change raises the question of where the check should belong. A reasoning of defense in depth applies here, and this does an unchecked conversion, with the assumption that users can use the static analyzer to catch cases where we can statically identify an invalid memory de-reference. For the cases where the static analysis is unable to prove the size of the container, UBSan can be used to track the invalid access.
Special thanks to Aaron Ballmann for the discussion on whether this check would be useful and where to place it.
This also partially resolves PR26817!
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D108893
|
 | clang-tools-extra/test/clang-tidy/checkers/readability-container-data-pointer.cpp |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/docs/clang-tidy/checks/readability-data-pointer.rst |
 | clang-tools-extra/clang-tidy/readability/CMakeLists.txt |
 | clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h |
 | clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp |
 | clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp |