Commit
065fc1eafe7c6f67f8029bcd38e6864b3c429e35
by richardPR45521: Preserve the value kind when performing a standard conversion sequence on a glvalue expression.
If the sequence is supposed to perform an lvalue-to-rvalue conversion, then one will be specified as the first conversion in the sequence. Otherwise, one should not be invented.
|
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/test/SemaCXX/references.cpp |
 | clang/lib/Sema/SemaOverload.cpp |
Commit
34c485201507de2602b70b0df368dbc6c0b0fecb
by antiagainst[mlir][spirv] Add MatrixTimesMatrix operation
Add MatrixTimesMatrix operation to SPIRV Dialect and add NoSideEffect trait to Matrix ops.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D82671
|
 | mlir/test/Dialect/SPIRV/matrix-ops.mlir |
 | mlir/lib/Dialect/SPIRV/SPIRVDialect.cpp |
 | mlir/test/Dialect/SPIRV/Serialization/matrix.mlir |
 | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVBase.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVMatrixOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h |
 | mlir/lib/Dialect/SPIRV/SPIRVOps.cpp |
 | mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp |
Commit
cb82de29601745d6c4beaf51ee1dbd1bf7acc186
by maskray[RISCV] Optimize multiplication by constant
... to shift/add or shift/sub.
Do not enable it on riscv32 with the M extension where decomposeMulByConstant may not be an optimization.
Reviewed By: luismarques, MaskRay
Differential Revision: https://reviews.llvm.org/D82660
|
 | llvm/test/CodeGen/RISCV/mul.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h |
Commit
1e9d0811c9bf40abbe07d591057869568f140036
by maskray[RISCV] optimize addition with a pair of (addi imm)
For an addition with an immediate in specific ranges, a pair of addi-addi can be generated instead of the ordinary lui-addi-add serial.
Reviewed By: MaskRay, luismarques
Differential Revision: https://reviews.llvm.org/D82262
|
 | llvm/test/CodeGen/RISCV/add-imm.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
51b0da731af75c68dd521e04cc576d5a611b1612
by craig.topperRecommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."
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
1f780c997c3616465a4180ffb20a5db4ec9d7776
by omair.javaid[LLDB] Disable flaky lldb-vscode tests on arm
Summary: These two tests are flaky on lldb Arm buildbot as well. They are already being skipped for aarch64. I am going to mark them skipped for Arm.
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D81978
|
 | lldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py |
Commit
fe13ee875b102e5bf66c212883852f08796168b3
by thakis[gn build] Port baca8f977ed
|
 | llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn |
Commit
0a41493b9822514daf72d036d088ac91d9235b0c
by clementval[openmp][NFC] Remove duplicate clause defaultmap for target parallel do
|
 | llvm/include/llvm/Frontend/OpenMP/OMP.td |
Commit
e885f336fd78e35ccb8e967e0664b356de333963
by thakisRevert "[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846"
This reverts commit 91f70675cc6e5c872e0059c11d797b8726eeac67. It seems to break most (all?) hwasan tests.
|
 | llvm/include/llvm/Support/X86TargetParser.def |
 | llvm/lib/Support/X86TargetParser.cpp |
Commit
f54d0e36be6a4d5dab67244e85b8664282dcf5d1
by joker.ephRename `xla_lhlo.terminator` into `return` in SCF parallel loop test (NFC)
It seems that these were inserted here inadvertently instead of using standard `return`.
|
 | mlir/test/Dialect/SCF/parallel-loop-fusion.mlir |
