Commit
6807f244fa67bb75ef09fb3db54743b5b358a7fa
by shafik[ASTImporter] Modifying ImportDeclContext(...) to ensure that we also handle the case when the FieldDecl is an ArrayType whose ElementType is a RecordDecl
When we fixed ImportDeclContext(...) in D71378 to make sure we complete each FieldDecl of a RecordDecl when we are importing the definition we missed the case where a FeildDecl was an ArrayType whose ElementType is a record.
This fix was motivated by a codegen crash during LLDB expression parsing. Since we were not importing the definition we were crashing during layout which required all the records be defined.
Differential Revision: https://reviews.llvm.org/D86660
|
 | lldb/test/API/commands/expression/codegen-crash-import-def-arraytype-element/main.cpp |
 | lldb/test/API/commands/expression/codegen-crash-import-def-arraytype-element/Makefile |
 | clang/lib/AST/ASTImporter.cpp |
 | lldb/test/API/commands/expression/codegen-crash-import-def-arraytype-element/TestImportDefinitionArrayType.py |
Commit
6a6b06f5262bb96523eceef4a42fe8e60ae2a630
by mtrofin[NFC][regalloc] Use reverse iterator ranges for improved readability
Differential Revision: https://reviews.llvm.org/D88047
|
 | llvm/lib/CodeGen/RegAllocGreedy.cpp |
Commit
0f6facca9701f6df87d13e55d70bd7111a0472aa
by richardDon't build a StringLiteral expression with reference type when performing list-initialization of a char array reference from a braced string literal of a smaller size.
|
 | clang/lib/Sema/SemaInit.cpp |
 | clang/test/CodeGenCXX/cxx0x-initializer-references.cpp |
Commit
825203daae7ffea0326757fdbb819682dfbef4f9
by Amara Emerson[AArch64][GlobalISel] Make <4 x s16> G_ASHR and G_LSHR legal.
Selection support for these is coming up.
|
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir |
Commit
3a799deed72963d124cc9ab8141fb32976cfc846
by jpienaar[mlir] Add tutorial index.md pages
Sets the content for the section entry pages Hugo side.
Differential Revision: https://reviews.llvm.org/D87969
|
 | mlir/docs/Tutorials/Toy/Ch-1.md |
 | mlir/docs/Tutorials/_index.md |
 | mlir/docs/Tutorials/Toy/Ch-2.md |
 | mlir/docs/Tutorials/Toy/_index.md |
Commit
a513fdec90de6b0719e8dc4f079bbdd78eb9aaf1
by Amara Emerson[AArch64][GlobalISel] Add a post-legalize combine for lowering vector-immediate G_ASHR/G_LSHR.
In order to select the immediate forms using the imported patterns, we need to lower them into new G_VASHR/G_VLSHR target generic ops. Add a combine to do this matching build_vector of constant operands.
With this, we get selection for free.
|
 | llvm/lib/Target/AArch64/AArch64InstrGISel.td |
 | llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-vashr-vlshr.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir |
 | llvm/lib/Target/AArch64/AArch64Combine.td |
 | llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp |
Commit
e3f5046e44772d41632796389716930bafa96b74
by Amara Emerson[AArch64][GlobalISel] Merge selection of vector-vector G_ASHR/G_LSHR and support more cases.
The vector-immediate cases are handled elsewhere in an earlier commit.
|
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir |
Commit
ca8321574d62cdccc85cf222ae43e0b48c3dfe96
by kazuFix comment typos. NFC.
|
 | llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h |
 | llvm/test/Analysis/BlockFrequencyInfo/irreducible.ll |
Commit
307b7a1d665898d0e980461919996b6a670a4847
by rupprecht[lldb/test] Clean up version checking.
A few fixes while trying to figure out why tests are being skipped for arsenm:
- We check `$compiler -v`, but `-v` is `--verbose`, not `--version`. Use the long flag name. - We check all lines matching `version ...`, but we should exit early for the first version string we see (which should be the main one). I'm not sure if this is the issue, but perhaps this is causing some users to skip some tests if another "version ..." is showing up later. - Having `\.` in a python string is triggering pylint warnings, because it should be escaped as a regex string, e.g. `r'\.' However, `.` in a character class does not need to be escaped, as it matches only a literal `.` in that context.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D88051
|
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
Commit
161159888b430dad90605563259cd28b1ad25b14
by kazu[llvm] Fix comment typos. NFC.
|
 | llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h |
