Commit
5b51bd187894820411ad3edcfd1775a78a4a1424
by lebedev.ri[TLI] prepareSREMEqFold(): use correct VT for the final VSELECT (PR51133)
We were using the wrong VT for this final VSELECT, it should be in the final comparison VT, not the source value's VT.
Fixes https://bugs.llvm.org/show_bug.cgi?id=51133
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll |
Commit
f15c39ba9e7b30987463bb574098c963fc3b0568
by kazu[CodeGen] Remove isNON_TRUNCStore and isTRUNCStore (NFC)
The last use of isNON_TRUNCStore was removed on Oct 10, 2018 in commit 07acc992dc39edfccc5a4b773c3dcf8a5bf6d893.
isTRUNCStore seems to be unused for at least 10 years.
|
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
Commit
73840f9f81413f21d3c8fab0ed85917aca2b5d34
by schmeisethread_local support for AIX
Summary: The AIX linker will produce errors on unresolved weak symbols. Change the generated code to not check for the initialization function but just call it and ensure that it always exists. Also, the AIX atexit routine has a different name (and signature) so call it correctly. Update the lit tests to test on AIX appropriately.
Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: hubert.reinterpretcast (Hubert Tong) Differential Revision: https://reviews.llvm.org/D104420
|
 | clang/lib/CodeGen/CodeGenFunction.h |
 | clang/test/CodeGenCXX/cxx11-thread-local.cpp |
 | clang/test/CodeGenCXX/cxx11-thread-local-visibility.cpp |
 | clang/lib/CodeGen/CGDeclCXX.cpp |
 | clang/lib/CodeGen/ItaniumCXXABI.cpp |
 | clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp |
Commit
f46321207f7d28f21d0dfb3635933d1bd84b5e05
by jeremy.morse[InstrRef][X86] Drop debug instruction numbers from x87 instructions
Avoid a crash when using instruction referencing if x87 floating point instructions are used. These instructions are significantly mutated when they're rewritten from referring to registers, to referring to floating-point-stack positions. As a result, their operands are re-ordered, and (InstrRef) LiveDebugValues asserts when it sees a DBG_INSTR_REF referring to a non-reg non-def register operand.
To fix this, drop the instruction numbers, and thus variable locations. This patch adds a helper utility do do that.
Dropping the variable locations is sub-optimal, but applying DBG_VALUEs to the $fp0 and similar registers is dropped on emission too. It seems we've never done well at describing variables that live in x87 registers, at all.
Differential Revision: https://reviews.llvm.org/D105657
|
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
 | llvm/test/DebugInfo/MIR/InstrRef/x86-fp-stackifier-drop-locations.mir |
 | llvm/lib/Target/X86/X86FloatingPoint.cpp |
 | llvm/include/llvm/CodeGen/MachineInstr.h |
Commit
dd5aa657a520adcff84bb6149dd20cd8a2c8c6c6
by amy.kwan1[PowerPC] Implement vector bool/pixel initialization under -faltivec-src-compat=xl
This patch implements the initialization of vectors under the -faltivec-src-compat=xl option introduced in https://reviews.llvm.org/D103615.
Under this option, the initialization of scalar vectors, vector bool, and vector pixel are treated the same, where the initialization value is splatted across the whole vector.
This patch does not change the behaviour of the -faltivec-src-compat=mixed option, which is the current default for Clang.
Differential Revision: https://reviews.llvm.org/D106120
|
 | clang/test/CodeGen/vector-bool-pixel-altivec-init.c |
 | clang/test/CodeGen/vector-bool-pixel-altivec-init-no-parentheses.c |
 | clang/lib/Sema/SemaCast.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