Commit
edc7da24057b22896dc6522d3f98ccdd75a4e7f8
by sgueltonUpgrade TypePromotionTransaction to be able to report changes in CodeGenPrepare
optimizeMemoryInst was reporting no change while still modifying the IR. Inspect the status of TypePromotionTransaction to get a better status.
Related to https://reviews.llvm.org/D80916
Differential Revision: https://reviews.llvm.org/D81256
|
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
Commit
20e271a98de5609e22766e56f9c374b150f06982
by vrnithinkumar[analyzer] Warning for default constructed unique_ptr dereference
Summary: Add support for warning incase of default constructed unique pointer dereferences
Reviewed By: NoQ, Szelethus, vsavchenko, xazax.hun
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81315
|
 | clang/test/Analysis/Inputs/system-header-simulator-cxx.h |
 | clang/test/Analysis/smart-ptr.cpp |
 | clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp |
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/lib/StaticAnalyzer/Checkers/SmartPtr.h |
 | clang/test/Analysis/use-after-move.cpp |
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h |
 | clang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp |
 | clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt |
 | clang/docs/analyzer/checkers.rst |
 | clang/test/Analysis/analyzer-config.c |
Commit
d8dfd6dcc143a2164ae781de6598e72b7183fc3f
by llvmgnsyncbot[gn build] Port 20e271a98de
|
 | llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn |
Commit
80970ac87574c6d0292894a4a912fa512336f434
by flo[DSE,MSSA] Eliminate stores by terminators (free,lifetime.end).
This patch adds support for eliminating stores by free & lifetime.end calls. We can remove stores that are not read before calling a memory terminator and we can eliminate all stores after a memory terminator until we see a new lifetime.start. The second case seems to not really trigger much in practice though.
Reviewers: dmgreen, rnk, efriedma, bryant, asbirlea, Tyker
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D72410
|
 | llvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/2016-07-17-UseAfterFree.ll |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll |
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
 | llvm/test/Transforms/DeadStoreElimination/MSSA/free.ll |
Commit
7e6793aa33dd61ed9dd531871fce30c1b7978e13
by aheejin[WebAssembly] Generate unreachable after __stack_chk_fail
`__stack_chk_fail` does not return, but `unreachable` was not generated following `call __stack_chk_fail`. This had a possibility to generate an invalid binary for functions with a return type, because `__stack_chk_fail`'s return type is void and `call __stack_chk_fail` can be the last instruction in the function whose return type is non-void. Generating `unreachable` after it makes sure CFGStackify's `fixEndsAtEndOfFunction` handles it correctly.
Reviewed By: tlively
Differential Revision: https://reviews.llvm.org/D83277
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/WebAssembly/stack-protector.ll |
Commit
00580349c39280a1d0a9ef5999c9826dad553470
by georgemitenk0v[MLIR][SPIRVToLLVM] Miscellaneous ops conversion: select, fmul and undef
This patch introduces 3 new direct conversions for SPIR-V ops: - `spv.Select` - `spv.Undef` - `spv.FMul` that was skipped in the patch with arithmetic ops
Differential Revision: https://reviews.llvm.org/D83291
|
 | mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir |
 | mlir/test/Conversion/SPIRVToLLVM/arithmetic-ops-to-llvm.mlir |
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
Commit
15aeb805dc46fbd268388af5f8de19e4de29cdb3
by david.sherwood[CodeGen] Fix warnings in sve-ld1-addressing-mode-reg-imm.ll
For the GetElementPtr case in function AddressingModeMatcher::matchOperationAddr I've changed the code to use the TypeSize class instead of relying upon the implicit conversion to a uint64_t. As part of this we now check for scalable types and if we encounter one just bail out for now as the subsequent optimisations doesn't currently support them.
This changes fixes up all warnings in the following tests:
llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
Differential Revision: https://reviews.llvm.org/D83124
|
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
 | llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll |
 | llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll |
Commit
cfcf8e17ef537686e03c58921a10593a2b0c4a3d
by mikael.holmen[analyzer] Silence gcc -Wparentheses warning [NFC]
|
 | clang/lib/StaticAnalyzer/Core/BugReporter.cpp |
