Commit
477b6505fa1d49339c81fbbda937dc8bb5e53cfd
by qshanz[PowerPC] Select the D-Form load if we know its offset meets the requirement
The LD/STD likewise instruction are selected only when the alignment in the load/store >= 4 to deal with the case that the offset might not be known(i.e. relocations). That means we have to select the X-Form load for %0 = load i64, i64* %arrayidx, align 2 In fact, we can still select the D-Form load if the offset is known. So, we only query the load/store alignment when we don't know if the offset is a multiple of 4.
Reviewed By: jji, Nemanjai
Differential Revision: https://reviews.llvm.org/D93099
|
 | llvm/lib/Target/PowerPC/PPCInstr64Bit.td |
 | llvm/test/CodeGen/PowerPC/unal4-std.ll |
 | llvm/test/CodeGen/PowerPC/memcmp-mergeexpand.ll |
 | llvm/test/CodeGen/PowerPC/store-combine.ll |
 | llvm/test/CodeGen/PowerPC/unaligned.ll |
 | llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll |
 | llvm/test/CodeGen/PowerPC/ldst-align.ll |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/test/CodeGen/PowerPC/pr45186.ll |
Commit
8c1f2d15b826591cdf6bd6b468b8a7d23377b29e
by richardFollowing up on PR48517, fix handling of template arguments that refer to dependent declarations.
Treat an id-expression that names a local variable in a templated function as being instantiation-dependent.
This addresses a language defect whereby a reference to a dependent declaration can be formed without any construct being value-dependent. Fixing that through value-dependence turns out to be problematic, so instead this patch takes the approach (proposed on the core reflector) of allowing the use of pointers or references to (but not values of) dependent declarations inside value-dependent expressions, and instead treating template arguments as dependent if they evaluate to a constant involving such dependent declarations.
This ends up affecting a bunch of OpenMP tests, due to OpenMP imprecisely handling instantiation-dependent constructs, bailing out early instead of processing dependent constructs to the extent possible when handling the template.
|
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/test/OpenMP/distribute_dist_schedule_messages.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_messages.cpp |
 | clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp |
 | clang/lib/AST/TemplateBase.cpp |
 | clang/test/OpenMP/target_parallel_for_simd_collapse_messages.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaTemplateInstantiate.cpp |
 | clang/test/OpenMP/target_update_from_messages.cpp |
 | clang/test/OpenMP/teams_distribute_simd_dist_schedule_messages.cpp |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/lib/AST/ComputeDependence.cpp |
 | clang/lib/AST/Expr.cpp |
 | clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_messages.cpp |
 | clang/test/SemaCXX/warn-unused-lambda-capture.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_messages.cpp |
 | clang/test/OpenMP/task_messages.cpp |
 | clang/test/SemaTemplate/temp_arg_nontype_cxx17.cpp |
 | clang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp |
 | clang/test/OpenMP/target_update_to_messages.cpp |
 | clang/include/clang/AST/Expr.h |
 | clang/test/OpenMP/target_teams_distribute_dist_schedule_messages.cpp |
 | clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_messages.cpp |
 | clang/include/clang/AST/TemplateBase.h |
 | clang/lib/AST/ExprCXX.cpp |
 | clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_messages.cpp |
 | clang/test/OpenMP/target_simd_collapse_messages.cpp |
 | clang/test/OpenMP/distribute_parallel_for_simd_dist_schedule_messages.cpp |
 | clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp |
 | clang/test/OpenMP/distribute_parallel_for_dist_schedule_messages.cpp |
 | clang/test/OpenMP/teams_distribute_dist_schedule_messages.cpp |
 | clang/lib/Sema/SemaTemplate.cpp |
 | clang/test/OpenMP/distribute_simd_dist_schedule_messages.cpp |
Commit
caeb56503ec897c7244cff0657c11e87d2644f82
by jan_svoboda[clang][cli] Convert Analyzer option string based options to new option parsing system
Depends on D84185
Reviewed By: dexonsmith
Original patch by Daniel Grumberg.
Differential Revision: https://reviews.llvm.org/D84186
|
 | clang/include/clang/Driver/Options.td |
 | llvm/include/llvm/Option/OptParser.td |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h |
Commit
2d9ae1d217890639518252ee1f39c9cc759749ef
by sivachandra[libc][NFC] Use `#include <math.h>` in utils/FPUtil/ManipulationFunctions.h.
This reverts commit 352cba2441c6c4e00f067c9c68358cc0a6a5fffb. "add back math.h #include utils/FPUtil/ManipulationFunctions.h".
Using `<math.h>` correct so downstream setup should be fixed.
|
 | libc/utils/FPUtil/ManipulationFunctions.h |
Commit
f4511aec2bf482f2ae5bbd14138a229b72c41c80
by jan_svoboda[clang][cli] Port HeaderSearch simple string options to new option parsing system
Depends on D84669
Reviewed By: Bigcheese
Original patch by Daniel Grumberg.
Differential Revision: https://reviews.llvm.org/D84670
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/Options.td |