fb0cf0179526f135fab24b84f9dcd1c41f59ec53
by georgakoudis1Revert "[OpenMP] Codegen aggregate for outlined function captures"
This reverts commit e9c7291cb25f071f1a1dfa4049ed9f5a8a217b3e.
Fix failing tests
|
 | clang/test/OpenMP/debug-info-openmp-array.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/distribute_simd_reduction_codegen.cpp |
 | clang/test/OpenMP/sections_lastprivate_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_parallel_debug_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/distribute_private_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/parallel_for_lastprivate_conditional.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp |
 | openmp/libomptarget/deviceRTLs/common/src/support.cu |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_codegen.cpp |
 | clang/test/OpenMP/parallel_sections_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_codegen.cpp |
 | clang/test/OpenMP/nvptx_parallel_for_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/debug-info-complex-byval.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp |
 | clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp |
 | clang/test/OpenMP/nvptx_data_sharing.cpp |
 | clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/reduction_compound_op.cpp |
 | clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | openmp/libomptarget/utils/generate_microtask_cases.py |
 | clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp |
 | clang/test/OpenMP/sections_reduction_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp |
 | clang/test/OpenMP/cancel_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_codegen.cpp |
 | clang/test/OpenMP/task_codegen.cpp |
 | clang/test/OpenMP/vla_crash.c |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp |
 | clang/test/OpenMP/for_lastprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp |
 | clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp |
 | openmp/libomptarget/deviceRTLs/common/generated_microtask_cases.gen |
 | clang/test/OpenMP/parallel_for_linear_codegen.cpp |
 | clang/test/OpenMP/unroll_codegen_parallel_for_factor.cpp |
 | clang/test/OpenMP/parallel_private_codegen.cpp |
 | clang/test/OpenMP/parallel_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/parallel_for_codegen.cpp |
 | clang/test/OpenMP/for_private_codegen.cpp |
 | clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp |
 | clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp |
 | clang/test/OpenMP/task_if_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp |
 | clang/test/OpenMP/parallel_master_codegen.cpp |
 | clang/test/OpenMP/sections_private_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/parallel_reduction_codegen.cpp |
 | clang/test/OpenMP/single_codegen.cpp |
 | clang/test/OpenMP/target_teams_thread_limit_codegen.cpp |
 | clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp |
 | clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp |
 | clang/test/OpenMP/target_map_codegen_03.cpp |
 | clang/test/OpenMP/parallel_codegen.cpp |
 | clang/test/OpenMP/sections_reduction_task_codegen.cpp |
 | clang/test/OpenMP/tile_codegen.cpp |
 | clang/test/OpenMP/nvptx_teams_codegen.cpp |
 | clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp |
 | clang/test/OpenMP/parallel_for_simd_aligned_codegen.cpp |
 | clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_codegen.cpp |
 | clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp |
 | clang/test/OpenMP/parallel_firstprivate_codegen.cpp |
 | clang/test/OpenMP/openmp_win_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp |
 | clang/test/OpenMP/nvptx_allocate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp |
 | clang/test/CodeGenCXX/observe-noexcept.cpp |
 | clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c |
 | clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp |
 | clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected |
 | clang/test/OpenMP/nvptx_target_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp |
 | clang/test/OpenMP/distribute_firstprivate_codegen.cpp |
 | clang/test/OpenMP/distribute_lastprivate_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp |
 | clang/test/OpenMP/parallel_master_taskloop_codegen.cpp |
 | clang/test/OpenMP/teams_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp |
 | clang/test/OpenMP/declare_target_codegen_globalization.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp |
 | clang/test/OpenMP/task_in_reduction_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_reduction_codegen.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp |
 | clang/test/OpenMP/target_codegen_global_capture.cpp |
 | clang/test/OpenMP/teams_private_codegen.cpp |
 | clang/test/OpenMP/for_linear_codegen.cpp |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/test/OpenMP/target_teams_distribute_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp |
 | clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp |
 | clang/test/OpenMP/for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp |
 | clang/test/OpenMP/target_teams_num_teams_codegen.cpp |
 | clang/test/OpenMP/target_parallel_if_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp |
 | clang/test/OpenMP/taskgroup_codegen.cpp |
 | clang/test/OpenMP/for_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp |
 | clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp |
 | clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp |
 | clang/test/OpenMP/remarks_parallel_in_target_state_machine.c |
 | clang/test/OpenMP/target_parallel_codegen.cpp |
 | clang/test/OpenMP/cancellation_point_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_codegen.cpp |
 | clang/lib/CodeGen/CodeGenFunction.h |
 | clang/test/OpenMP/distribute_simd_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_collapse_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp |
 | clang/test/OpenMP/nvptx_parallel_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/teams_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/sections_firstprivate_codegen.cpp |
 | clang/test/OpenMP/taskloop_in_reduction_codegen.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/single_firstprivate_codegen.cpp |
 | clang/test/OpenMP/target_parallel_for_codegen.cpp |
 | clang/test/OpenMP/target_parallel_for_debug_codegen.cpp |
 | clang/test/OpenMP/distribute_codegen.cpp |
 | clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp |
 | clang/test/OpenMP/for_reduction_codegen_UDR.cpp |
 | clang/test/OpenMP/target_teams_map_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp |
 | clang/test/OpenMP/target_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp |
 | clang/test/OpenMP/distribute_simd_private_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp |
 | clang/test/OpenMP/parallel_reduction_task_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_private_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp |
 | clang/test/OpenMP/target_parallel_num_threads_codegen.cpp |
 | clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_private_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp |
 | clang/test/OpenMP/single_private_codegen.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp |
 | clang/test/OpenMP/nvptx_lambda_capturing.cpp |
 | clang/test/OpenMP/parallel_copyin_codegen.cpp |
 | clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp |
 | clang/test/OpenMP/for_reduction_codegen.cpp |
 | clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp |
Commit
e574fd9d524dd7e14be0f024c9a3e6ae68c983ba
by Matthew.ArsenaultAArch64/GlobalISel: Cleanup unnecessary size checks in call lowering
The CCValAssign types should now be accurate, so these are no longer necessary.
|
 | llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp |
Commit
77bb82d068568a950f196e62beaa88fb08c57232
by kai.wang[Clang][RISCV] Support half-precision floating point for RVV intrinsics.
Use _Float16 as the half-precision floating point type. Define a new type specifier 'x' for the _Float16 type.
Differential Revision: https://reviews.llvm.org/D105001
|
 | clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfadd.c |
 | clang/lib/AST/ASTContext.cpp |
 | clang/utils/TableGen/RISCVVEmitter.cpp |
 | clang/include/clang/Basic/Builtins.def |
 | clang/lib/Basic/Targets/RISCV.h |
 | clang/include/clang/Basic/riscv_vector.td |
 | clang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c |
Commit
7f67263d56a0f5c1ebc9f576502f667d7d34c685
by dvyukovtsan: remove duplicate arch switch in buildgo.sh
For some reason we have 2 switches on arch and add half of arch flags in one place and half in another. Merge these 2 switches.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D106274
|
 | compiler-rt/lib/tsan/go/buildgo.sh |
Commit
ad424cf1ed2a191b3e93f60ca591104dbf4b79a2
by pklausler[flang] Runtime API for data pointers
Define and implement an API for use by lowering to implement operations on pointers.
Differential Revision: https://reviews.llvm.org/D106170
|
 | flang/runtime/allocatable.cpp |
 | flang/runtime/descriptor.h |
 | flang/runtime/pointer.cpp |
 | flang/runtime/misc-intrinsic.cpp |
 | flang/runtime/CMakeLists.txt |
 | flang/runtime/allocatable.h |
 | flang/test/Semantics/offsets01.f90 |
 | flang/runtime/descriptor.cpp |
 | flang/runtime/pointer.h |