Commit
5b14f5051f134d29f51b523e5c9b602c08a4a7af
by david.sherwood[CodeGen] Fix wrong use of getVectorNumElements in PromoteIntRes_EXTRACT_SUBVECTOR
Calling getVectorNumElements() is not safe for scalable vectors and we should normally use getVectorElementCount() instead. However, for the code changed in this patch I decided to simply move the instantiation of the variable 'OutNumElems' lower down to the place where only fixed-width vectors are used, and hence it is safe to call getVectorNumElements().
Fixes up one warning in this test:
sve-sext-zext.ll
Differential Revision: https://reviews.llvm.org/D83195
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
9e66e9c30a19dc5923c85d3a3a4b757935299fba
by david.sherwood[CodeGen] Fix wrong use of getVectorNumElements() in DAGTypeLegalizer::SplitVecRes_ExtendOp
In DAGTypeLegalizer::SplitVecRes_ExtendOp I have replaced an invalid call to getVectorNumElements() with a call to getVectorMinNumElements(), since the code path works for both fixed and scalable vectors.
This fixes up a warning in the following test:
sve-sext-zext.ll
Differential Revision: https://reviews.llvm.org/D83197
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
Commit
1f84ace3c7266564801d79185ebb05eb451205f1
by grimar[llvm-readobj] - Refine error reporting in MipsGOTParser<ELFT> helper.
This is a follow-up for D83225. This does the following: 1) Adds missing tests for existent errors. 2) Stops using `unwrapOrError` to propagate errors to caller. (I am trying to get rid of all `unwrapOrErr` calls in the llvm-readelf code). 3) Improves error messages reported slightly.
Differential revision: https://reviews.llvm.org/D83314
|
 | llvm/test/tools/llvm-readobj/ELF/mips-got.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/test/tools/llvm-readobj/ELF/mips-plt.test |
Commit
bee8cdcabd2b3931be3f240e70b0b04e766ea4fe
by grimar[DebugInfo/DWARF] - Test invalid CFI opcodes properly and refine related `CFIProgram::parse` code.
There are following issues with `CFIProgram::parse` code:
1) Invalid CFI opcodes were never tested. And currently a test would fail when the `LLVM_ENABLE_ABI_BREAKING_CHECKS` is enabled. It happens because the `DataExtractor::Cursor C` remains unchecked when the "Invalid extended CFI opcode" error is reported:
``` .eh_frame section at offset 0x1128 address 0x0: Program aborted due to an unhandled Error: Error value was Success. (Note: Success values must still be checked prior to being destroyed). ```
2) It is impossible to reach the "Invalid primary CFI opcode" error with the current code. There are 3 possible primary opcode values and all of them are handled. Hence this error should be replaced with llvm_unreachable.
3) Errors currently reported are upper-case.
This patch refines the code in the `CFIProgram::parse` method to fix all issues mentioned and adds unit tests for all possible invalid extended CFI opcodes.
Differential revision: https://reviews.llvm.org/D82868
|
 | llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp |
Commit
c00a27752e4944db609a683504bb10e0975fdf76
by llvm-dev[X86][AVX] Remove redundant EXTRACT_VECTOR_ELT(VBROADCAST(SCALAR())) fold
Noticed while looking for similar cases to rG931ec74f7a29 - SimplifyDemandedVectorElts and shuffle combining both should handle this now.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
997a3c29f4655e930a9ef44be98d28368d757d98
by llvm-devFix MSVC "not all control paths return a value" warnings. NFC.
|
 | llvm/lib/MC/MCParser/MasmParser.cpp |
Commit
a39c7ab9c355670510341191a802f3799265e9ef
by lebedev.ri[NFCI][llvm-reduce] Cleanup Delta passes to use Oracle abstraction
Summary: I think, this results in much more understandable/readable flow. At least the original logic was perhaps the most hard thing for me to grasp when taking an initial look on the delta passes.
Reviewers: nickdesaulniers, dblaikie, diegotf, george.burgess.iv
Reviewed By: nickdesaulniers
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83287
|
 | llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp |
 | llvm/tools/llvm-reduce/deltas/Delta.h |
 | llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp |
 | llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp |
Commit
b9d977b0ca60c54f11615ca9d144c9f08b29fd85
by jeremy.morse[DWARF] Add cuttoff guarding quadratic validThroughout behaviour
Occasionally we see absolutely massive basic blocks, typically in global constructors that are vulnerable to heavy inlining. When these blocks are dense with DBG_VALUE instructions, we can hit near quadratic complexity in DwarfDebug's validThroughout function. The problem is caused by:
* validThroughout having to step through all instructions in the block to examine their lexical scope, * and a high proportion of instructions in that block being DBG_VALUEs for a unique variable fragment,
Leading to us stepping through every instruction in the block, for (nearly) each instruction in the block.
By adding this guard, we force variables in large blocks to use a location list rather than a single-location expression, as shown in the added test. This shouldn't change the meaning of the output DWARF at all: instead we use a less efficient DWARF encoding to avoid a poor-performance code path.
Differential Revision: https://reviews.llvm.org/D83236
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h |
 | llvm/test/DebugInfo/MIR/X86/singlelocation-cutoffs.mir |
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
Commit
7a4e39b326d0cc69e6b4fbe9010aaf5dc704a12f
by georgemitenk0v[MLIR][SPIRVToLLVM] Implementation of spv.BitFieldSExtract and spv.BitFieldUExtract patterns
This patch adds conversion patterns for `spv.BitFieldSExtract` and `spv.BitFieldUExtract`. As in the patch for `spv.BitFieldInsert`, `offset` and `count` have to be broadcasted in vector case and casted to match the type of the base.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D82640
|
 | mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp |
 | mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir |
Commit
e9f943429c895e4d6d29505fab2fad365fe2766e
by Raphael Isemann[lldb] Skip TestIOHandlerResizeNoEditline on Windows
It seems opening the empty file and trying use that file object as an input stream doesn't work on Windows. Skipping it for now.
|
 | lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py |
Commit
fb75451775f83c04d53e4e94bb4bd298ea9a882f
by paul.walker[SVE] Custom ISel for fixed length extract/insert_subvector.
We use extact_subvector and insert_subvector to "cast" between fixed length and scalable vectors. This patch adds custom c++ based ISel for the following cases:
fixed_vector = ISD::EXTRACT_SUBVECTOR scalable_vector, 0 scalable_vector = ISD::INSERT_SUBVECTOR undef(scalable_vector), fixed_vector, 0
Which result in either EXTRACT_SUBREG/INSERT_SUBREG for NEON sized vectors or COPY_TO_REGCLASS otherwise.
Differential Revision: https://reviews.llvm.org/D82871
|
 | llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
Commit
aae413462fae16c481df31ff23b951c5df494a60
by Alexander.Richardson[UpdateTestChecks] Move more update_test_checks.py logic to common.py
I intend to reuse this to add UTC_ARGS support for update_llc_test_checks.py and update_cc_test_checks.py in D78478.
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D78618
|
 | llvm/utils/UpdateTestChecks/common.py |
 | llvm/utils/update_test_checks.py |
Commit
a80afc032859ebe65af283f76b38a0f5921b683f
by Alexander.Richardson[UpdateTestChecks] Add UTC_ARGS support for update_{llc,cc}_test_checks.py
https://reviews.llvm.org/D69701 added support for on-the-fly argument changes for update scripts. I recently wanted to keep some manual check lines in a test generated by update_cc_test_checks.py in our CHERI fork, so this commit adds support for UTC_ARGS in update_cc_test_checks.py. And since I was refactoring the code to be in common.py, I also added it for update_llc_test_checks.py.
Reviewed By: jdoerfert, MaskRay Differential Revision: https://reviews.llvm.org/D78478
|
 | clang/test/utils/update_cc_test_checks/mangled_names.test |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/basic.ll.expected |
 | llvm/utils/update_cc_test_checks.py |
 | clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c.expected |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/on_the_fly_arg_change.test |
 | llvm/utils/update_llc_test_checks.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test |
 | clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/on_the_fly_arg_change.ll |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/on_the_fly_arg_change.ll.expected |
 | clang/test/utils/update_cc_test_checks/on_the_fly_arg_change.test |
 | clang/test/utils/update_cc_test_checks/Inputs/mangled_names.c.funcsig.expected |
Commit
a50c7ebfd0f06982e8dc31020acae4d32e6d0e9f
by oliver.stannard[Support] Fix signed/unsigned comparison warning
|
 | llvm/lib/Support/FormattedStream.cpp |
Commit
75f9aa6ce0751064d89bb19c9767866d770adf84
by llvm-dev[X86][AVX] Add SimplifyDemandedVectorEltsForTargetShuffle test for v32i8->v16i8 PSHUFB
On SKX targets we end up loading a v16i8 PSHUFB mask from a v32i8 constant and scaling incorrectly indexes the demanded elts mask - we're missing a check that the constant pool is the same size as the loaded mask.
Test case from D81791 post-commit review.
|
 | llvm/test/CodeGen/X86/vector-shuffle-avx512.ll |
Commit
419c92a749294a22a3deaa22719094ebd4e70568
by petar.avramovic[GlobalISel][InlineAsm] Fix matching input constraints to mem operand
Mark matching input constraint to mem operand as not supported.
Differential Revision: https://reviews.llvm.org/D83235
|
 | llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll |
Commit
ebee165184a8000b7f650f0946b25b6ea51859b8
by Raphael Isemann[lldb][NFC] Fix indentation in expect_expr
|
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
Commit
1be92dd207275e1ecf09dd38f44ead908fe4b8c9
by Alexander.RichardsonAdd missing REQUIRES: x86-registered-target
This should fix build bot failures after a80afc032859ebe65af283f76b38a0f5921b683f
|
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/on_the_fly_arg_change.test |
Commit
9dc250db9db29b0264fbb1e59bde8efa86d90c9b
by llvm-dev[X86][AVX] SimplifyDemandedVectorEltsForTargetShuffle - ensure mask is same size as constant size
Fixes test regression reported on D81791
|
 | llvm/test/CodeGen/X86/vector-shuffle-avx512.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
b19913188d03d59332908f6280af37325bc49492
by hans[cmake] Use CMAKE_GENERATOR to determine if Ninja is used
The name of the make program does not necessarily match "ninja", especially if an alternative implementation like samurai is used.
Using CMAKE_GENERATOR is a more robust detection method, and is already used elsewhere in this file.
Differential revision: https://reviews.llvm.org/D77091
|
 | llvm/cmake/modules/HandleLLVMOptions.cmake |
Commit
695b33a56919af8873eecb47cb83fa17a271e99f
by pavel[lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true)
Summary: This function was documented to overwrite entries with D76111, which was adding a couple of similar functions. However, this function (unlike the functions added in that patch) was/is not actually overwriting variables -- any pre-existing variables would get ignored.
This behavior does not seem to be intentional. In fact, before the refactor in D41359, this function could introduce duplicate entries, which could have very surprising effects both inside lldb and on other applications (some applications would take the first value, some the second one; in lldb, attempting to unset a variable could make the second variable become active, etc.).
Overwriting seems to be the most reasonable behavior here, so change the code to match documentation.
Reviewers: clayborg, wallace, jingham
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D83306
|
 | lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py |
 | lldb/source/API/SBLaunchInfo.cpp |
Commit
96a5cfff208d8e86a598e64412d9ef5dde0f9c9e
by hokein.wu[AST][RecoveryExpr] Fix the value category for recovery expr.
RecoveryExpr was always lvalue, but it is wrong if we use it to model broken function calls, function call expression has more compliated rules:
- a call to a function whose return type is an lvalue reference yields an lvalue; - a call to a function whose return type is an rvalue reference yields an xvalue; - a call to a function whose return type is nonreference type yields a prvalue;
This patch makes the recovery-expr align with the function call if it is modeled a broken call.
Differential revision: https://reviews.llvm.org/D83201
|
 | clang/test/AST/ast-dump-recovery.cpp |
 | clang/test/SemaCXX/recovery-expr-type.cpp |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/lib/AST/Expr.cpp |
 | clang/lib/AST/ExprClassification.cpp |
Commit
88c82474d2ef92d0cda7d902206d90a73eed9c9d
by pavel[lldb/Utility] Simplify Scalar float accessors
Make use of APFloat conversion methods to avoid needing to switch based on the stored value type.
|
 | lldb/source/Utility/Scalar.cpp |
Commit
bbea4d5e6b82a683dccaa8f4916e2a44f5dd3490
by sylvestreclang: Don't show a trailing space with --version when not built from the repo
Reported here: https://bugs.llvm.org/show_bug.cgi?id=38998#c15
Reviewers: hans
Differential Revision: https://reviews.llvm.org/D83386
|
 | clang/lib/Basic/Version.cpp |
Commit
9c31da853855eb952bbad98b99978df8c515e9b2
by medismail.bennani[lldb/Core] Update comment to make it more explicit (NFC)
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/source/Core/ValueObject.cpp |
Commit
91149002872f968673c8f01f641dfe11dc4a4d7c
by spatel[x86] improve codegen for non-splat bit-masked vector compare and select (PR46531)
vselect ((X & Pow2C) == 0), LHS, RHS --> vselect ((shl X, C') < 0), RHS, LHS
Follow-up to D83073 - the non-splat mask cases where we actually see an improvement are quite limited from what I can tell. AVX1 needs multiply and blend capabilities and AVX2 needs vector shift and blend capabilities. The intersection of those 2 constraints is only vectors with 32-bit or 64-bit elements.
XOP is/was better.
Differential Revision: https://reviews.llvm.org/D83181
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vselect-pcmp.ll |
Commit
2ebf4b6e4c35c93c97da9ed14db7b38757c0d7f9
by isuruf[flang] Fix setting mxcsr on MSVC
Reviewers: sscalpone, jdoerfert, #flang, DavidTruby, jeanPerier
Reviewed By: jeanPerier
Subscribers: richard.barton.arm, jeanPerier, ro, llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D77815
|
 | flang/lib/Evaluate/host.h |
 | flang/lib/Evaluate/host.cpp |
 | flang/unittests/Evaluate/fp-testing.cpp |
 | flang/unittests/Evaluate/fp-testing.h |
Commit
1ea289681acf622ceda783c8fda2f16754b7c933
by pifon[mlir] Add ViewLikeOpInterface to std.memref_cast.
Summery: It's needed for correct work of BufferPlacement.
Differential Revision: https://reviews.llvm.org/D83385
|
 | mlir/include/mlir/Dialect/StandardOps/IR/Ops.td |
 | mlir/lib/Dialect/StandardOps/IR/Ops.cpp |
Commit
64363a9d93006595d05825ce8fdbcc146aac15b1
by a.bataev[NVPTX]Add a test for debug info for packed bitfields, NFC.
|
 | llvm/test/DebugInfo/NVPTX/packed_bitfields.ll |
Commit
ea8bba7e8d0db3541a386ad649c4bf21d53e8380
by ecaldasFix crash on overloaded postfix unary operators due to invalid sloc
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82954
|
 | clang/unittests/Tooling/Syntax/TreeTest.cpp |
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
Commit
26a22478cdfe6fe4d169320910c38958d5dafc38
by ties.stuij[CodeGen] Don't combine extract + concat vectors with non-legal types
Summary: The following combine currently breaks in the DAGCombiner:
``` extract_vector_elt (concat_vectors v4i16:a, v4i16:b), x -> extract_vector_elt a, x ```
This happens because after we have combined these nodes we have inserted nodes that use individual instances of the vector element type. In the above example i16. However this isn't a legal type on all backends, and when the combining pass calls the legalizer it breaks as it expects types to already be legal. The type legalizer has already been run, and running it again would make a mess of the nodes.
In the example code at least, the generated code is still efficient after the change.
Reviewers: miyuki, arsenm, dmgreen, lebedev.ri
Reviewed By: miyuki, lebedev.ri
Subscribers: lebedev.ri, wdng, hiraditya, steven.zhang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D83231
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/AArch64/regress-combine-extract-vectors.ll |
Commit
15fa287b64d0ef845201339994cdf6eb3e4d51e1
by psteinfeld[flang] Support for image selectors
Summary: This change implements support for image selectors and image selector specifications as described in section 9.6.
In check-coarray[.h,cpp] I changed the `Leave()` function for `parser::ImageSelectorSpec` to take a `parser::ImageSelector`, which contains a list of image selector specifications. This allows us to detect when the same specification is used more than once. I also added code to analyze the expressions for the image selector specifications to expression.cpp and a test for all of the conditions to check at compile-time.
Note that we do not check at compile-time to see if the value of the cosubscripts are within the specified cobounds. We also do not check anything related to selecting a valid team. We also do not check that the denotation of the `stat-variable` is not dependent on the evaluation of an entity in the same statement.
Reviewers: klausler, tskeith, DavidTruby
Subscribers: llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D83336
|
 | flang/lib/Semantics/expression.cpp |
 | flang/include/flang/Parser/tools.h |
 | flang/test/Semantics/resolve94.f90 |
 | flang/lib/Parser/tools.cpp |
 | flang/lib/Semantics/check-coarray.h |
 | flang/lib/Semantics/check-coarray.cpp |
Commit
24b62f28c5daa293a2602712e1eba82cb59f3a6f
by eschweitz[flang] Upstreaming intrinsic call lowering.
This module implements the lowering of Fortran intrinsics to the corresponding calls in support libraries (the Fortran runtime, math libraries, etc.)
This revision is a tad larger because there are a large number of Fortran intrinsics and this adds lowering for a fair number of them.
Differential revision: https://reviews.llvm.org/D83355
|
 | flang/include/flang/Optimizer/Dialect/FIRType.h |
 | flang/lib/Lower/CharacterExpr.cpp |
 | flang/lib/Lower/IntrinsicCall.cpp |
 | flang/include/flang/Lower/IntrinsicCall.h |
 | flang/include/flang/Lower/Mangler.h |
 | flang/include/flang/Lower/CharacterExpr.h |
 | flang/lib/Lower/Mangler.cpp |
 | flang/lib/Lower/CMakeLists.txt |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
Commit
69c22edb7d30983f1bb9d21154e427ebcc5f699c
by sam.mccall[clangd] Enable reading config from files behind a flag
Reviewers: kadircet, hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83233
|
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
Commit
64030099c378062131fa1b29742a783f2ca14c17
by Stanislav.MekhanoshinSLP: honor requested max vector size merging PHIs
At the moment this place does not check maximum size set by TTI and just creates a maximum possible vectors.
Differential Revision: https://reviews.llvm.org/D82227
|
 | llvm/test/Transforms/SLPVectorizer/slp-max-phi-size.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
6aab27ba851f132f01ea8e87f92243918dc23cfd
by sstipanovic[OpenMPIRBuilder][Fix] Move llvm::omp::types to OpenMPIRBuilder.
Summary: D82193 exposed a problem with global type definitions in `OMPConstants.h`. This causes a race when running in thinLTO mode. Types now live inside of OpenMPIRBuilder to prevent this from happening.
Reviewers: jdoerfert
Subscribers: yaxunl, hiraditya, guansong, dexonsmith, aaron.ballman, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D83176
|
 | llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPConstants.h |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp |
 | clang/lib/CodeGen/CGExpr.cpp |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | clang/lib/CodeGen/CodeGenModule.h |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | llvm/lib/Frontend/OpenMP/OMPConstants.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.h |
 | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp |
 | clang/lib/CodeGen/CGDecl.cpp |
Commit
a15d798594ae340b037efec2cdba5ec77221e7e7
by sam.mccall[clangd] Improve serialization error messages. NFC
|
 | clang-tools-extra/clangd/RIFF.cpp |
 | clang-tools-extra/clangd/RIFF.h |
 | clang-tools-extra/clangd/index/Serialization.cpp |