Commit
394d02016705e4b0fdfaa34c53be695f3f61922d
by ebahapo[RISCV] Do not mandate scheduling for CSR instructions
Scheduling information is of little value when they may disrupt the pipeline. This patch allows omitting the scheduling information for CSR instructions while still setting `SchedMachineModel::CompleteModel`. For specific cases, any scheduling information added will be used by the scheduler.
Differential revision: https://reviews.llvm.org/D85366
|
 | llvm/lib/Target/RISCV/RISCVInstrInfo.td |
Commit
1747f7776403626b23ef0389264643fe4d6bec17
by aeubanks[SimplifyCFG] Override options in default constructor
SimplifyCFG's options should always be overridden by command line flags, but they mistakenly weren't in the default constructor.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D87718
|
 | llvm/test/Transforms/SimplifyCFG/HoistCode.ll |
 | llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h |
 | llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp |
Commit
14d0735d3453fb6403da916d7aee6a9f25af4147
by diego.caballero[MLIR][Affine][VectorOps] Utility to vectorize loop nest using strategy
This patch adds a utility based on SuperVectorizer to vectorize an affine loop nest using a given vectorization strategy. This strategy allows targeting specific loops for vectorization instead of relying of the SuperVectorizer analysis to choose the right loops to vectorize.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D85869
|
 | mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir |
 | mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir |
 | mlir/include/mlir/Dialect/Affine/Utils.h |
 | mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp |
Commit
44b1643d17753fb2f35ef1d42420a4578bb8d55d
by aeubanks[NewPM] Support -disable-simplify-libcall/-disable-builtin in NPM opt
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D87932
|
 | llvm/tools/opt/opt.cpp |
 | llvm/tools/opt/NewPMDriver.h |
 | llvm/tools/opt/NewPMDriver.cpp |
 | llvm/test/Transforms/InstCombine/disable-simplify-libcalls.ll |
Commit
ae3f54c1e909743a89d48a8a05e18d2c8fd652ba
by kparzysz[EarlyCSE] Handle masked loads and stores
Extend the handling of memory intrinsics to also include non- target-specific intrinsics, in particular masked loads and stores.
Invent "isHandledNonTargetIntrinsic" to distinguish between intrin- sics that should be handled natively from intrinsics that can be passed to TTI.
Add code that handles masked loads and stores and update the testcase to reflect the results.
Differential Revision: https://reviews.llvm.org/D87340
|
 | llvm/lib/Transforms/Scalar/EarlyCSE.cpp |
 | llvm/test/Transforms/EarlyCSE/masked-intrinsics.ll |
 | llvm/test/Transforms/EarlyCSE/masked-intrinsics-unequal-masks.ll |
Commit
c82c0f99a5c12eabdfc099f6e24c789deff05f94
by ncv[docs] Update ExtendingLLVM.rst
Updated file paths and function signatures in section "Adding a new type".
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D88049
|
 | llvm/docs/ExtendingLLVM.rst |
Commit
74c93956e1c1f1054dfb040ce26830016e0f3095
by walter erquinigoAdd a "Trace" plug-in to LLDB to add process trace support in stages.
This is the first in a series of patches that will adds a new processor trace plug-in to LLDB.
The idea for this first patch to to add the plug-in interface with simple commands for the trace files that can "load" and "dump" the trace information. We can test the functionality and ensure people are happy with the way things are done and how things are organized before moving on to adding more functionality.
Processor trace information can be view in a few different ways: - post mortem where a trace is saved off that can be viewed later in the debugger - gathered while a process is running and allow the user to step back in time (with no variables, memory or registers) to see how each thread arrived at where it is currently stopped.
This patch attempts to start with the first solution of loading a trace file after the fact. The idea is that we will use a JSON file to load the trace information. JSON allows us to specify information about the trace like: - plug-in name in LLDB - path to trace file - shared library load information so we can re-create a target and symbolicate the information in the trace - any other info that the trace plug-in will need to be able to successfully parse the trace information - cpu type - version info - ???
A new "trace" command was added at the top level of the LLDB commmands: - "trace load" - "trace dump"
I did this because if we load trace information we don't need to have a process and we might end up creating a new target for the trace information that will become active. If anyone has any input on where this would be better suited, please let me know. Walter Erquinigo will end up filling in the Intel PT specific plug-in so that it works and is tested once we can agree that the direction of this patch is the correct one, so please feel free to chime in with ideas on comments!
Reviewed By: clayborg
Differential Revision: https://reviews.llvm.org/D85705
|
 | lldb/source/Target/Trace.cpp |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h |
 | lldb/source/Plugins/Trace/CMakeLists.txt |
 | lldb/test/API/commands/trace/TestTraceSchema.py |
 | lldb/include/lldb/lldb-forward.h |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp |
 | lldb/source/Target/TraceSettingsParser.cpp |
 | lldb/test/API/commands/trace/intelpt-trace/trace_bad.json |
 | lldb/source/Utility/StructuredData.cpp |
 | lldb/source/Commands/Options.td |
 | lldb/source/Target/CMakeLists.txt |
 | lldb/test/API/commands/trace/intelpt-trace/trace.json |
 | lldb/test/API/commands/trace/intelpt-trace/main.cpp |
 | lldb/source/Plugins/CMakeLists.txt |
 | lldb/include/lldb/Core/PluginManager.h |
 | lldb/include/lldb/Target/Trace.h |
 | lldb/source/Core/PluginManager.cpp |
 | lldb/source/Interpreter/CommandInterpreter.cpp |
 | lldb/source/Commands/CMakeLists.txt |
 | lldb/test/API/commands/trace/TestTraceLoad.py |
 | lldb/include/lldb/lldb-private-interfaces.h |
 | lldb/source/Commands/CommandObjectTrace.h |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h |
 | lldb/include/lldb/Target/TraceSettingsParser.h |
 | lldb/test/API/commands/trace/intelpt-trace/trace_bad3.json |
 | lldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp |
 | lldb/test/API/commands/trace/intelpt-trace/trace_bad2.json |
 | lldb/test/API/commands/trace/intelpt-trace/3842849.trace |
 | lldb/test/API/commands/trace/intelpt-trace/a.out |
 | lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt |
 | lldb/source/Commands/CommandObjectTrace.cpp |
Commit
8e4bb9e2d85794ef3e5e424caf1e16e797b41ea3
by Louis DionneNFC: Add whitespace-changing revisions to .git-blame-ignore-revs
|
 | .git-blame-ignore-revs |
Commit
bb09ef959811ec4dc68f5a0b4bb6105a090c3919
by Louis Dionne[libc++] Fix failures when running the test suite without RTTI
|
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.overview/copy_assign.pass.cpp |
 | libcxx/include/any |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp |
 | libcxx/test/libcxx/utilities/function.objects/func.blocks.sh.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter_allocator.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.overview/copy_ctor.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp |
 | libcxx/test/support/test_macros.h |
 | libcxx/test/std/language.support/support.rtti/type.info/type_info_hash.pass.cpp |
 | libcxx/test/support/type_id.h |
 | libcxx/test/support/demangle.h |
 | libcxx/test/std/utilities/type.index/type.index.members/eq.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header_exceptions.fail.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header_rtti.fail.cpp |
 | libcxx/test/support/experimental_any_helpers.h |
 | libcxx/test/support/test.support/test_macros_header.no_exceptions.verify.cpp |
 | libcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.members/name.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.members/ctor.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.hash/hash.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator.pass.cpp |
 | libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp |
 | libcxx/test/support/test.support/test_demangle.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header.rtti.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp |
 | libcxx/test/std/language.support/support.rtti/type.info/type_info.pass.cpp |
 | libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header.no_rtti.verify.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header_rtti.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.members/lt.pass.cpp |
 | libcxx/test/std/utilities/type.index/type.index.members/hash_code.pass.cpp |
 | libcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header_exceptions.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp |
 | libcxx/test/support/test.support/test_macros_header.exceptions.pass.cpp |
 | libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.getdeleter/get_deleter.pass.cpp |