Commit
84dfbf5a7797f6a3f786163b77ce020009d6ba4e
by patacca[Polly][Isl] Stop using isl::set::lex_le_set. NFC
This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface.
Changes made: - Stop using `isl::set::lex_le_set`. The official way to do this is to use `isl::map::lex_le_at` - Removed `isl::set::lex_le_set` from `isl-noexceptions.h` - `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/266fea1d3dbd31c23d866eb363fcc8e61e50419f
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D106269
|
 | polly/lib/Analysis/DependenceInfo.cpp |
 | polly/lib/External/isl/include/isl/isl-noexceptions.h |
Commit
9236125ec88f619799879beef5a6d2855c87bced
by Matthew.ArsenaultGlobalISel: Preserve LLT when bitcasting loads and stores
This also avoids improperly legalizing some truncating vector stores.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir |
 | llvm/include/llvm/CodeGen/MachineMemOperand.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir |
Commit
74f0f9a455c55101c0cb2ab36df5abae134fd78d
by konndennsa[LICM] Create LoopNest Invariant Code Motion (LNICM) pass
This patch adds a new pass called LNICM which is a LoopNest version of LICM and a test case to show how LNICM works. Basically, LNICM only hoists invariants out of loop nest (not a loop) to keep/make perfect loop nest. This enables later optimizations that require perfect loop nest.
Reviewed By: Whitney
Differential Revision: https://reviews.llvm.org/D104180
|
 | llvm/test/Transforms/LICM/lnicm.ll |
 | llvm/include/llvm/Transforms/Utils/LoopUtils.h |
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/include/llvm/Transforms/Scalar/LICM.h |
 | llvm/lib/Passes/PassRegistry.def |
Commit
5561ad8b3632ec6ec4ca079e4b396fa6a8944f09
by david.green[ARM] Remove PromotedBitwiseVT for NEON types
This removes the promotion of NEON AND, OR and XOR nodes to v2i32/v4i32, treating them the same as the AArch64 and MVE backends where we just add the relevant patterns for each legal type. This prevents a lot of bitcasts from being added to the DAG, which have the potential to make optimizations more difficult. It does mean adding extra patterns, and some codegen can change due to the types now being legal, not promoted.
Differential Revision: https://reviews.llvm.org/D105588
|
 | llvm/lib/Target/ARM/ARMInstrNEON.td |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/ARM/vector-promotion.ll |
 | llvm/test/CodeGen/ARM/vmov.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
Commit
67d6132463541d5e4cf7483cb3c7b5d95b46ee6d
by Matthew.ArsenaultGlobalISel: Preserve memory types for implicit sret load/stores
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll |
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
Commit
87656a3134c7c03565efca85352a58541ce68789
by gysit[mlir][linalg] Fold TensorCast into PadTensorOp.
Add pattern to fold a TensorCast into a PadTensorOp if the cast removes static size information.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D106278
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
Commit
142e60f40b506faca78a1ec0adb4394703212af8
by llvm-dev[X86] Fix case of IsAfterLegalize argument. NFC.
Pulled out of D106280
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
8c598b77a038c87c1a0e60ce1b3c5e0961c30eda
by llvm-dev[ISD] Add disclaimer comments to AssertSext/Zext/Align opcodes about poison values
As encountered on D106053, we need to be very explicit that the Assertion nodes don't hold true for a poison value (or for specific poisoned vector elements).
Differential Revision: https://reviews.llvm.org/D106257
|
 | llvm/include/llvm/CodeGen/ISDOpcodes.h |
Commit
356300a3510c48f1f446cbdf580294b577435589
by amy.kwan1[NFC][PowerPC] Update builtins-ppc-altivec.c to be run under `-faltivec-src-compat=mixed`
This patch adds the `-faltivec-src-compat=mixed` option to the `builtins-ppc-altivec.c` test.
Currently, the default for `-faltivec-src-compat` is `mixed`. The reason we explicitly specify `mixed` to the RUN lines of this test is because eventually, the default will set to `xl`.
Having the default as `xl` changes the CHECKs of this test slightly, as it reorders some of the `vector bool` and `vector pixel` CHECKs (since under the `xl` option, `vector bool` and `vector pixel` are treated in the same way as other vector scalars). Explicitly specifying `mixed` ensures that we are testing pre-existing Clang behaviour.
Differential Revision: https://reviews.llvm.org/D106282
|
 | clang/test/CodeGen/builtins-ppc-altivec.c |
Commit
59e4e53ead25c5ef0029dbc4df7af7c2fa8d070d
by victor.campos[NewPM] Fix wrong perfect forwardings
Some template functions were missing '&&' in function arguments, therefore these were always taken by value after template instantiation.
This patch adds the double ampersand to introduce proper perfect forwarding.
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D106148
|
 | llvm/include/llvm/IR/PassManager.h |
 | llvm/include/llvm/Analysis/CGSCCPassManager.h |
 | llvm/include/llvm/Transforms/Scalar/LoopPassManager.h |
Commit
9c49195330d75b669048cdb3c522ac17249addeb
by hanchung[mlir][Linalg] Migrate 2D pooling ops from tc definition to yaml definition.
This deletes all the pooling ops in LinalgNamedStructuredOpsSpec.tc. All the uses are replaced with the yaml pooling ops.
Reviewed By: gysit, rsuderman
Differential Revision: https://reviews.llvm.org/D106181
|
 | mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir |
 | mlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir |
 | mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp |
 | mlir/test/python/integration/dialects/linalg/opsrun.py |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml |
 | mlir/test/Dialect/Linalg/named-ops.mlir |
 | mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc |
 | mlir/test/Dialect/Linalg/generalize-named-ops.mlir |
Commit
50302feb1d2cce4a9fee38621cc7596b3c66ff02
by craig.topper[SelectionDAG][RISCV] Use isSExtCheaperThanZExt to control whether sext or zext is used for constant folding any_extend.
RISCV would prefer a sign extended constant since that works better with our constant materialization. We have an existing TLI hook we use to control sign extension of setcc operands in type legalization. That hook happens to do the right check we need here, but might be straying from its original purpose. With only RISCV defining this hook in tree, I wasn't sure if it was worth adding another hook with identical behavior.
This is an alternative to D105785 where I tried to handle this in the RISCV backend by not creating ANY_EXTENDs in some places.
Reviewed By: frasercrmck
Differential Revision: https://reviews.llvm.org/D105918
|
 | llvm/test/CodeGen/RISCV/xaluo.ll |
 | llvm/test/CodeGen/RISCV/rv64zbb-zbp.ll |
 | llvm/test/CodeGen/RISCV/alu32.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |