Commit
cc3b5590d2a72ab86d58151c4457e7a7fcc89427
by arsenm2GlobalISel: Minor cleanups
|
 | llvm/lib/CodeGen/GlobalISel/CallLowering.cpp |
Commit
37889786b040bd2bc48e5a01c6b92de777564a8f
by pavelRevert "[lldb] Fix TestSettings.test_pass_host_env_vars on windows"
This reverts commit because of test failures in TestHelloWorld.
It seems that this test (specifically running "ls" as a platform shell command) depended on the implicit passing of the host environment.
The fix should be fairly simple (inherit the environment explicitly), but it may take me a while to figure where exactly to do that. Revert while I am figuring that out.
|
 | lldb/source/Host/windows/ProcessLauncherWindows.cpp |
 | lldb/test/API/commands/settings/TestSettings.py |
Commit
bdf77209b98ee6c9bb56bbfa8498a54492ccb8b9
by gchatelet[Alignment][NFC] Use Align version of getMachineMemOperand
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: jyknight, sdardis, nemanjai, hiraditya, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, jfb, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77059
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/lib/Target/X86/X86InstructionSelector.cpp |
 | llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/Target/SystemZ/SystemZInstrBuilder.h |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/Target/XCore/XCoreInstrInfo.cpp |
 | llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp |
 | llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp |
 | llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp |
 | llvm/lib/Target/Sparc/SparcInstrInfo.cpp |
 | llvm/unittests/CodeGen/MachineInstrTest.cpp |
 | llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp |
 | llvm/lib/Target/MSP430/MSP430InstrInfo.cpp |
 | llvm/lib/Target/X86/X86CallLowering.cpp |
 | llvm/lib/Target/X86/X86InstrBuilder.h |
 | llvm/lib/Target/XCore/XCoreFrameLowering.cpp |
 | llvm/lib/Target/X86/X86FastISel.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/Mips/MipsCallLowering.cpp |
Commit
1a1bb876dba41066f6e9a273c24fad04e0f9f2da
by gabor.marton[analyzer] Add core.CallAndMessage to StdCLibraryFunctionArgsChecker's dependency
Reviewers: Szelethus, NoQ
Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, Charusso, steakhal, ASDenysPetrov, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77061
|
 | clang/include/clang/StaticAnalyzer/Checkers/Checkers.td |
 | clang/test/Analysis/analyzer-enabled-checkers.c |
Commit
ece79f47083babcabde3700c67b90ef19967a5b3
by Yuanfang Chen[X86] make sure POP has implicit def/use of stack pointer when materializing 8-bit immediates for minsize
Summary: Otherwise PostRA list scheduler may reorder instruction, such as
schedule this ''' pushq $0x8 pop %rbx lea 0x2a0(%rsp),%r15 ''' to ''' pushq $0x8 lea 0x2a0(%rsp),%r15 pop %rbx ''' by mistake. The patch is to prevent this to happen by making sure POP has implicit use of SP.
Reviewers: craig.topper
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77031
|
 | llvm/test/CodeGen/X86/materialize.ll |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
Commit
2d19270efcf01672c8eaab1ccb0e5b89ea953cc9
by maskray[ELF][test] Improve linkerscript/linkorder.s
|
 | lld/test/ELF/linkerscript/linkorder.s |
Commit
32c9efb423035ef7c5db6cb6e7b68ac935a8d15b
by Louis Dionne[libc++] Add support for a new keyword ADDITIONAL_COMPILE_FLAGS
This allows adding compilation flags for a single test, which can help eliminate some .sh.cpp tests and some custom handling in the libc++ test format.
It also works around the issue that .sh.cpp substitutions are _not_ equivalent to the actual compiler command lines used to compile tests, since the compiler flags can be modified in local lit configurations, and substitutions are frozen at that point. For example using %{compile} in a .sh.cpp test in the coroutines subdirectory will not include the -fcoroutines-ts flag, which is added in the local lit config, because the %{compile} substitution is created long before we add -fcoroutines-ts to the compiler flags (in the lit.local.cfg for coroutines).
|
 | libcxx/test/libcxx/selftest/test.arc.pass.mm |
 | libcxx/test/libcxx/selftest/test.arc.fail.mm |
 | libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp |
 | libcxx/test/libcxx/type_traits/is_pointer.arc.pass.mm |
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp |
Commit
094b11c3ab41f44296f11fa607509776e757e054
by Louis Dionne[libc++] Fix wrong default value for LIBCXX_ENABLE_ASSERTIONS in documentation
It's set to OFF by default at libcxx/CMakeLists.txt:73.
Differential Revision: https://reviews.llvm.org/D76905
|
 | libcxx/docs/BuildingLibcxx.rst |
Commit
673e81eee4fa3ffa38736f1063e6c4fa2d9278b0
by maskray[ELF] Allow SHF_LINK_ORDER and non-SHF_LINK_ORDER to be mixed
Currently, `error: incompatible section flags for .rodata` is reported when we mix SHF_LINK_ORDER and non-SHF_LINK_ORDER sections in an output section.
This is overconstrained. This patch allows mixed flags with the requirement that SHF_LINK_ORDER sections must be contiguous. Mixing flags is used by Linux aarch64 (https://github.com/ClangBuiltLinux/linux/issues/953)
.init.data : { ... KEEP(*(__patchable_function_entries)) ... }
When the integrated assembler is enabled, clang's -fpatchable-function-entry=N[,M] implementation sets the SHF_LINK_ORDER flag (D72215) to fix a number of garbage collection issues.
Strictly speaking, the ELF specification does not require contiguous SHF_LINK_ORDER sections but for many current uses of SHF_LINK_ORDER like .ARM.exidx/__patchable_function_entries there has been a requirement for the sections to be contiguous on top of the requirements of the ELF specification.
This patch also imposes one restriction: SHF_LINK_ORDER sections cannot be separated by a symbol assignment or a BYTE command. Not allowing BYTE is a natural extension that a non-SHF_LINK_ORDER cannot be a separator. Symbol assignments can delimiter the contents of SHF_LINK_ORDER sections. Allowing SHF_LINK_ORDER sections across symbol assignments (especially __start_/__stop_) can make things hard to explain. The restriction should not be a problem for practical use cases.
Reviewed By: psmith
Differential Revision: https://reviews.llvm.org/D77007
|
 | lld/test/ELF/linkerscript/linkorder.s |
 | lld/test/ELF/linkorder-err3.s |
 | lld/ELF/OutputSections.cpp |
 | lld/ELF/Writer.cpp |
Commit
dcc410b5cf202e354105df431fad62d2f5f7eac7
by Vedant Kumar[LoopVectorize] Fix crash on "getNoopOrZeroExtend cannot truncate!" (PR45259)
In InnerLoopVectorizer::getOrCreateTripCount, when the backedge taken count is a SCEV add expression, its type is defined by the type of the last operand of the add expression.
In the test case from PR45259, this last operand happens to be a pointer, which (according to llvm::Type) does not have a primitive size in bits. In this case, LoopVectorize fails to truncate the SCEV and crashes as a result.
Uing ScalarEvolution::getTypeSizeInBits makes the truncation work as expected.
https://bugs.llvm.org/show_bug.cgi?id=45259
Differential Revision: https://reviews.llvm.org/D76669
|
 | llvm/test/Transforms/LoopVectorize/pr45259.ll |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
Commit
3cbbded68c260ea5574798ca444b3feecfbbcd70
by sameer.sahasrabuddheIntroduce unify-loop-exits pass.
For each natural loop with multiple exit blocks, this pass creates a new block N such that all exiting blocks now branch to N, and then control flow is redistributed to all the original exit blocks.
The bulk of the tranformation is a new function introduced in BasicBlockUtils that an redirect control flow from a set of incoming blocks to a set of outgoing blocks via a common "hub".
This is a useful workaround for a limitation in the structurizer which incorrectly orders blocks when processing a nest of loops. This pass bypasses that issue by ensuring that each natural loop is recognized as a separate region. Since the structurizer is a region pass, it no longer sees a nest of loops in a single region, and instead processes each "level" in the nesting as a separate region.
The AMDGPU backend provides a new option to enable this pass before the structurizer, which may eventually be enabled by default.
Reviewers: madhur13490, arsenm, nhaehnle
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D75865
|
 | llvm/test/Transforms/UnifyLoopExits/basic.ll |
 | llvm/include/llvm/Transforms/Utils.h |
 | llvm/include/llvm/Transforms/Utils/Local.h |
 | llvm/tools/llc/llc.cpp |
 | llvm/lib/Transforms/Utils/Utils.cpp |
 | llvm/lib/Transforms/Utils/Local.cpp |
 | llvm/lib/Transforms/Scalar/StructurizeCFG.cpp |
 | llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll |
 | llvm/lib/Transforms/Utils/BasicBlockUtils.cpp |
 | llvm/include/llvm/LinkAllPasses.h |
 | llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h |
 | llvm/lib/Transforms/Utils/UnifyLoopExits.cpp |
 | llvm/test/Transforms/UnifyLoopExits/nested.ll |
 | llvm/lib/Transforms/Utils/CMakeLists.txt |
 | llvm/test/CodeGen/AMDGPU/loop_break.ll |
 | llvm/include/llvm/InitializePasses.h |
 | llvm/test/Transforms/UnifyLoopExits/switch.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
 | llvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll |
Commit
81194bfeea7b40b6e8c543bb4ae49b59f590475b
by sidneym[Hexagon] MaxAtomicPromoteWidth and MaxAtomicInlineWidth are not getting set.
Noticed when building llvm's c++ library.
Differential Revision: https://reviews.llvm.org/D76546
|
 | clang/test/Preprocessor/hexagon-predefines.c |
 | clang/lib/Basic/Targets/Hexagon.h |
Commit
7842e7ebbf3b68ebe52592d51aaf7a20f94d047b
by a.bataev[OPENMP50]Add codegen support for array shaping expression in depend clauses.
Implemented codegen for array shaping operation in depend clauses. The begin of the expression is the pointer itself, while the size of the dependence data is the mukltiplacation of all dimensions in the array shaping expression.
|
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/depobj_ast_print.cpp |
 | clang/test/OpenMP/task_codegen.c |
 | clang/test/OpenMP/depobj_codegen.cpp |
Commit
77ce2e21a87768370b97a027e5053b73e8f438a7
by kubak[AMDGPU] Add Relocation Constant Support
Summary: This change adds amdgcn.reloc.constant intrinsic to the amdgpu backend, which will compile into a relocation entry in the resulting elf.
The intrinsics takes a MetadataNode (String) as its only argument, which specifies the symbol name of the relocation entry.
`SelectionDAGBuilder::getValueImpl` is changed to allow metadata operands passed through to ISel.
Author: csyonghe <yonghe@google.com>
Reviewers: tpr, nhaehnle
Reviewed By: nhaehnle
Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76440
|
 | llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp |
 | llvm/test/CodeGen/AMDGPU/amdgpu-reloc-const.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
 | llvm/test/CodeGen/AMDGPU/amdgcn-load-offset-from-reg.ll |
Commit
f273e5c50745d8496846688e3019bc8ef68004e4
by uday[MLIR] Fix permuteLoops utility
Rewrite mlir::permuteLoops (affine loop permutation utility) to fix incorrect approach. Avoiding using sinkLoops entirely - use single move approach. Add test pass.
This fixes https://bugs.llvm.org/show_bug.cgi?id=45328
Depends on D77003.
Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>
Differential Revision: https://reviews.llvm.org/D77004
|
 | mlir/test/Dialect/Affine/loop-permute.mlir |
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/test/lib/Dialect/Affine/CMakeLists.txt |
 | mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp |
Commit
c506adcdf2ca3ba6459e52e09c55868e3b57af46
by thakisMove CLANG_SYSTEMZ_DEFAULT_ARCH to config.h.
Instead of using a global define; see comments on D75914.
While here, port 9c9d88d8b1b to the GN build.
|
 | llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn |
 | clang/CMakeLists.txt |
 | clang/lib/Driver/ToolChains/Arch/SystemZ.cpp |
 | clang/include/clang/Config/config.h.cmake |
Commit
8242509a49e019c0279305d152c7ab2b9cdc2d0d
by llvmgnsyncbot[gn build] Port 3cbbded68c2
|
 | llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn |
Commit
3ea0774b13a538759aa1a68f30130d18ddb0d3f2
by thomasraoux[ConstantFold][NFC] Compile time optimization for large vectors
Optimize the common case of splat vector constant. For large vector going through all elements is expensive. For splatr/broadcast cases we can skip going through all elements.
Differential Revision: https://reviews.llvm.org/D76664
|
 | llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp |
 | llvm/lib/IR/ConstantFold.cpp |
 | llvm/lib/IR/Instructions.cpp |
 | llvm/lib/IR/Constants.cpp |
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/include/llvm/IR/Constants.h |
Commit
20eb719f99c4979838c2995a447452f9fc3d3605
by thakislld: Reduce number of references to undefined printed from 10 to 3.
As of a while ago, lld groups all undefined references to a single symbol in a single diagnostic. Back then, I made it so that we print up to 10 references to each undefined symbol.
Having used this for a while, I never wished there were more references, but I sometimes found that this can print a lot of output. lld prints up to 10 diagnostics by default, and if each has 10 references (which I've seen in practice), and each undefined symbol produces 2 (possibly very long) lines of output, that's over 200 lines of error output.
Let's try it with just 3 references for a while and see how that feels in practice.
Differential Revision: https://reviews.llvm.org/D77017
|
 | lld/COFF/SymbolTable.cpp |
 | lld/test/COFF/undefined-symbol-multi.s |
 | lld/test/ELF/undef-multi.s |
 | lld/ELF/Relocations.cpp |
Commit
23da702d69b1562828cc40d948403fa4be2c5e2a
by Matthew.ArsenaultGlobalISel: Translate llvm.fshl/llvm.fshr
|
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/include/llvm/Target/GenericOpcodes.td |
 | llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir |
 | llvm/include/llvm/Support/TargetOpcodes.def |
Commit
a87ca9e4af5a794054a179688a1d73de0e97d81b
by Matthew.ArsenaultGlobalISel: Add accessor to known bits to CombinerHelper
I need to pass known bits to a target combine matcher (which for some reason aren't methods in a subclass of CombinerHelper?)
|
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
Commit
63aaecd5bebc8cf2cd4b4f2b42183978fd30ddef
by Jonas Devlieghere[lldb/CMake] Make check-lldb-* work for the standalone build.
In order to run check-lldb-* we need the correct map_config directives in llvm-lit. For the standalone build, LLVM doesn't know about LLDB, and the lldb mappings are missing. In that case we build our own llvm-lit, and tell LLVM to use the llvm-lit in the lldb build directory.
Differential revision: https://reviews.llvm.org/D76945
|
 | lldb/test/CMakeLists.txt |
Commit
a235215415dc42da558d52070a2ca6eb9ad10d86
by thakisfix a comment grammar-o
|
 | llvm/utils/gn/build/write_cmake_config.py |
Commit
24485aec4750255574a9a8211b3aef1ce00e83b6
by efriedma[clang analysis] Make mutex guard detection more reliable.
-Wthread-safety was failing to detect certain AST patterns it should detect. Make the pattern detection a bit more comprehensive.
Due to an unrelated bug involving template instantiation, this showed up as a regression in 10.0 vs. 9.0 in the original bug report. The included testcase fails on older versions of clang, though.
Fixes https://bugs.llvm.org/show_bug.cgi?id=45323 .
Differential Revision: https://reviews.llvm.org/D76943
|
 | clang/lib/Analysis/ThreadSafety.cpp |
 | clang/test/SemaCXX/warn-thread-safety-analysis.cpp |
Commit
fa496ce3c6774097080c8a9cb808da56f383b938
by isanbard[Intrinsic] Give "is.constant" the "convergent" attribute
Summary: Code frequently relies upon the results of "is.constant" intrinsics to DCE invalid code paths. We don't want the intrinsic to be made control- dependent on any additional values. For instance, we can't split a PHI into a "constant" and "non-constant" part via jump threading in order to "optimize" the constant part, because the "is.constant" intrinsic is meant to return "false".
Reviewers: wmi, kazu, MaskRay
Reviewed By: kazu
Subscribers: jdoerfert, efriedma, joerg, lebedev.ri, nikic, xbolva00, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75799
|
 | llvm/include/llvm/IR/Intrinsics.td |
 | llvm/test/Transforms/JumpThreading/is_constant.ll |
Commit
4919f2e1c52131508d6b6db38667ff4954117d18
by Matthew.ArsenaultAMDGPU/GlobalISel: Basic legalize rules for G_FSHR
Only handles easy 32-bit cases.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fshr.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir |
Commit
0af6d27e2ee2aa7365449e0f3c0f4727357a9584
by stellaraccidentAdd /bigobj for SPIRV dialect on MSVC.
Summary: This object file has grown beyond the default limit, and elsewhere in LLVM, we seem to be setting this flag as a one-off, so continuing that here.
Reviewers: mravishankar, antiagainst
Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, bader, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77002
|
 | mlir/lib/Dialect/SPIRV/CMakeLists.txt |
Commit
3c371491a2d5023060391ff54b924bf1c7a0c41f
by scott.linderSetup clang-format as an Arcanist linter
Summary: This uses clang-format-diff as a linter for Arcanist.
`arc lint` flow, also run as part of `arc diff` unless skipped with `--nolint`, will now run the linter shell script on the changed files, and prompt the user to accept the suggested changes.
Message when clang-format-diff is not installed: {F6654094}
Example of the noise during code review when clang-format-diff is not installed: https://reviews.llvm.org/differential/changeset/?ref=1115809
Prompt when clang-format-diff is installed and suggests edits: {F6650223}
Reviewers: probinson, scott.linder
Reviewed By: scott.linder
Subscribers: scott.linder, MyDeveloperDay, JonasToth, danilaml, JDevlieghere, dberris, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D49116
|
 | .arclint |
 | utils/arcanist/clang-format.sh |
Commit
defd95ef45171252ee8491729d3f3c863bbfe530
by vince.a.bridgers[analyzer] Fix StdLibraryFunctionsChecker NotNull Constraint Check
Summary: This check was causing a crash in a test case where the 0th argument was uninitialized ('Assertion `T::isKind(*this)' at line SVals.h:104). This was happening since the argument was actually undefined, but the castAs assumes the value is DefinedOrUnknownSVal.
The fix appears to be simply to check for an undefined value and skip the check allowing the uninitalized value checker to detect the error.
I included a test case that I verified to produce the negative case prior to the fix, and passes with the fix.
Reviewers: martong, NoQ
Subscribers: xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, Charusso, ASDenysPetrov, baloghadamsoftware, dkrupp, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77012
|
 | clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp |
 | clang/test/Analysis/std-c-library-functions.c |
Commit
01c857bc83c742a5d82611d3b9c7ace95fdc285e
by riddleriver[mlir] Update all dialects docs to use 'dialect-namespace' in the header
|
 | mlir/docs/Dialects/SPIR-V.md |
 | mlir/docs/Dialects/LLVM.md |
 | mlir/docs/Dialects/Standard.md |
 | mlir/docs/Dialects/Linalg.md |
 | mlir/docs/Dialects/Vector.md |
 | mlir/docs/Dialects/Affine.md |
 | mlir/docs/Dialects/GPU.md |
Commit
6f9f4fdd5b0c383e9abebba983360e8f2294f703
by arsenm2CodeGen: Add missing MachineOperand setter
|
 | llvm/include/llvm/CodeGen/MachineOperand.h |
Commit
ced99a1a6368b117384935957e2329ec4ba7784b
by hahnjoFix comment for CLANG_SYSTEMZ_DEFAULT_ARCH
Also move up, next to the other *_DEFAULT_* configurations.
|
 | clang/include/clang/Config/config.h.cmake |
Commit
bab5bcf8fd60c9df3d1517e5ca22109c785016d1
by joker.ephAdd a flag on the context to protect against creation of operations in unregistered dialects
Differential Revision: https://reviews.llvm.org/D76903
|
 | mlir/test/Dialect/Quant/parse-uniform.mlir |
 | mlir/test/IR/invalid.mlir |
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/test/Dialect/Affine/inlining.mlir |
 | mlir/test/Dialect/GPU/ops.mlir |
 | mlir/test/Dialect/GPU/promotion.mlir |
 | mlir/test/IR/pretty-locations.mlir |
 | mlir/test/IR/test-symbol-uses.mlir |
 | mlir/test/IR/wrapping_op.mlir |
 | mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir |
 | mlir/test/Transforms/loop-coalescing.mlir |
 | mlir/test/Dialect/Loops/parallel-loop-fusion.mlir |
 | mlir/test/EDSC/builder-api-test.cpp |
 | mlir/test/mlir-tblgen/op-format.mlir |
 | mlir/test/IR/affine-map.mlir |
 | mlir/test/Dialect/Loops/invalid.mlir |
 | mlir/test/IR/pretty-region-args.mlir |
 | mlir/test/Transforms/canonicalize.mlir |
 | mlir/include/mlir/IR/MLIRContext.h |
 | mlir/test/Transforms/inlining-dce.mlir |
 | mlir/test/Dialect/Affine/ops.mlir |
 | mlir/test/IR/opaque_locations.mlir |
 | mlir/test/Transforms/loop-fusion.mlir |
 | mlir/test/Dialect/Affine/SuperVectorize/compose_maps.mlir |
 | mlir/test/Dialect/Affine/unroll-jam.mlir |
 | mlir/test/IR/region.mlir |
 | mlir/test/Dialect/SPIRV/ops.mlir |
 | mlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir |
 | mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir |
 | mlir/test/IR/locations.mlir |
 | mlir/test/Transforms/constant-fold.mlir |
 | mlir/test/Dialect/Quant/parse-any.mlir |
 | mlir/test/Dialect/Affine/dma-generate.mlir |
 | mlir/test/IR/traits.mlir |
 | mlir/test/Transforms/canonicalize-dce.mlir |
 | mlir/test/Transforms/test-legalizer.mlir |
 | mlir/test/Transforms/pipeline-data-transfer.mlir |
 | mlir/test/Dialect/Affine/slicing-utils.mlir |
 | mlir/test/Dialect/SPIRV/structure-ops.mlir |
 | mlir/test/Dialect/LLVMIR/invalid.mlir |
 | mlir/test/IR/invalid-ops.mlir |
 | mlir/test/Transforms/memref-dataflow-opt.mlir |
 | mlir/include/mlir/Support/MlirOptMain.h |
 | mlir/test/Dialect/Quant/parse-ops-invalid.mlir |
 | mlir/test/IR/test-symbol-rauw.mlir |
 | mlir/test/Transforms/test-inlining.mlir |
 | mlir/test/Transforms/cse.mlir |
 | mlir/test/Dialect/SPIRV/control-flow-ops.mlir |
 | mlir/lib/Support/MlirOptMain.cpp |
 | mlir/test/IR/op-stats.mlir |
 | mlir/test/IR/test-symbol-dce.mlir |
 | mlir/test/Transforms/test-canonicalize.mlir |
 | mlir/tools/mlir-translate/mlir-translate.cpp |
 | mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp |
 | mlir/test/Dialect/Affine/parallelism-detection.mlir |
 | mlir/unittests/IR/OperationSupportTest.cpp |
 | mlir/test/Conversion/GPUToSPIRV/simple.mlir |
 | mlir/test/Dialect/Affine/canonicalize.mlir |
 | mlir/test/IR/print-op-local-scope.mlir |
 | mlir/test/IR/core-ops.mlir |
 | mlir/test/IR/dense-elements-hex.mlir |
 | mlir/test/Transforms/loop-fusion-dependence-check.mlir |
 | mlir/test/IR/parser.mlir |
 | mlir/test/Transforms/location-snapshot.mlir |
 | mlir/test/Dialect/Affine/unroll.mlir |
 | mlir/lib/Analysis/Verifier.cpp |
 | mlir/test/Dialect/Affine/invalid.mlir |
 | mlir/test/Transforms/strip-debuginfo.mlir |
 | mlir/test/Transforms/test-legalizer-full.mlir |
 | mlir/test/Transforms/parallel-loop-collapsing.mlir |
 | mlir/test/Dialect/Affine/loop-tiling.mlir |
 | mlir/test/Dialect/GPU/outlining.mlir |
 | mlir/test/Transforms/single-parallel-loop-collapsing.mlir |
 | mlir/test/Dialect/Quant/quant_region.mlir |
 | mlir/test/IR/module-op.mlir |
 | mlir/test/Transforms/test-legalizer-analysis.mlir |
 | mlir/test/Transforms/parametric-mapping.mlir |
 | mlir/test/Conversion/GPUToNVVM/memory-attrbution.mlir |
 | mlir/test/Dialect/Affine/simplify-affine-structures.mlir |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
Commit
d16ba9b0bd724bfae73ef5c531e724eb46d4ba49
by julian.lettner[lit] Use Python's support for None in array slice indexing
|
 | llvm/utils/lit/lit/main.py |
Commit
9eb1b41811c76eec35c5feafb2fdc781f356bf48
by efriedma[llvm-cov] Improve error message for missing profdata
I got a report recently that a user was having trouble interpreting the meaning of the error message. Hopefully this is more readable; produces something like the following:
error: No such file or directory: Could not read profile data!
Differential Revision: https://reviews.llvm.org/D76796
|
 | llvm/tools/llvm-cov/CodeCoverage.cpp |
 | llvm/test/tools/llvm-cov/misssing-profdata.test |
Commit
de77d2312751514ce9fbf9b0bf11cbe93cd486f9
by sbc[ADT] Allow empty string in StringSet
Also add a test case to wasm-ld that asserts without this change. Internally wasm-ld builds a StringMap of exported functions and it seems like allowing empty string in the set is preferable to adding checks.
This assert looks like it was most likely just a historical accident. It started life here purely to support InputLanguagesSet:
eeac27e38c5c567d63bbfa5410620d955696491b
Then got extracted here:
e57a4033385c5976cbb17af1e962b1224a61183b
Then got moved to AST here
5c48bae209bcbd261886f63abac695b1e30544e6
With the `InLang` paramater name still intact which suggested is InputLanguagesSet origins.
Differential Revision: https://reviews.llvm.org/D74589
|
 | llvm/include/llvm/ADT/StringSet.h |
 | llvm/unittests/ADT/StringSetTest.cpp |
Commit
f2fbdf76d8d07f6a0fbd97825cbc533660d64a37
by spatel[InstCombine] do not exclude min/max from icmp with casted operand fold
InstCombine has a mess of logic that tries to preserve min/max patterns, but AFAICT, this one is not necessary because we can always narrow the corresponding select in this sequence to match the narrow compare.
The biggest danger for this patch is inducing infinite looping or assert from exceeding max iterations. If any bots hit that in the vicinity of this commit, this is the likely patch to blame.
|
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
 | llvm/test/Transforms/InstCombine/adjust-for-minmax.ll |
 | llvm/test/Transforms/InstCombine/select_meta.ll |
Commit
111c932855449b1810766f468b968622739903b5
by joker.ephFix test: add `-allow-unregistered-dialect` to Affine/loop-permute.mlir test (missed during rebase)
|
 | mlir/test/Dialect/Affine/loop-permute.mlir |
Commit
4243bd494d67b0a8048ee9719e27778a3743838a
by daan[InstCombine] Update assertions in InstCombine test; NFC
|
 | llvm/test/Transforms/InstCombine/ExtractCast.ll |
Commit
4151f2d04ad8d829e16b83be734908fc38f977e9
by Jonas DevlieghereRe-land "[FileCollector] Add a method to add a whole directory and it contents."
Extend the FileCollector's API with addDirectory which adds a directory and its contents to the VFS mapping.
Differential revision: https://reviews.llvm.org/D76671
|
 | llvm/unittests/Support/FileCollectorTest.cpp |
 | llvm/lib/Support/FileCollector.cpp |
 | llvm/include/llvm/Support/FileCollector.h |
Commit
fe5cb1c25fd6c07bbe3c0c698f36b74e6d04946f
by ditalianoRevert "[lldb] Make Fix-Its also apply to top-level expressions"
This reverts commit 83c81c0a469482888482983c302c09c02680ae7c as it broke the macOS lldb bots.
|
 | lldb/test/API/commands/expression/fixits/TestFixIts.py |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp |
Commit
273b0d776605b1ece53844487b6f2bde1953b1b5
by daanRevert "[InstCombine] Update assertions in InstCombine test; NFC"
This reverts commit 4243bd494d67b0a8048ee9719e27778a3743838a.
|
 | llvm/test/Transforms/InstCombine/ExtractCast.ll |
Commit
10f633db86b523da17a820098e33f0caf70dbada
by ditaliano[TypeSystemClang] Add missing case in a switch. NFC'ish.
|
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp |
Commit
55ed09d32e2602eba1dbb8aba1985246739c3909
by ditalianoRevert "[lldb] Make TestExprDiagnostics.py pass again after enabling Fix-Its in test"
This reverts commit 502a06fcdafa637a9890da16c2734bc1a36010f6 as it breaks the macOS bots. Raph will take a look and re-commit.
|
 | lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py |
Commit
42d5609809836aceff41f78ab652a882d4982260
by arsenm2AMDGPU/GlobalISel: Start handling _L to _LZ optimization
We currently don't have a way to map to the equivalent intrinsic opcode, so track immediate 0s in place of the address for the selection to know to change the final opcode.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll |
Commit
2641ba52a9c66d1d83e25646228a2574f3c22773
by arsenm2AMDGPU/GlobalISel: Round up image operations with 5, 6 or 7 addresses
The instruction definitions are missing for these register types, so round up to 8 like the DAG.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll |
Commit
a4f74f377b7c42d38a230a19996e3a7fa5a328c7
by a.bataev[OPENMP50]Do not imply lvalue as base expression in array shaping expression.
We should not assume that the base expression in the array shaping operation is an lvalue of some form, it may be an rvalue.
|
 | clang/test/OpenMP/task_codegen.c |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
50f7153ddb6e6dabcac6d16c8c908f1708f60d01
by ditalianoRevert "[lldb][NFC] Refactor Fix-It filter for warnings"
This reverts commit 11a5caee2aeae2546213366e7fc54095bb8163b9 as it broke the bots.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp |
Commit
751d5332bd63d93de64f4ada0fc6a8f5ab01de66
by francesco.petrogalli[llvm][IR][CastInst] Update `castIsValid` for scalable vectors.
Reviewers: sdesmalen
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76738
|
 | llvm/lib/IR/Instructions.cpp |
 | llvm/unittests/IR/InstructionsTest.cpp |
Commit
cee65d51fe05f10d4286ed3288f6ccfe2a27dc83
by jay.foadAMDGPU: Implement getMemcpyLoopLoweringType
Summary: Based on a patch by Matt Arsenault.
Reviewers: rampitec, kerbowa, nhaehnle, arsenm
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77057
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll |
Commit
075b610403a7d151ee9056aa490233bcd4248718
by ditalianoRecommit "[lldb] Make TestExprDiagnostics.py pass again after enabling Fix-Its in test"
This reverts commit 55ed09d32e2602eba1dbb8aba1985246739c3909 as it was not responsible for breaking the bots. Sorry.
|
 | lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py |
Commit
06bb7df81c0ba01f7efab76779e2eb7d76615e3d
by ditalianoRecommit "[lldb] Make Fix-Its also apply to top-level expressions""
This reverts commit fe5cb1c25fd6c07bbe3c0c698f36b74e6d04946f as it was not responsible for breaking the bots. Sorry.
|
 | lldb/test/API/commands/expression/fixits/TestFixIts.py |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp |
Commit
570a578e46c8290a7f28b1602dadea750e147928
by arsenm2AMDGPU: Account for dmask when computing image mem size
Only the number of elements in the dmask will really be accessed.
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll |
Commit
48eda37282dbe81be5507cdacf7ff0ab7e059e72
by arsenm2AMDGPU/GlobalISel: Start selecting image intrinsics
Does not handled atomics yet.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.d16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.ll |
Commit
bcb643c8af0584f1eef864ba7cbfd4341270e136
by arsenm2AMDGPU/GlobalISel: Handle image atomics
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.atomic.dim.a16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll |
Commit
b27d255e1e40bc065e68e39c6e1eaf3a5a16f005
by arsenm2AMDGPU/GlobalISel: Form CVT_F32_UBYTE0
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-itofp.mir |
 | llvm/lib/Target/AMDGPU/AMDGPUCombine.td |
 | llvm/lib/Target/AMDGPU/AMDGPUGISel.td |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
Commit
19aec8c90492435b1ff59dacd4307f1bbcf6ab1d
by Louis DionneEnforce that libc++ and libc++abi are built in a monorepo layout
We will soon start removing technical debt and sharing code between the two directories, so this first step is meant to discover potential places where the libraries are built outside of a monorepo layout. I imagine this could happen as a remnant of the pre-monorepo setup.
This was discussed on the libcxx-dev mailing list and we got overall consensus on the direction. All consumers of libc++ and libc++abi should already be doing so through the monorepo, however it is possible that we catch some stragglers with this patch, in which case it may need to be reverted temporarily.
Differential Revision: https://reviews.llvm.org/D76102
|
 | libcxx/CMakeLists.txt |
 | libcxxabi/CMakeLists.txt |
Commit
db9f0d1ce5819b350293ff272277329e327215be
by arsenm2AMDGPU: Form v_cvt_ubyte* with f16 results
We get 2 conversion instructions anyway. Previously we would get a conversion with SDWA reading from a byte source, which has a larger encoding.
|
 | llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
Commit
5227fa0c72ce55927cf4849160acb00442489937
by daanRecommit "[InstCombine] Update assertions in InstCombine test; NFC"
|
 | llvm/test/Transforms/InstCombine/ExtractCast.ll |
Commit
05b04c685c9c5a5abc2ab9bd160a40c58c684b23
by Louis DionneRecommit "[libc++] NFC: Simplify substitutions by using lit recursive substitutions"
This re-commits cd7f9751c300, which was reverted in 12f6b024f9f5 because it broke the LLVM `check-all` target. This commit addresses the underlying issue by not setting the lit_config.recursiveExpansionLimit parameter of the libc++ test suite, which is otherwise picked up by other test suites in LLVM.
Once we've settled on a fix for the underlying issue with lit_config.recursiveExpansionLimit, we can start using it again in libc++, but for now we can just work around it.
|
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/utils/libcxx/test/config.py |
Commit
d0dd24a381a7ee54cb42201889a0d4533b0f9ffa
by arsenm2AMDGPU/GlobalISel: Fix crashing on weird G_INSERT sources
No test since these cases shouldn't really be getting through the legalizer.
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
Commit
38ddb49e5242920e44a982cff7bbe2e86bd23a69
by Jonas Devlieghere[lldb/Reproducers] Always collect the whole dSYM in the reproducer
The FileCollector in LLDB collects every files that's used during a debug session when capture is enabled. This ensures that the reproducer only contains the files necessary to reproduce. This approach is not a good fit for the dSYM bundle, which is a directory on disk, but should be treated as a single unit.
On macOS LLDB have automatically find the matching dSYM for a binary by its UUID. Having a incomplete dSYM in a reproducer can break debugging even when reproducers are disabled.
This patch adds a was to specify a directory of interest to the reproducers. It is called from SymbolVendorMacOSX with the path of the dSYMs used by LLDB.
Differential revision: https://reviews.llvm.org/D76672
|
 | lldb/test/Shell/Reproducer/TestDSYM.test |
 | lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp |
 | lldb/source/Utility/Reproducer.cpp |
 | lldb/include/lldb/Utility/Reproducer.h |
Commit
51475e4023650c007b77a84cc8606923baa944dc
by maskray[ELF][test] Add linkerscript/linkorder-linked-to.s
Delete relocatable-linkorder.s which is covered.
|
 | lld/test/ELF/relocatable-linkorder.s |
 | lld/test/ELF/linkerscript/linkorder-linked-to.s |
Commit
f0869417652f494a58a882ebd4d86bfcf6cf73ea
by ndesaulniers[SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC
Summary: This code was throwing away the opcode for a boolean, which was then reconstructing the opcode from that boolean. Just pass the opcode, and forget the boolean.
Reviewers: srhines
Reviewed By: srhines
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77100
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
 | llvm/include/llvm/CodeGen/SelectionDAGISel.h |
Commit
b8fc192d42af56b17b7d940e6c226f4969e0d851
by arsenm2Revert "[GISel]: Fix incorrect IRTranslation while translating null pointer types"
This reverts commit b3297ef05179e1fee616b97b1c65b58e4c7fef17.
This change is incorrect. The current semantic of null in the IR is a pointer with the bitvalue 0. It is not a cast from an integer 0, so this should preserve the pointer type.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-tbaa.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll |
 | llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-exceptions.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll |
Commit
cf36f9855a7b8a7e69416b8d20c999a28c73b1b2
by efriedma[SVE][SelectionDAG] Fix dumping of EVTs to use correct API for element count.
This makes "-debug" output for SVE SelectionDAG readable.
|
 | llvm/lib/CodeGen/ValueTypes.cpp |
Commit
63d70ea6a07131587e09914176551f4437187f78
by Jessica Paquette[GlobalISel] Combine (x op 0) -> x for operations with a right identity of 0
Implement identity combines for operations like the following:
``` %a = G_SUB %b, 0 ```
This can just be replaced with %b.
Over CTMark, this gives some minor size improvements at -O3.
Differential Revision: https://reviews.llvm.org/D76640
|
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/include/llvm/Target/GlobalISel/Combine.td |
Commit
5074776de478a114ece3f82668aa1363b2f17c92
by tlively[WebAssembly] Import wasm_simd128.h from Emscripten
Summary: As the WebAssembly SIMD proposal nears stabilization, there is desire to use it with toolchains other than Emscripten. Moving the intrinsics header to clang will make it available to WASI toolchains as well.
Reviewers: aheejin, sunfish
Subscribers: dschuff, mgorny, sbc100, jgravelle-google, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76959
|
 | clang/lib/Headers/wasm_simd128.h |
 | clang/lib/Headers/CMakeLists.txt |
Commit
330873230071ffc2aebc0fe74db55e7a530c2f1b
by richardFix crash if base specifier parsing hits an invalid type annotation.
Also change type annotation representation from ParsedType to TypeResult to make it clearer to consumers that they can represent invalid types.
|
 | clang/lib/Parse/ParseExprCXX.cpp |
 | clang/include/clang/Parse/Parser.h |
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/include/clang/Sema/DeclSpec.h |
 | clang/lib/Parse/ParseObjc.cpp |
 | clang/lib/Parse/ParseExpr.cpp |
 | clang/lib/Parse/ParseDeclCXX.cpp |
 | clang/lib/Parse/Parser.cpp |
 | clang/test/Parser/cxx-class.cpp |
 | clang/lib/Parse/ParseTemplate.cpp |
Commit
764f54bb857b0fbc6742f306b09f640e0043791d
by Yaxun.LiuRename options --cuda-gpu-arch and --no-cuda-gpu-arch
Per discussion
http://lists.llvm.org/pipermail/llvm-dev/2017-February/109930.html
Rename -cuda-gpu-arch and --no-cuda-gpu-arch to --offload-arch and --no-offload-arch.
The original options will be alias to the new options.
Differential Revision: https://reviews.llvm.org/D76987
|
 | clang/lib/Driver/Driver.cpp |
 | clang/include/clang/Driver/Options.td |
Commit
519f5c37962a8b747bf5e6990256a77281fa1d77
by aqjune[LegalizeTypes] Add SoftenFloatRes_FREEZE
Summary: This adds SoftenFloatRes_FREEZE.
Reviewers: bkramer, JamesNagurne, craig.topper, efriedma
Reviewed By: craig.topper
Subscribers: AbigailLinden, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76980
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp |
 | llvm/test/CodeGen/ARM/freeze-soften.ll |
Commit
d5ee72065b9e5d28f89b1200133e80ce60cb99a0
by Jessica Paquette[GlobalISel] Implement identity transforms for x op x -> x
When we have
``` a = G_OR x, x ```
or
``` b = G_AND y, y ```
We can drop the G_OR/G_AND and just use x/y respectively.
Also update arm64-fallback.ll because there was an or in there which hits this transformation.
Differential Revision: https://reviews.llvm.org/D77105
|
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-binop-same-val.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll |
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/include/llvm/Target/GlobalISel/Combine.td |
Commit
c26a352f239ee71a77f3ae09a4c738eee164d738
by thakis[gn build] (manually) ort 5074776de47
|
 | llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn |
Commit
4ce375a8f2eed73832b6384cd1ea0b33606db6fe
by thakis[gn build] minor tweaks to sync script
- only complain about duplicate 'sources' lines if they contain more than 1 elements each (before, 0 and 1 element lists were counted too). In practice, this only has an effect for clang/lib/Headers/BUILD.gn
- make the '# NOSORT' diag actually work. This too only affects clang/lib/Headers/BUILD.gn.
In aggregate, changes to clang/lib/Headers/BUILD.gn still can't be auto-merged, but for a slighly better reason.
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
3f5a5dd295f5655c34feff829b0fd61ab1143710
by thakis[gn build] re-run "gn format" on all .gn and .gni files
|
 | llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/Target/targets.gni |
Commit
4eeb56d08874e1abe46d7f6d1dd492e717b93a35
by qshanz[PowerPC] Don't do the folding if the operand is R0/X0
We have this transformation in PowerPC peephole:
Replace instruction: renamable $x28 = ADDI8 renamable $x7, -8 renamable $x28 = ADD8 killed renamable $x28, renamable $x0 STFD killed renamable $f0, -8, killed renamable $x28 :: (store 8 into %ir._ind_cast99.epil) with: renamable $x28 = ADDI8 renamable $x7, -16 STFDX killed renamable $f0, $x0, killed $x28 :: (store 8 into %ir._ind_cast99.epil)
It is invalid as the '$x0' in STFDX is constant 0, not register r0.
Reviewed By: Nemanjai
Differential Revision: https://reviews.llvm.org/D77034
|
 | llvm/test/CodeGen/PowerPC/fold-frame-offset-using-rr.mir |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
Commit
221fa96cd43cdcb3af5b03d814f38643874bd794
by ataeiFix linalg.generic access of hoisted constants
Summary: Otherwise the added @generic_const_int will fail
Reviewers: nicolasvasilache, rriddle, mravishankar
Subscribers: mehdi_amini, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77109
|
 | mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp |
 | mlir/test/Dialect/Linalg/loops.mlir |
Commit
357a17e298ccd076a9274c9746afd3a9c0a8218e
by julian.lettner[lit] Send back whole lit.Test object from worker process
In previous commits [1,2] I changed worker.py to only send back the test result from the worker process instead of the whole test object. This was a mistake. lit.Test contains fields (e.g., xfials, requires, unsupported) that are only populated when we actually execute the test, but are queried when we report the results in the parent process. This commit essentially reverts the following changes:
[1] a3d2f9b53ac006cb972b61b0dbfcb5babe4356bf [2] 17bb660fb83e869652ac87b145b0e26b708aab60
|
 | llvm/utils/lit/lit/Test.py |
 | llvm/utils/lit/lit/run.py |
 | llvm/utils/lit/lit/worker.py |
Commit
f3c329986cf4349eb45a3e551f936d2b01a03ed5
by julian.lettner[lit] Remove single process mode
Remove the "serial run" abstraction which bypasses Python's `multiprocessing.Pool` and instead directly runs tests without spawning worker processes. This abstraction has not offered the benefits I hoped it would and therefore does not carry its weight.
|
 | llvm/utils/lit/lit/run.py |
 | llvm/utils/lit/lit/main.py |
Commit
1e8900cc828bd62fdcc314283c991080bae4520c
by julian.lettner[lit] Fix test that relied on "single process" mode
The shtest-inject test relied on being executed in "single process" mode and started to fail with a `PicklingError` after it was removed: ``` Can't pickle <class 'lit.TestingConfig.CustomFormat'>: attribute lookup lit.TestingConfig.CustomFormat failed ```
This happened because the test config has to be serialized to the worker process, but apparently the `CustomFormat` class defined inline is not serializable.
This change allows passing the tested functionality (preamble_commands) directly to `lit.formats.ShTest` so we can use it directly in the test.
|
 | llvm/utils/lit/tests/Inputs/shtest-inject/lit.cfg |
 | llvm/utils/lit/tests/shtest-inject.py |
 | llvm/utils/lit/lit/formats/shtest.py |
Commit
ebad678857a94c32ce7b6931e9c642b32d278b67
by wmi[SampleFDO] Port MD5 name table support to extbinary format.
Compbinary format uses MD5 to represent strings in name table. That gives smaller profile without the need of compression/decompression when writing/reading the profile. The patch adds the support in extbinary format. It is off by default but user can choose to enable it.
Note the feature of using MD5 in name table can bring very small chance of name conflict leading to profile mismatch. Besides, profile using the feature won't have the profile remapping support.
Differential Revision: https://reviews.llvm.org/D76255
|
 | llvm/include/llvm/ProfileData/SampleProf.h |
 | llvm/include/llvm/ProfileData/SampleProfReader.h |
 | llvm/test/Transforms/SampleProfile/profile-format.ll |
 | llvm/lib/ProfileData/SampleProfWriter.cpp |
 | llvm/test/Transforms/SampleProfile/Inputs/inline.md5extbinary.afdo |
 | llvm/lib/ProfileData/SampleProf.cpp |
 | llvm/include/llvm/ProfileData/SampleProfWriter.h |
 | llvm/lib/ProfileData/SampleProfReader.cpp |
 | llvm/lib/Transforms/IPO/SampleProfile.cpp |
 | llvm/test/tools/llvm-profdata/roundtrip.test |
 | llvm/tools/llvm-profdata/llvm-profdata.cpp |
 | llvm/unittests/ProfileData/SampleProfTest.cpp |
Commit
339b34266c1b54a9b5ff2f83cfb1da9cd8c9d90a
by me[AVR] Respect the 'interrupt' function attribute
In the past, AVR functions were only lowered with interrupt-specific machine code if the function was defined with the "avr-interrupt" or "avr-signal" calling conventions.
This patch modifies the backend so that if the function does not have a special calling convention, but does have an "interrupt" attribute, that function is interpreted as a function with interrupts.
This also extracts the "is this function an interrupt" logic from several disparate places in the backend into one AVRMachineFunctionInfo attribute.
Bug found by Wilhelm Meier.
|
 | llvm/lib/Target/AVR/AVRMachineFunctionInfo.h |
 | llvm/lib/Target/AVR/AVRRegisterInfo.cpp |
 | llvm/test/CodeGen/AVR/interrupts.ll |
 | llvm/lib/Target/AVR/AVRFrameLowering.cpp |
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
Commit
2a07221cf3029f2b55503e1c3847699eb6090ad6
by craig.topper[SelectionDAG] Add an assert that the input VT and output VT for ISD::FREEZE are the same.
Differential Revision: https://reviews.llvm.org/D77092
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
7b808b105f6aedc4066502b68b71cf205bafa582
by me[AVR] Generalize the previous interrupt bugfix to signal handlers too
|
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
 | llvm/lib/Target/AVR/AVRMachineFunctionInfo.h |
 | llvm/lib/Target/AVR/AVRRegisterInfo.cpp |
 | llvm/lib/Target/AVR/AVRFrameLowering.cpp |
 | llvm/test/CodeGen/AVR/interrupts.ll |
Commit
af3c52d5580fbb47cc88adeec7a928516e4b6cea
by gchatelet[Alignment][NFC] Simplify IRTranslator::getMemOpAlignment
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77078
|
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h |
Commit
d2d6c9f59197bd82ec5bc9c003840f244a70a347
by gchatelet[Alignment][NFC] GlobalIsel Utils inferAlignFromPtrInfo
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: rovka, hiraditya, volkan, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77079
|
 | llvm/lib/CodeGen/GlobalISel/Utils.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/Utils.h |
Commit
bcbd60aeb5fe20136fe79270ac1b8f3936883d78
by djordje.todorovic[Mips] Make MipsBranchExpansion aware of BBIT family of branch
Octeon branches (bbit0/bbit032/bbit1/bbit132) have an immediate operand, so it is legal to have such replacement within MipsBranchExpansion::replaceBranch().
According to the specification, a branch (e.g. bbit0 ) looks like:
bbit0 rs p offset // p is an immediate operand if !rs<p> then branch
Without this patch, an assertion triggers in the method, and the problem has been found in the real example.
Differential Revision: https://reviews.llvm.org/D76842
|
 | llvm/test/CodeGen/Mips/longbranch/long-branch-octeon.ll |
 | llvm/lib/Target/Mips/MipsInstrInfo.h |
 | llvm/lib/Target/Mips/MipsSEInstrInfo.cpp |
 | llvm/lib/Target/Mips/MipsBranchExpansion.cpp |
 | llvm/lib/Target/Mips/MipsSEInstrInfo.h |
Commit
80ef5c56406bf11685c7dcb0038f7ad7a624a742
by gchateletRemove unused variable
|
 | llvm/lib/Target/AVR/AVRFrameLowering.cpp |
Commit
159343cd1965c69233597b36ab27adce8bd34a14
by gchateletFix missing override
|
 | llvm/include/llvm/ProfileData/SampleProfReader.h |
Commit
cdce2fe561eb6e63d77d1d589e521a8e2afb1eef
by gribozavr[Syntax] Remove delayed folding from tree building.
Summary: This patch removes delayed folding and replaces it with forward peeking.
Delayed folding was previously used as a solution to the problem that declaration doesn't have a representation in the AST. For example following code:
``` int a,b; ```
is expressed in the AST as:
``` TranslationUnitDecl |-... |-VarDecl `int a` `-VarDecl `int b` ```
And in the syntax tree we need:
``` *: TranslationUnit `-SimpleDeclaration |-int |-SimpleDeclarator | `-a |-, |-SimpleDeclarator | `-b |-; ```
So in words, we need to create SimpleDeclaration to be a parent of SimpleDeclarator nodes. Previously we used delayed folding to make sure SimpleDeclarations will be eventually created. And in case multiple declarators requested declaration creation, declaration range was extended to cover all declarators.
This design started to be hard to reason about, so we decided to replace it with forward peeking. The last declarator node in the chain is responsible for creating SimpleDeclaration for the whole chain. Range of the declaration corresponds to the source range of the declarator node. Declarator decides whether its the last one by peeking to the next AST node (see `isResponsibleForCreatingDeclaration`).
This patch does following: * Removed delayed folding logic * Tweaks Token.dumpForTests * Moves getQualifiedNameStart inside BuildTreeVisitor * Extracts BuildTreeVisitor.ProcessDeclaratorAndDeclaration * Renames Builder.getDeclRange to Builder.getDeclarationRange and uses the method in all places. * Adds a bunch of tests
Reviewers: gribozavr2
Reviewed By: gribozavr2
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76922
|
 | clang/lib/Tooling/Syntax/Tokens.cpp |
 | clang/lib/Tooling/Syntax/BuildTree.cpp |
 | clang/unittests/Tooling/Syntax/TreeTest.cpp |
Commit
0de874adfbb25f3782543d8e1a2d7e2b0643b6a5
by gchatelet[Alignment][NFC] Transition to inferAlignFromPtrInfo
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77120
|
 | llvm/lib/Target/AArch64/AArch64CallLowering.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/Utils.h |
 | llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp |
 | llvm/lib/Target/ARM/ARMCallLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h |
 | llvm/lib/Target/X86/X86CallLowering.cpp |
Commit
86b40760278e73710564135be8cd9c2c9e7ff080
by shengchen.kan[NFC] Remove unuseful infrastructure
|
 | llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h |
 | llvm/include/llvm/MC/MCObjectStreamer.h |
Commit
581ba35291a658cd01e2cb39f6d415cac89a7656
by kai.wang[RISCV] ELF attribute section for RISC-V.
Leverage ARM ELF build attribute section to create ELF attribute section for RISC-V. Extract the common part of parsing logic for this section into ELFAttributeParser.[cpp|h] and ELFAttributes.[cpp|h].
Differential Revision: https://reviews.llvm.org/D74023
|
 | lld/ELF/InputFiles.cpp |
 | llvm/lib/Support/ARMBuildAttrs.cpp |
 | llvm/include/llvm/Support/ARMAttributeParser.h |
 | llvm/lib/Support/RISCVAttributeParser.cpp |
 | llvm/include/llvm/Support/RISCVAttributes.h |
 | llvm/lib/Object/ELF.cpp |
 | llvm/include/llvm/BinaryFormat/ELF.h |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp |
 | llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp |
 | llvm/lib/Object/ELFObjectFile.cpp |
 | llvm/test/tools/llvm-objdump/RISCV/unknown-arch-attr.test |
 | llvm/include/llvm/Support/ARMBuildAttributes.h |
 | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp |
 | llvm/unittests/Support/ARMAttributeParser.cpp |
 | llvm/test/CodeGen/RISCV/attributes.ll |
 | llvm/test/MC/RISCV/invalid-attribute.s |
 | llvm/include/llvm/Support/ELFAttributeParser.h |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp |
 | llvm/lib/Support/ARMAttributeParser.cpp |
 | llvm/include/llvm/Support/ELFAttributes.h |
 | llvm/test/MC/RISCV/attribute-arch.s |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h |
 | llvm/lib/Support/CMakeLists.txt |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h |
 | llvm/include/llvm/Support/RISCVAttributeParser.h |
 | llvm/lib/Support/ELFAttributes.cpp |
 | llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp |
 | llvm/unittests/Support/ELFAttributeParserTest.cpp |
 | llvm/test/MC/RISCV/attribute-with-insts.s |
 | llvm/lib/ObjectYAML/ELFYAML.cpp |
 | llvm/lib/Support/ELFAttributeParser.cpp |
 | llvm/unittests/Support/RISCVAttributeParserTest.cpp |
 | llvm/lib/Support/RISCVAttributes.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp |
 | llvm/test/tools/llvm-objdump/RISCV/lit.local.cfg |
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/test/MC/RISCV/attribute.s |
 | llvm/unittests/Support/CMakeLists.txt |
Commit
0c9c58ada0afa3e536834a71ac43fa80ae1f0af7
by flo[SCCP] Use constant ranges for casts.
For casts with constant range operands, we can use ConstantRange::castOp.
Reviewers: davide, efriedma, mssimpso
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D71938
|
 | llvm/lib/Transforms/Scalar/SCCP.cpp |
 | llvm/test/Transforms/SCCP/ip-ranges-casts.ll |
Commit
0b6f40da4582c74bf6b000f676d3376177761e4d
by llvmgnsyncbot[gn build] Port 581ba35291a
|
 | llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn |
Commit
5d3a69feca127618d99c262d3805bd5a9a6ca09b
by sebastian.neubauer[AMDGPU] New llvm.amdgcn.ballot intrinsic
Add a new llvm.amdgcn.ballot intrinsic modeled on the ballot function in GLSL and other shader languages. It returns a bitfield containing the result of its boolean argument in all active lanes, and zero in all inactive lanes.
This is intended to replace the existing llvm.amdgcn.icmp and llvm.amdgcn.fcmp intrinsics after a suitable transition period.
Use the new intrinsic in the atomic optimizer pass.
Differential Revision: https://reviews.llvm.org/D65088
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp |
 | llvm/test/Analysis/DivergenceAnalysis/AMDGPU/always_uniform.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll |
 | llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.ll |
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll |
 | llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll |
Commit
c9d5c1959767d17809157a59c99d5132128bab2a
by gchatelet[Alignment][NFC] Transitionning more getMachineMemOperand call sites
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jrtc27, atanasyan, Jim, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77121
|
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/Mips/MipsFastISel.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
 | llvm/lib/Target/AMDGPU/SIFrameLowering.cpp |
 | llvm/test/TableGen/address-space-patfrags.td |
 | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp |
 | llvm/lib/Target/Mips/MipsCallLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp |
 | llvm/lib/Target/AVR/AVRInstrInfo.cpp |
 | llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp |
 | llvm/lib/Target/Mips/MipsInstrInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.cpp |
 | llvm/lib/Target/MSP430/MSP430InstrInfo.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/lib/Target/Mips/MipsInstructionSelector.cpp |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCFastISel.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
 | llvm/lib/Target/Mips/MipsLegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
47107dc3bda1f8c27c70c84f30aa0cdd41786e0d
by dantrushin[Statepoint] Fix StatepointLoweringInfo::GCTransitionArgs initialization
Summary: In method SelectionDAGBuilder::LowerStatepoint, array SI.GCTransitionArgs is initialized from wrong part of ImmutableStatepoint class. We copy gc args instead of transitions args.
Reviewers: reames, skatkov
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77075
|
 | llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
Commit
2c5f43f9ddbb731c56fd84185bb20be7d8db3a50
by david.green[ARM] Fix qdadd operand order
qdadd is defined as sat(Rm + sat(2*Rn)). We had the Rm and Rn switched the wrong way around.
Differential Revision: https://reviews.llvm.org/D77049
|
 | llvm/lib/Target/ARM/ARMInstrInfo.td |
 | llvm/lib/Target/ARM/ARMInstrThumb2.td |
 | llvm/test/CodeGen/ARM/acle-intrinsics-v5.ll |
 | llvm/test/CodeGen/ARM/qdadd.ll |
Commit
d30e9ad34519cb0ec17d411bc103af7bb76da77e
by Raphael IsemannCorrect the duplicate pragma marks in CommandObjectTarget.cpp
Summary: Resolve the two duplicated pragma marks in lldb/source/Commands/CommandObjectTarget.cpp
Reviewers: teemperor
Reviewed By: teemperor
Subscribers: teemperor, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D77096
|
 | lldb/source/Commands/CommandObjectTarget.cpp |
Commit
b6d2212f5276bcf0e5ef6b5dc0c985b72664ae34
by Tom.Weaver[Dexter] Add support for Windows to regression test suite.
This patch addresses the issue of the regression suite not running on windows hardware. It changes the following things:
* add new dexter regression suite command to lit.cfg.py that makes use of the clang-cl_vs2015 and dbgend builder and debuggers.
* sprinkle the new regressionsuite command through the feature and tool tests that require them.
* mark certain problem tests on windows
* [revert fix] fixed darwin regression test failures by adding unsupported line for system-darwin to command tests.
There's a couple of tests that fail (or pass) in unexpected ways on Windows.
Problem tests are both the penalty and perfect expect_watch_type.cpp tests. Type information reporting parity is not possible a this time in dexter due to the nature of how different debuggers report type information back to their users.
reviewers: Orlando
Differential Revision: https://reviews.llvm.org/D76609
|
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp |
 | debuginfo-tests/lit.cfg.py |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp |
 | debuginfo-tests/dexter/feature_tests/subtools/view.cpp |
 | debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp |
Commit
464b9aeafe29104a1a8391f43f91835eeca473b3
by daan[InstCombine] Transform extelt-trunc -> bitcast-extelt
Canonicalize the case when a scalar extracted from a vector is truncated. Transform such cases to bitcast-then-extractelement. This will enable erasing the truncate operation.
This commit fixes PR45314.
reviewers: spatel
Differential revision: https://reviews.llvm.org/D76983
|
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/test/Transforms/InstCombine/ExtractCast.ll |
 | llvm/test/Transforms/InstCombine/trunc-extractelement.ll |
Commit
7a4a98a9c4f39d9c395f5ce587dbbcb5450a9655
by llvm-dev[X86] Move canLowerByDroppingEvenElements earlier to be with matchShuffleWithPACK. NFCI.
Make sure its defined earlier so more shuffle lowering methods can use it.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
98357dee1c6b9eb4233ade012299f50f8657924d
by llvm-dev[X86] Combine concat(palignr,palignr) -> palignr(concat,concat)
combineX86ShufflesRecursively should handle this someday
|
 | llvm/test/CodeGen/X86/x86-interleaved-access.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
b9810988b23c96d1628371868336cb27e2daacca
by gchatelet[Alignment][NFC] Transitionning more getMachineMemOperand call sites
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77127
|
 | llvm/lib/Target/ARC/ARCInstrInfo.cpp |
 | llvm/lib/Target/ARM/ARMFastISel.cpp |
 | llvm/lib/Target/ARM/ARMInstrInfo.cpp |
 | llvm/lib/CodeGen/TargetInstrInfo.cpp |
 | llvm/lib/CodeGen/SelectionDAG/FastISel.cpp |
 | llvm/lib/CodeGen/MIRParser/MIParser.cpp |
 | llvm/lib/Target/ARM/Thumb1InstrInfo.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64FastISel.cpp |
 | llvm/lib/Target/ARM/ARMCallLowering.cpp |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp |
 | llvm/lib/Target/ARM/Thumb2InstrInfo.cpp |
Commit
06c58f11a99a35da5799de8771cafdc47db69a8a
by dantrushin[SCEV] Use backedge SCEV of PHI only if its input is loop invariant
For the PHI node
%1 = phi [%A, %entry], [%X, %latch]
it is incorrect to use SCEV of backedge val %X as an exit value of PHI unless %X is loop invariant. This is because exit value of %1 is value of %X at one-before-last iteration of the loop.
Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D73181
|
 | llvm/test/Analysis/ScalarEvolution/pr44605.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
6aacdd6083d841cd4afb47ba184236844021ac46
by james.henderson[docs] Document coding standard for error and warning messages
In particular, these messages should start with a lower-case letter and should have no trailing period at the end of the last sentence.
See http://lists.llvm.org/pipermail/llvm-dev/2020-March/140178.html for context.
Reviewed by: aaron.ballman, hubert.reinterpretcast, rnk, dblaikie
Differential Revision: https://reviews.llvm.org/D76833
|
 | llvm/docs/CodingStandards.rst |
Commit
0aa9c5429b83df1a5881f066475e2246a02491a5
by james.henderson[lld][ELF][test] Improve deplib.s
The test had a few style issues, and I noticed a hole in the coverage (namely that the search order wasn't tested). Adding cases for the hole in turn meant other cases weren't important.
The .so test case isn't important, since the code is shared code, so I've removed it. Additionally, I've modified the usage of the "bar" directive to show that an unneeded library must still be present, or the link will fail, even though it isn't linked in.
Reviewed by: MaskRay, grimar
Differential Revision: https://reviews.llvm.org/D76851
|
 | lld/test/ELF/Inputs/deplibs-lib_foo.s |
 | lld/test/ELF/Inputs/deplibs-lib_bar.s |
 | lld/test/ELF/deplibs-colon-prefix.s |
 | lld/test/ELF/deplibs.s |
Commit
b4d0384a6cd7c0715f39527b8db2bc0e54add893
by james.henderson[ELF][test] Add test for --gc-sections + many sections
This test covers the case where --gc-sections is used when there are many sections. In particular, it ensures that there is no adverse interaction with common and absolute symbols.
Reviewed by: MaskRay, grimar
Differential Revision: https://reviews.llvm.org/D76003
|
 | lld/test/ELF/many-alloc-sections.s |
Commit
b37543750c766e8edc7e719ecae22b14a1ceed7f
by flo[ValueLattice] Distinguish between constant ranges with/without undef.
This patch updates ValueLattice to distinguish between ranges that are guaranteed to not include undef and ranges that may include undef.
A constant range guaranteed to not contain undef can be used to simplify instructions to arbitrary values. A constant range that may contain undef can only be used to simplify to a constant. If the value can be undef, it might take a value outside the range. For example, consider the snipped below
define i32 @f(i32 %a, i1 %c) { br i1 %c, label %true, label %false true: %a.255 = and i32 %a, 255 br label %exit false: br label %exit exit: %p = phi i32 [ %a.255, %true ], [ undef, %false ] %f.1 = icmp eq i32 %p, 300 call void @use(i1 %f.1) %res = and i32 %p, 255 ret i32 %res }
In the exit block, %p would be a constant range [0, 256) including undef as %p could be undef. We can use the range information to replace %f.1 with false because we remove the compare, effectively forcing the use of the constant to be != 300. We cannot replace %res with %p however, because if %a would be undef %cond may be true but the second use might not be < 256.
Currently LazyValueInfo uses the new behavior just when simplifying AND instructions and does not distinguish between constant ranges with and without undef otherwise. I think we should address the remaining issues in LVI incrementally.
Reviewers: efriedma, reames, aqjune, jdoerfert, sstefan1
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D76931
|
 | llvm/lib/Analysis/LazyValueInfo.cpp |
 | llvm/lib/Analysis/ValueLattice.cpp |
 | llvm/test/Transforms/SCCP/range-and-ip.ll |
 | llvm/test/Transforms/SCCP/range-and.ll |
 | llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp |
 | llvm/include/llvm/Analysis/ValueLattice.h |
 | llvm/test/Transforms/SCCP/phi-cycle.ll |
 | llvm/test/Transforms/CorrelatedValuePropagation/merge-range-and-undef.ll |
 | llvm/include/llvm/Analysis/LazyValueInfo.h |
Commit
2539b4ae4765b14cd7774e801ba12f0a200ef734
by peter.smith[LLD][ELF] Allow empty (.init|.preinit|.fini)_array to be RELRO
The default GNU linker script uses the following idiom for the array sections. I'll use .init_array here, but this also applies to .preinit_array and .fini_array sections.
.init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); }
The C-library will take references to the _start and _end symbols to process the array. This will make LLD keep the OutputSection even if there are no .init_array sections. As the current check for RELRO uses the section type for .init_array the above example with no .init_array InputSections fails the checks as there are no .init_array sections to give the OutputSection a type of SHT_INIT_ARRAY. This often leads to a non-contiguous RELRO error message.
The simple fix is to a textual section match as well as a section type match.
Differential Revision: https://reviews.llvm.org/D76915
|
 | lld/test/ELF/relro-init-fini-script.s |
 | lld/ELF/Writer.cpp |
Commit
6120cb42f7977290fac7a8ae1a7c06fc79beb5dc
by flo[VPlan] Move test strs to variables, silence spurious C4129 (NFC).
This is a speculative fix to silence the spurious C4129 warning that some version of MSVC generate for the raw string literals in the changed files.
Before disabling the warning (D76428), try a potential fix suggested in the review.
|
 | llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp |
 | llvm/unittests/Transforms/Vectorize/VPlanTest.cpp |
Commit
3807079d705fe04c5c3bde8f848ec922b5771f15
by n.james93[clang-tidy] Fix crash in readability-redundant-string-cstr
Summary: Addresses [[ https://bugs.llvm.org/show_bug.cgi?id=45286 | clang-tidy-11: Crash in DynTypedMatcher::matches during readability-redundant-string-cstr check ]]
Reviewers: aaron.ballman, alexfh, gribozavr2
Reviewed By: gribozavr2
Subscribers: xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D76761
|
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-cstr.cpp |
 | clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp |
Commit
229cda968cb22e2c56fbed8e9ddd4c2495f09757
by sdi1600105[LoopTerminology] LCSSA form
Reviewed by: Michael Kruse (Meinersbur)
Differential Revision: https://reviews.llvm.org/D75233
|
 | llvm/docs/LoopTerminology.rst |
 | llvm/docs/Passes.rst |
Commit
05bc588abbc38ad1f8f67994ec3bb606f0aaa983
by Louis Dionne[libc++] Do not rely on the environment to run filesystem tests
Previously, filesystem tests would require LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT to be present in the environment and to match the value provided when compiling, as a macro. This has the problem that it only allows for the filesystem tests to be run on the same machine they are created.
Instead, we create a temporary directory for each test. Technically, this is tricky to do because we're relying on some of the code that we're testing to do this. However, there's no other portable way of creating temporary direcories in C++, so this is difficult to avoid.
Differential Revision: https://reviews.llvm.org/D76731
|
 | libcxx/test/support/filesystem_test_helper.h |
 | libcxx/test/support/filesystem_dynamic_test_helper.py |
 | libcxx/test/CMakeLists.txt |
 | libcxx/utils/libcxx/test/config.py |
Commit
71177ac16801ceced4b7dcdd21b05345416f31df
by sam.mccall[clangd] Support new semanticTokens request from LSP 3.16.
Summary: This is a simpler request/response protocol.
Reference: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.semanticTokens.proposed.ts
No attempt to support incremental formatting (yet).
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76663
|
 | clang-tools-extra/clangd/Protocol.cpp |
 | clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp |
 | clang-tools-extra/clangd/ClangdLSPServer.h |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/test/semantic-tokens.test |
 | clang-tools-extra/clangd/Protocol.h |
 | clang-tools-extra/clangd/test/initialize-params.test |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/SemanticHighlighting.h |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/SemanticHighlighting.cpp |
Commit
fa61b5059a361e52012b2945f408b93674d6318d
by spatel[InstCombine] remove stray auto-generated test comment; NFC
The script now includes extra info about command-line options used when generating its advertisement heading, but we don't want that here. This is a special-case because we have enhanced the check lines (as noted in the 2nd comment line).
|
 | llvm/test/Transforms/InstCombine/select_meta.ll |
Commit
d3a729ab247af45d4929df2a6090db7571b7116f
by Louis Dionne[libc++] Set filesystem test flags in a lit.local.cfg
This reduces the complexity of our already complex global lit configuration, and also avoids cluttering the compilation commands for all tests with things that are only relevant to the filesystem tests.
Differential Revision: https://reviews.llvm.org/D76785
|
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/test/std/input.output/filesystems/lit.local.cfg |
Commit
fb47ffc618eaf0e716eafa7e719fc67bf41cef3b
by Louis Dionne[libc++] Provide a method for adding compiler flags in lit.local.cfg files
That way, local lit configuration files don't have to worry about deep-copying the compiler instance of the test format, which is arguably an implementation detail.
We pass the config to this method even though it is not used by the current test format because this allows replacing the current test format by other test formats that would require the config to add new compile flags.
|
 | libcxx/test/std/experimental/language.support/support.coroutines/lit.local.cfg |
 | libcxx/test/std/experimental/filesystem/lit.local.cfg |
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/test/std/input.output/filesystems/lit.local.cfg |
Commit
b632fe5a363488a377b22e1708c8b57d986d3fd8
by Louis Dionne[libc++] Quote the filesystem static env root in the source files instead of the command line
Otherwise, trying to reproduce a failing filesystem test by copy-pasting the command-line used and running that in the shell won't work, because the shell will eat quoting around the define and we'll end up with a non-stringized path in the .cpp file.
|
 | libcxx/test/std/input.output/filesystems/lit.local.cfg |
 | libcxx/test/support/test_macros.h |
 | libcxx/test/support/filesystem_test_helper.h |
Commit
efe59d6717dcdf7777acb9b7a734e1a520bdf22a
by llvm-dev[X86][SSE] lowerShuffleWithPACK - extend to use chained PACKs for larger truncations
If canLowerByDroppingEvenElements indicates that the shuffle is a N:1 compaction pattern and the inputs are suitably sign/zero extended then we can use a chain of PACKSS/PACKUS to compact.
This helps avoid PSHUFB (and its mask load) for short shuffle chains, shuffle combining will still replace with a PSHUFB if we have enough shuffles as getFauxShuffleMask can recognise PACKSS/PACKUS chains.
|
 | llvm/test/CodeGen/X86/avx-fp2int.ll |
 | llvm/test/CodeGen/X86/psubus.ll |
 | llvm/test/CodeGen/X86/vec-strict-fptoint-256.ll |
 | llvm/test/CodeGen/X86/vector-trunc-packus.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/bitcast-and-setcc-512.ll |
 | llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll |
 | llvm/test/CodeGen/X86/vector-trunc-usat.ll |
 | llvm/test/CodeGen/X86/vec_cast2.ll |
 | llvm/test/CodeGen/X86/vector-trunc-ssat.ll |
 | llvm/test/CodeGen/X86/masked_store_trunc_usat.ll |
 | llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll |
Commit
a9c22739e675ad26093a8e584ab6bbc24f6a7bb3
by Louis Dionne[libc++] Remove incorrect assertion in the filesystem tests
Based on the current discussion in https://llvm.org/PR45307, it seems that it's legitimate for `temp_directory_path()` to return a path with a trailing slash. Since `p.parent_path()` will never contain a trailing slash, comparing it to the result of `temp_directory_path()` will fail depending on whether `temp_directory_path()` returns a trailing slash or not.
|
 | libcxx/test/support/filesystem_test_helper.h |
Commit
154d517bc7d600dbf9a0d6e2554467249370316b
by ehudkatz[ADT] Implement the Waymarking as an independent utility
This is the Waymarking algorithm implemented as an independent utility. The utility is operating on a range of sequential elements. First we "tag" the elements, by calling `fillWaymarks`. Then we can "follow" the tags from every element inside the tagged range, and reach the "head" (the first element), by calling `followWaymarks`.
Differential Revision: https://reviews.llvm.org/D74415
|
 | llvm/include/llvm/ADT/Waymarking.h |
 | llvm/unittests/ADT/CMakeLists.txt |
 | llvm/unittests/ADT/WaymarkingTest.cpp |
Commit
e267dfceebdc2f20060f23b1cb2a5297417f555d
by llvmgnsyncbot[gn build] Port 154d517bc7d
|
 | llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn |
Commit
38619fa7da381b1390f9dc416fe2ed02612483ee
by llvm-devFix enumeral mismatch warning. NFCI.
Don't mix llvm::ISD and llvm::X86ISD.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
7e0e5fa499c79f34f694de3db69bbe4980ebe2b8
by llvm-devRevert rGefe59d6717dcdf7777acb9b7a734e1a520bdf22a "[X86][SSE] lowerShuffleWithPACK - extend to use chained PACKs for larger truncations"
This might be causing an issue on the fuchsia-x86_64-linux buildbot - reverting to see what happens.
|
 | llvm/test/CodeGen/X86/bitcast-and-setcc-512.ll |
 | llvm/test/CodeGen/X86/psubus.ll |
 | llvm/test/CodeGen/X86/vector-trunc-packus.ll |
 | llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll |
 | llvm/test/CodeGen/X86/avx-fp2int.ll |
 | llvm/test/CodeGen/X86/vec-strict-fptoint-256.ll |
 | llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll |
 | llvm/test/CodeGen/X86/vector-trunc-ssat.ll |
 | llvm/test/CodeGen/X86/masked_store_trunc_usat.ll |
 | llvm/test/CodeGen/X86/vector-trunc-usat.ll |
 | llvm/test/CodeGen/X86/vec_cast2.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
b3f13bc165754ba26b93524367521d39deb21073
by grimar[obj2yaml] - Teach tool to dump program headers.
Currently obj2yaml does not dump program headers, this patch teaches it to do that.
Differential revision: https://reviews.llvm.org/D75342
|
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/test/tools/obj2yaml/program-headers.yaml |
 | llvm/test/Object/obj2yaml.test |
Commit
f481d4889378b97eafc338bfa422891d09ca1b38
by paulsson[SystemZ] Improve foldMemoryOperandImpl().
Fold MS(G)RKC -> MS(G)C.
Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D76771
|
 | llvm/lib/Target/SystemZ/SystemZInstrInfo.td |
 | llvm/test/CodeGen/SystemZ/foldmemop-msc.mir |
 | llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp |
 | llvm/lib/Target/SystemZ/SystemZInstrFormats.td |
Commit
665bebb46f54c3fb08247d10bbd8d21609c0fcde
by paulsson[SystemZ] Add isCommutable flag on VFA and VFM.
NFC
Review: Ulrich Weigand
|
 | llvm/lib/Target/SystemZ/SystemZInstrVector.td |
Commit
e26eece1e2e7d7e6fbadb1207afef9b6353b5330
by medismail.bennani[lldb/DWARF] Fix evaluator crash when accessing empty stack.
This patch fixes a crash that happens on the DWARF expression evaluator when trying to access the top of the stack while it's empty.
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
 | lldb/source/Expression/DWARFExpression.cpp |
Commit
34756a1c709d1ef0292413cddaeeef8a21ed2124
by Louis Dionne[libc++] Execute tests using an external shell
This makes it closer to how one would run the tests by hand, and it is also closer to how the SSHExecutor runs the tests remotely. It also allows using shell builtins in .sh.cpp tests when using %{exec}.
|
 | libcxx/utils/run.py |
Commit
31a346cc35c829e207fbf24d8f8f1ee22ca9f140
by andydavis[MLIR][Vector] Add support for TupleGetOp folding through InsertSlicesOp and ExtractSlicesOp.
Summary: Add support for TupleGetOp folding through InsertSlicesOp and ExtractSlicesOp. Vector-to-vector transformations for unrolling and lowering to hardware vectors can generate chains of structured vector operations (InsertSlicesOp, ExtractSlicesOp and ShapeCastOp) between the producer of a hardware vector value and its consumer. Because InsertSlicesOp, ExtractSlicesOp and ShapeCastOp are structured, we can track the location (tuple index and vector offsets) of the consumer vector value through the chain of structured operations to the producer, enabling a much more powerful producer-consumer fowarding of values through structured ops and tuple, which in turn enables a more powerful TupleGetOp folding transformation.
Reviewers: nicolasvasilache, aartbik
Reviewed By: aartbik
Subscribers: grosul1, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76889
|
 | mlir/lib/Dialect/Vector/VectorTransforms.cpp |
 | mlir/test/Dialect/Vector/vector-transforms.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorUtils.h |
 | mlir/lib/Dialect/Vector/VectorUtils.cpp |
Commit
e4a778052e98c6d67f601342a7ca3b3c52ce7fbd
by medismail.bennaniRevert "[lldb/DWARF] Fix evaluator crash when accessing empty stack."
This reverts commit e26eece1e2e7d7e6fbadb1207afef9b6353b5330.
|
 | lldb/source/Expression/DWARFExpression.cpp |
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
Commit
f3a7d790df3357d52c10ec5ef48606944bcf5c6c
by medismail.bennani[lldb/DWARF] Fix evaluator crash when accessing empty stack.
This patch fixes a crash that happens on the DWARF expression evaluator when trying to access the top of the stack while it's empty.
rdar://60512489
Differential Revision: https://reviews.llvm.org/D77108
Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
|
 | lldb/unittests/Expression/DWARFExpressionTest.cpp |
 | lldb/source/Expression/DWARFExpression.cpp |
Commit
eb4663d8c6add351d758748383f1a9fc231e5e64
by maskray[lld][COFF][ELF][WebAssembly] Replace --[no-]threads /threads[:no] with --threads={1,2,...} /threads:{1,2,...}
--no-threads is a name copied from gold. gold has --no-thread, --thread-count and several other --thread-count-*.
There are needs to customize the number of threads (running several lld processes concurrently or customizing the number of LTO threads). Having a single --threads=N is a straightforward replacement of gold's --no-threads + --thread-count.
--no-threads is used rarely. So just delete --no-threads instead of keeping it for compatibility for a while.
If --threads= is specified (ELF,wasm; COFF /threads: is similar), --thinlto-jobs= defaults to --threads=, otherwise all available hardware threads are used.
There is currently no way to override a --threads={1,2,...}. It is still a debate whether we should use --threads=all.
Reviewed By: rnk, aganea
Differential Revision: https://reviews.llvm.org/D76885
|
 | lld/ELF/Options.td |
 | lld/ELF/SyntheticSections.cpp |
 | lld/wasm/Options.td |
 | lld/ELF/Driver.cpp |
 | lld/test/ELF/lto/thinlto.ll |
 | lld/COFF/Options.td |
 | lld/test/wasm/threads.s |
 | llvm/utils/gn/secondary/lld/Common/BUILD.gn |
 | lld/COFF/Driver.cpp |
 | lld/Common/CMakeLists.txt |
 | llvm/include/llvm/Support/Parallel.h |
 | lld/Common/Threads.cpp |
 | llvm/lib/Support/Parallel.cpp |
 | lld/wasm/Driver.cpp |
 | lld/ELF/ICF.cpp |
 | lld/include/lld/Common/Threads.h |
 | lld/test/wasm/lto/thinlto.ll |
 | lld/test/ELF/build-id.s |
 | lld/docs/ld.lld.1 |
 | lld/test/ELF/threads.s |
 | lld/Common/Filesystem.cpp |
 | lld/test/COFF/pdb-globals.test |
Commit
7093b92a136b0696cf9cfc3f9822973ed886be5b
by tyker[AssumeBundles] Preserve Information from Load/Store
Summary: This patch preserve dereferenceable, nonnull and alignment from loads and stores.
Reviewers: jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76759
|
 | llvm/lib/IR/KnowledgeRetention.cpp |
 | llvm/test/IR/assume-builder.ll |
Commit
4aeb7e1ef4cc3df2f93cb18d315af0e9ebd8f2c7
by tyker[AssumeBundles] Preserve information in EarlyCSE
Summary: this patch preserve information from various places in EarlyCSE into assume bundles.
Reviewers: jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76769
|
 | llvm/test/Transforms/EarlyCSE/invariant-loads.ll |
 | llvm/lib/Transforms/Scalar/EarlyCSE.cpp |
 | llvm/test/Transforms/EarlyCSE/invariant.start.ll |
 | llvm/include/llvm/IR/KnowledgeRetention.h |
 | llvm/lib/IR/KnowledgeRetention.cpp |
 | llvm/test/Transforms/EarlyCSE/guards.ll |
Commit
c3ca11771e184f11bf4f48804f056ac699ad7c40
by Louis Dionne[libc++abi] Remove the old testit script
It's not used anymore, we use Lit as a test runner now (and have been for a long time).
|
 | libcxxabi/test/testit |
Commit
998118c3d3bd6a394c1da35f7570cce1a3145ea3
by gchatelet[Alignment][NFC] Deprecate MachineMemOperand::getMachineMemOperand version that takes an untyped alignement.
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77138
|
 | llvm/include/llvm/CodeGen/MachineFunction.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMInstructionSelector.cpp |
Commit
b0cd7b2799ebcac0e456abf60cea2ca421a83945
by flo[SCCP] Limit use of range info for binops to integers for now.
This fixes a crash when building the test suite.
|
 | llvm/test/Transforms/SCCP/ip-ranges-casts.ll |
 | llvm/lib/Transforms/Scalar/SCCP.cpp |
Commit
da7b6fe942fc9bbf535321477d614051d05aee4b
by ravishankarm[mlir][Linalg] Allow tiling of batch dimension for convolution ops with padding.
Existing tiling implementation of Linalg would still work for tiling the batch dimensions of the convolution op.
Differential Revision: https://reviews.llvm.org/D76637
|
 | mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp |
 | mlir/test/Dialect/Linalg/tile_conv_padding.mlir |
Commit
21d9d0855be17220e869ef5bbec2d839fe841840
by saugustineNew symbolizer option to print files relative to the compilation directory.
Summary: New "--relative" option to allow printing files relative to the compilation directory.
Reviewers: jhenderson
Subscribers: MaskRay, rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76733
|
 | llvm/test/tools/llvm-symbolizer/relativenames.s |
 | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp |
 | llvm/docs/CommandGuide/llvm-symbolizer.rst |
Commit
41c135d6d2882ee6592a1c51a0221ef6def79ee4
by douglas.yungFix buildgo.sh script to fix linux build failure due to changes in ad1466f8cbc5.
The above change used a binary literal that is not supported in c++11 mode when using gcc. It was formalized into the c++14 standard and works when using that mode to compile, so change the script to use c++14 instead.
Reviewed by: dvyukov
Differential Revision: https://reviews.llvm.org/D77111
|
 | compiler-rt/lib/tsan/go/buildgo.sh |
Commit
a76e68c9704fb5b3faf25bb8d51e405b5310ff08
by sam.mccall[CodeComplete] Member completion for concept-constrained types.
Summary: The basic idea is to walk through the concept definition, looking for t.foo() where t has the constrained type.
In this patch: - nested types are recognized and offered after :: - variable/function members are recognized and offered after the correct dot/arrow/colon trigger - member functions are recognized (anything directly called). parameter types are presumed to be the argument types. parameters are unnamed. - result types are available when a requirement has a type constraint. These are printed as constraints, except same_as<T> which prints as T.
Not in this patch: - support for merging/overloading when two locations describe the same member. The last one wins, for any given name. This is probably important... - support for nested template members (T::x<int>) - support for completing members of (instantiations of) template template parameters
Reviewers: nridge, saar.raz
Subscribers: mgrang, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73649
|
 | clang/include/clang/Sema/Scope.h |
 | clang/lib/Sema/CodeCompleteConsumer.cpp |
 | clang/lib/Sema/SemaCodeComplete.cpp |
 | clang/test/CodeCompletion/concepts.cpp |
Commit
cba15d1b5c5416402ca47ceec2acbbc62f760228
by v.churavyAdd manually overriding of the darwin SDK version
Summary: When doing cross-compilation from Linux to MacOS we don't have access to have access to `xcodebuild` and therefore need a way to set the SDK version from the outside.
Fixes https://reviews.llvm.org/D68292#1853594 for me.
Reviewers: delcypher, yln
Reviewed By: delcypher
Subscribers: #julialang, mgorny, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D77026
|
 | compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake |
Commit
8b925440d11b64108935f4fceb30d372caa68211
by llvm-dev[X86][SSE] Simplify PTEST/TESTP tests for D76984
We don't need to use an allones for the second operand - test the general case.
|
 | llvm/test/CodeGen/X86/combine-ptest.ll |
 | llvm/test/CodeGen/X86/combine-testpd.ll |
 | llvm/test/CodeGen/X86/combine-testps.ll |
Commit
30436a1ce7f3d2de8aaaa5f559060682a54fd16e
by llvm-dev[X86][SSE] Add additional PTEST/TESTP inversion tests
|
 | llvm/test/CodeGen/X86/combine-ptest.ll |
 | llvm/test/CodeGen/X86/combine-testps.ll |
 | llvm/test/CodeGen/X86/combine-testpd.ll |
Commit
753a3245f7231ffd86b8af02e57da6ceb2ec5669
by rnkMake FunctionDecl::isDefined non-virtual, NFC
This convenience wrapper was made virtual when it was introduced. I see no overrides and no reason for it to be virtual, so make it non-virtual.
|
 | clang/include/clang/AST/Decl.h |
Commit
4799a1745b300710c800e4bfa55c6bb630edd58c
by maskray[llvm-symbolizer] Delete unneeded option name comments. NFC
Follow-up of D76733. The code documents itself.
|
 | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp |
Commit
94d912296de21e965198ba1ddd1ca6714b3e4722
by zhizhouy[NFC] Do not run CGProfilePass when not using integrated assembler
Summary: CGProfilePass is run by default in certain new pass manager optimization pipeline. Assemblers other than llvm as (such as gnu as) cannot recognize the .cgprofile entries generated and emitted from this pass, causing build time error.
This patch adds new options in clang CodeGenOpts and PassBuilder options so that we can turn cgprofile off when not using integrated assembler.
Reviewers: Bigcheese, xur, george.burgess.iv, chandlerc, manojgupta
Reviewed By: manojgupta
Subscribers: manojgupta, void, hiraditya, dexonsmith, llvm-commits, tcwang, llozano
Tags: #llvm, #clang
Differential Revision: https://reviews.llvm.org/D62627
|
 | llvm/test/Other/new-pm-cgprofile.ll |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/include/llvm/Passes/PassBuilder.h |
Commit
7fca0e9797dccf44a1ae43328b94182d2f6188d9
by uday[MLIR] Add simple runner utilities for timing
Add utilities print_flops, rtclock for timing / benchmarking. Add mlir_runner_utils_dir test conf variable.
Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>
Differential Revision: https://reviews.llvm.org/D76912
|
 | mlir/test/lit.cfg.py |
 | mlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir |
 | mlir/test/CMakeLists.txt |
 | mlir/test/lit.site.cfg.py.in |
 | mlir/lib/ExecutionEngine/RunnerUtils.cpp |
Commit
5c2bf577dcd34b0f4a20360d411e410d739b752f
by Jonas Devlieghere[lldb/API] Add missing reproducer instrumentation to GetHostPlatform.
SBPlatform::GetHostPlatform was missing the reproducer instrumentation macros. Fixed by running lldb-instr on SBPlatform.cpp:
$ ./bin/lldb-instr ../llvm-project/lldb/source/API/SBPlatform.cpp
|
 | lldb/source/API/SBPlatform.cpp |
Commit
cb0fa3234daf973c146b25ba8f9a95a40ee189e9
by tykerFix 7093b92a136b0696cf9cfc3f9822973ed886be5b accidently pushed the wrong version of the patch.
|
 | llvm/lib/IR/KnowledgeRetention.cpp |
 | llvm/include/llvm/IR/KnowledgeRetention.h |
Commit
dc817b2dea9f28e22470d1d74956f404fcec4e01
by uday[InstCombine] Deduce attributes for aligned_alloc in InstCombine
Make InstCombine aware of the aligned_alloc library function.
Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>
Depends on D76970.
Differential Revision: https://reviews.llvm.org/D76971
|
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/test/Transforms/InstCombine/malloc-free-delete.ll |
 | llvm/test/Transforms/InstCombine/deref-alloc-fns.ll |
Commit
c726c920e04046da29e403d55aa9c0e466b13959
by ulrich.weigand[SystemZ] Allow %r0 in address context for AsmParser
Registers used in any address (as well as in a few other contexts) have special semantics when a "zero" register is used, which is why the back-end defines extra register classes ADDR32, ADDR64 etc to be used to prevent the register allocator from using %r0 there.
However, when writing assembler code "by hand", you sometimes need to trigger that special semantics. However, currently the AsmParser will reject %r0 in those places. In some cases it may be possible to write that instruction differently - but in others it is currently not possible at all.
This check in AsmParser simply seems overly strict, so this patch just removes the check completely. This brings the behaviour of AsmParser in line with the GNU assembler as well.
Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=45092
|
 | llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp |
 | llvm/test/MC/SystemZ/insn-good.s |
 | llvm/test/MC/SystemZ/insn-bad-z14.s |
 | llvm/test/MC/SystemZ/insn-bad-zEC12.s |
 | llvm/test/MC/SystemZ/insn-bad-z13.s |
 | llvm/test/MC/SystemZ/tokens.s |
 | llvm/test/MC/SystemZ/insn-bad.s |
 | llvm/test/MC/SystemZ/regs-bad.s |
 | llvm/test/MC/SystemZ/insn-bad-z196.s |
Commit
75cfd382201978615cca1c91c2d9f14f8b7af56d
by ditalianoRevert "[lldb/Reproducers] Always collect the whole dSYM in the reproducer"
This reverts commit 38ddb49e5242920e44a982cff7bbe2e86bd23a69 as it breaks the macOS bots.
|
 | lldb/source/Utility/Reproducer.cpp |
 | lldb/include/lldb/Utility/Reproducer.h |
 | lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp |
 | lldb/test/Shell/Reproducer/TestDSYM.test |
Commit
89fe36d08a9ad01f7f5a4a704a6f7382e26b32f9
by Louis Dionne[libc++] Make sure substitutions are expanded inside FILE_DEPENDENCIES
|
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/test/libcxx/selftest/test.file_dependencies.sh.cpp |
Commit
5f9bf3f656146d1987b471f3c1aaf2f13e8c385a
by uday[MLIR][NFC] Move test/Transforms/lower-affine.mlir -> test/Conversion
Move lower-affine.mlir from test/Transforms to test/Conversion/AffineToStandard/. Other related NFC.
Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>
Differential Revision: https://reviews.llvm.org/D77008
|
 | mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp |
 | mlir/docs/Passes.md |
 | mlir/test/Transforms/lower-affine.mlir |
 | mlir/test/Conversion/AffineToStandard/lower-affine.mlir |
Commit
7b06cb4523083206ad79776c80a564cd26bd8326
by Adrian PrantlAdd an opque payload field to lldb::Type (NFC).
Differential Revision: https://reviews.llvm.org/D75562
|
 | lldb/include/lldb/Symbol/Type.h |
 | lldb/source/Symbol/Type.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h |
Commit
38aebe5c04ab4cb3695dc1bcc60b9a7b55215aff
by Louis Dionne[libc++] Move a bunch of tests from .sh.cpp to .pass.cpp
Using the ADDITIONAL_COMPILE_FLAGS annotation, it is possible to move these tests from .sh.cpp to .pass.cpp, making them suitable for running on remote hosts more easily.
|
 | libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp |
 | libcxx/test/libcxx/experimental/language.support/support.coroutines/version.pass.cpp |
 | libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp |
 | libcxx/test/libcxx/numerics/c.math/fdelayed-template-parsing.pass.cpp |
 | libcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.sh.cpp |
 | libcxx/test/libcxx/input.output/filesystems/convert_file_time.sh.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp |
 | libcxx/test/libcxx/experimental/language.support/support.coroutines/version.sh.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp |
 | libcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp |
 | libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp |
 | libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.sh.cpp |
 | libcxx/test/libcxx/numerics/c.math/fdelayed-template-parsing.sh.cpp |
Commit
d1b412ae389e4e30706c326ddec192ffb2e272cf
by jbcoe[clang-format] Correct line breaks in C# generic type constraints
Reviewers: krasimir
Reviewed By: krasimir
Subscribers: cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D77064
|
 | clang/lib/Format/UnwrappedLineParser.cpp |
 | clang/unittests/Format/FormatTestCSharp.cpp |
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/lib/Format/ContinuationIndenter.cpp |
Commit
128c0d037d32c929c58d63fd7f324038430f73ba
by walter erquinigo[intel-pt] Fix existing support in LLDB
Summary: //reviews.llvm.org/D33035 added in 2017 basic support for intel-pt. I plan to improve it and use it to support reverse debugging.
I fixed a couple of issues and now this plugin works again: 1. pythonlib needed to be linked against it for the SB framework. Linking was failing because of this 2. the decoding functionality was broken because it lacked handling for instruction events. It seems old versions of libipt, the actual decoding library, didn't require these, but modern version require it (you can read more here https://github.com/intel/libipt/blob/master/doc/howto_libipt.md). These events signal overflows of the internal PT buffer in the CPU, enable/disable events of tracing, async cpu events, interrupts, etc.
I ended up refactoring a little bit the code to reduce code duplication.
In another diff I'll implement some basic tests.
This is a simple execution of the library:
(lldb) target create "/data/users/wallace/rr-project/a.out" Current executable set to '/data/users/wallace/rr-project/a.out' (x86_64). (lldb) plugin load liblldbIntelFeatures.so (lldb) b main Breakpoint 1: where = a.out`main + 8 at test.cpp:10, address = 0x00000000004007fa (lldb) b test.cpp:14 Breakpoint 2: where = a.out`main + 50 at test.cpp:14, address = 0x0000000000400824 (lldb) r Process 902754 stopped * thread #1, name = 'a.out', stop reason = breakpoint 1.1 frame #0: 0x00000000004007fa a.out`main at test.cpp:10 7 } 8 9 int main() { -> 10 int z = 0; 11 for(int i = 0; i < 10000; i++) 12 z += fun(z); 13
Process 902754 launched: '/data/users/wallace/rr-project/a.out' (x86_64) (lldb) processor-trace start all (lldb) c Process 902754 resuming Process 902754 stopped * thread #1, name = 'a.out', stop reason = breakpoint 2.1 frame #0: 0x0000000000400824 a.out`main at test.cpp:14 11 for(int i = 0; i < 10000; i++) 12 z += fun(z); 13 -> 14 cout << z<< endl; 15 return 0; 16 }
(lldb) processor-trace show-instr-log thread #1: tid=902754 0x7ffff72299b9 <+9>: addq $0x8, %rsp 0x7ffff72299bd <+13>: retq 0x4007ed <+16>: addl $0x1, %eax 0x4007f0 <+19>: leave 0x4007f1 <+20>: retq 0x400814 <+34>: addl %eax, -0x4(%rbp) 0x400817 <+37>: addl $0x1, -0x8(%rbp) 0x40081b <+41>: cmpl $0x270f, -0x8(%rbp) ; imm = 0x270F 0x400822 <+48>: jle 0x40080a ; <+24> at test.cpp:12 0x400822 <+48>: jle 0x40080a ; <+24> at test.cpp:12 ```
Subscribers: mgorny, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D76872
|
 | lldb/tools/intel-features/intel-pt/Decoder.cpp |
 | lldb/tools/intel-features/CMakeLists.txt |
 | lldb/tools/intel-features/intel-pt/Decoder.h |
Commit
28518d9ae39ff5c6044e230d58b6ae28b0252cae
by anna[InlineFunction] Handle return attributes on call within inlined body
Consider a callee function that has a call (C) within it which feeds into the return. When we inline that callee into a callsite that has return attributes, we can backward propagate those attributes to the call (C) within that inlined callee body.
This is safe to do so only if we can guarantee transfer of execution to successor in the window of instructions between return value (i.e. the call C) and the return instruction.
See added test cases.
Reviewed-By: reames, jdoerfert
Differential Revision: https://reviews.llvm.org/D76140
|
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
 | clang/test/CodeGen/movbe-builtins.c |
 | llvm/test/Transforms/Inline/ret_attr_update.ll |
 | clang/test/CodeGen/builtins-systemz-zvector.c |
 | clang/test/CodeGen/rot-intrinsics.c |
 | clang/test/CodeGen/builtins-systemz-zvector2.c |
Commit
08682dcc8631bcbfd68834a7dc352499a0a06af0
by Stanislav.Mekhanoshin[AMDGPU] Define 16 bit VGPR subregs
We have loads preserving low and high 16 bits of their destinations. However, we always use a whole 32 bit register for these. The same happens with 16 bit stores, we have to use full 32 bit register so if high bits are clobbered the register needs to be copied. One example of such code is added to the load-hi16.ll.
The proper solution to the problem is to define 16 bit subregs and use them in the operations which do not read another half of a VGPR or preserve it if the VGPR is written.
This patch simply defines subregisters and register classes. At the moment there should be no difference in code generation. A lot more work is needed to actually use these new register classes. Therefore, there are no new tests at this time.
Register weight calculation has changed with new subregs so appropriate changes were made to keep all calculations just as they are now, especially calculations of register pressure.
Differential Revision: https://reviews.llvm.org/D74873
|
 | llvm/test/CodeGen/AMDGPU/postra-machine-sink.mir |
 | llvm/test/CodeGen/AMDGPU/load-hi16.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.h |
 | llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir |
 | llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.td |
 | llvm/test/CodeGen/AMDGPU/ipra-regmask.ll |
 | llvm/test/CodeGen/AMDGPU/at-least-one-def-value-assert.mir |
Commit
6d20937c29a1a1d67fc5e8caf8538b4aa5614505
by carrot[CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall
The attached test case is simplified from tcmalloc. Both function calls should be optimized as tailcall. But llvm can only optimize the first call. The second call can't be optimized because function dupRetToEnableTailCallOpts failed to duplicate ret into block case2.
There 2 problems blocked the duplication:
1 Intrinsic call llvm.assume is not handled by dupRetToEnableTailCallOpts. 2 The control flow is more complex than expected, dupRetToEnableTailCallOpts can only duplicate ret into its predecessor, but here we have an intermediate block between call and ret.
The solutions:
1 Since CodeGenPrepare is already at the end of LLVM IR phase, we can simply delete the intrinsic call to llvm.assume. 2 A general solution to the complex control flow is hard, but for this case, after exit2 is duplicated into case1, exit2 is the only successor of exit1 and exit1 is the only predecessor of exit2, so they can be combined through eliminateFallThrough. But this function is called too late, there is no more dupRetToEnableTailCallOpts after it. We can add an earlier call to eliminateFallThrough to solve it.
Differential Revision: https://reviews.llvm.org/D76539
|
 | llvm/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll |
 | llvm/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll |
 | llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
Commit
03f43b3aca363e16c45d8733400fd0083b1af4d8
by smeenai[lld] Initial commit for new Mach-O backend
Summary: This is the first commit for the new Mach-O backend, designed to roughly follow the architecture of the existing ELF and COFF backends, and building off work that @ruiu and @pcc did in a branch a while back. Note that this is a very stripped-down commit with the bare minimum of functionality for ease of review. We'll be following up with more diffs soon.
Currently, we're able to generate a simple "Hello World!" executable that runs on OS X Catalina (and possibly on earlier OS X versions; I haven't tested them). (This executable can be obtained by compiling `test/MachO/relocations.s`.) We're mocking out a few load commands to achieve this -- for example, we can't load dynamic libraries, but Catalina requires binaries to be linked against `dyld`, so we hardcode the emission of a `LC_LOAD_DYLIB` command. Other mocked out load commands include LC_SYMTAB and LC_DYSYMTAB.
Differential Revision: https://reviews.llvm.org/D75382
|
 | lld/MachO/OutputSegment.cpp |
 | lld/test/MachO/load-commands.s |
 | lld/tools/lld/lld.cpp |
 | lld/include/lld/Common/Driver.h |
 | lld/test/MachO/segments.s |
 | lld/test/MachO/invalid-executable.s |
 | lld/MachO/CMakeLists.txt |
 | lld/test/MachO/entry-symbol.s |
 | lld/test/MachO/silent-ignore.test |
 | lld/MachO/Config.h |
 | lld/MachO/SymbolTable.h |
 | lld/MachO/InputFiles.h |
 | lld/test/MachO/no-such-file.s |
 | lld/test/MachO/section-headers.s |
 | lld/MachO/Symbols.cpp |
 | lld/MachO/InputSection.h |
 | lld/MachO/Writer.h |
 | lld/MachO/SymbolTable.cpp |
 | lld/MachO/Options.td |
 | lld/MachO/Target.cpp |
 | lld/test/MachO/duplicate-symbol.s |
 | lld/MachO/Driver.cpp |
 | lld/MachO/Driver.h |
 | lld/test/MachO/alignment-too-large.yaml |
 | lld/MachO/Target.h |
 | lld/tools/lld/CMakeLists.txt |
 | lld/MachO/Arch/X86_64.cpp |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/text-segment.s |
 | lld/test/MachO/arch.s |
 | lld/MachO/Symbols.h |
 | lld/test/MachO/relocations.s |
 | lld/MachO/Writer.cpp |
 | lld/CMakeLists.txt |
 | lld/MachO/OutputSegment.h |
Commit
e8f13f4f62f52067cadb55f3c746ccf9d26ee2ce
by benny.kraReplace std::string::find == 0 with StringRef::startswith
This is both more readable and faster. Found by clang-tidy's abseil-string-find-startswith.
|
 | clang/lib/Driver/ToolChains/Arch/AArch64.cpp |
 | lldb/source/Symbol/Variable.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/source/Core/Module.cpp |
 | clang/unittests/Analysis/CloneDetectionTest.cpp |
 | lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
Commit
dacf8d3562b6c3a46f61b325f8ed20b6dac69cde
by efriedma[AArch64][SVE] Add support for fcmp.
This also requires support for boolean "not", so I added boolean logic while I was there.
Differential Revision: https://reviews.llvm.org/D76901
|
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fcmp.ll |
 | llvm/test/CodeGen/AArch64/sve-int-log.ll |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
Commit
7f1ea924c695f3293ff48f662cd1ec5f44bc1ab6
by Amara EmersonAdd a new -fglobal-isel option and make -fexperimental-isel an alias for it.
Since GlobalISel is maturing and is already on at -O0 for AArch64, it's not completely "experimental". Create a more appropriate driver flag and make the older option an alias for it.
Differential Revision: https://reviews.llvm.org/D77103
|
 | clang/include/clang/Basic/DiagnosticDriverKinds.td |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/global-isel.c |
Commit
45b6364e8d74f6038e94b760f017e03740acf725
by maskray[gn build] Port 03f43b3aca36
|
 | llvm/utils/gn/secondary/lld/tools/lld/BUILD.gn |
 | llvm/utils/gn/secondary/lld/MachO/BUILD.gn |
Commit
d26435c1703f1d7f13e8bf78ee390cb7e2490586
by antiagainst[mlir][spirv] Change op doc description autogen separator
This commit changes the separator line for dividing auto-generated docs from spec and manually added appendix from "### Custom assembly form" to "<!-- End of AutoGen section -->". This is in preparation to use the declarative assembly form in MLIR core. We will replace more and more manually written assembly forms to be autogenerated.
Differential Revision: https://reviews.llvm.org/D77158
|
 | mlir/include/mlir/Dialect/SPIRV/SPIRVBitOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVGLSLOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVArithmeticOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td |
 | mlir/utils/spirv/gen_spirv_dialect.py |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td |
 | mlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td |
Commit
11ccad6e879573f75dc8b231351ee23a17e0900f
by richard[docs] Make llvm-addr2line documentation more explicit about which behavior is llvm-addr2line's and which is llvm-symbolizer's.
|
 | llvm/docs/CommandGuide/llvm-addr2line.rst |
Commit
015c6cd47557272bb8b92fbf9f5bd2bcb8fa8989
by Jonas DevlieghereRe-land "[lldb/Reproducers] Always collect the whole dSYM in the reproducer"
The FileCollector in LLDB collects every files that's used during a debug session when capture is enabled. This ensures that the reproducer only contains the files necessary to reproduce. This approach is not a good fit for the dSYM bundle, which is a directory on disk, but should be treated as a single unit.
On macOS LLDB have automatically find the matching dSYM for a binary by its UUID. Having a incomplete dSYM in a reproducer can break debugging even when reproducers are disabled.
This patch adds a was to specify a directory of interest to the reproducers. It is called from SymbolVendorMacOSX with the path of the dSYMs used by LLDB.
Differential revision: https://reviews.llvm.org/D76672
|
 | lldb/test/Shell/Reproducer/TestDSYM.test |
 | lldb/source/Utility/Reproducer.cpp |
 | lldb/include/lldb/Utility/Reproducer.h |
 | lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp |
Commit
07e462526d0cbae40b320e1a4307ce11e197fb0a
by Louis Dionne[libc++] Allow running .sh.cpp tests with SSHExecutors
This commit adds a script that can be used as an %{exec} substitution such that .sh.cpp tests can now run on remote hosts when using the SSHExecutor.
|
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/test/libcxx/strings/basic.string/PR42676.sh.cpp |
 | libcxx/utils/ssh.py |
 | libcxx/test/libcxx/selftest/exec.sh.cpp |
 | libcxx/test/libcxx/double_include.sh.cpp |
 | libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp |
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp |
 | libcxx/test/libcxx/selftest/test.sh.cpp |
 | libcxx/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp |
Commit
f3d4166368b0449baea1e7d8e043d0fe76930179
by nikita.ppv[InstCombine] Report change in non zero phi transform
We need to inform InstCombine (and transitively the pass manager) that we changed an instruction.
|
 | llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp |
Commit
87357808b807a9270153702975872cab1a569db6
by nikita.ppv[InstCombine] Use replaceOperand() in non zero phi transform
To make sure the old operand gets DCEd.
NFC apart from worklist order changes.
|
 | llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp |
Commit
19df7fa892d42f6abd503a9dd6705e130dadf1a7
by nikita.ppv[InstCombine] Erase old alloca in cast of alloca transform
As we don't return the replaceInstUsesWith() result, we are responsible for erasing the instruction.
NFC apart from worklist order.
|
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
Commit
c538c57d6dae548e644449352d9350d58be9a4af
by nikita.ppv[InstCombine] Use replaceOperand() in descaling
To make sure the old operand gets DCEd.
NFC apart from worklist order.
|
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
Commit
1ee6ec2bf370fbd1d93f34c8b56741a9d3f22ed2
by efriedmaRemove "mask" operand from shufflevector.
Instead, represent the mask as out-of-line data in the instruction. This should be more efficient in the places that currently use getShuffleVector(), and paves the way for further changes to add new shuffles for scalable vectors.
This doesn't change the syntax in textual IR. And I don't currently plan to change the bitcode encoding in this patch, although we'll probably need to do something once we extend shufflevector for scalable types.
I expect that once this is finished, we can then replace the raw "mask" with something more appropriate for scalable vectors. Not sure exactly what this looks like at the moment, but there are a few different ways we could handle it. Maybe we could try to describe specific shuffles. Or maybe we could define it in terms of a function to convert a fixed-length array into an appropriate scalable vector, using a "step", or something like that.
Differential Revision: https://reviews.llvm.org/D72467
|
 | llvm/lib/IR/AutoUpgrade.cpp |
 | llvm/include/llvm/IR/NoFolder.h |
 | llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp |
 | llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp |
 | llvm/lib/Transforms/Scalar/GVNSink.cpp |
 | llvm/lib/IR/Instructions.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp |
 | llvm/include/llvm/Analysis/ConstantFolding.h |
 | llvm/include/llvm/IR/IRBuilder.h |
 | llvm/lib/Target/X86/X86PartialReduction.cpp |
 | llvm/lib/IR/Core.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
 | llvm/include/llvm/IR/IRBuilderFolder.h |
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/lib/Target/ARM/MVETailPredication.cpp |
 | llvm/include/llvm/IR/PatternMatch.h |
 | llvm/lib/Analysis/ConstantFolding.cpp |
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/include/llvm/IR/Constants.h |
 | llvm/lib/Analysis/VectorUtils.cpp |
 | llvm/include/llvm/IR/ConstantFolder.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/include/llvm/IR/Instructions.h |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Transforms/Scalar/NewGVN.cpp |
 | llvm/lib/IR/ConstantFold.cpp |
 | llvm/lib/IR/ConstantFold.h |
 | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/IR/Instruction.cpp |
 | llvm/lib/IR/Constants.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp |
 | llvm/lib/IR/ConstantsContext.h |
 | llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp |
 | llvm/include/llvm/Analysis/TargetFolder.h |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | clang/lib/CodeGen/CGExpr.cpp |
 | llvm/lib/Bitcode/Writer/ValueEnumerator.cpp |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/include/llvm/Analysis/InstructionSimplify.h |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/lib/AsmParser/LLParser.cpp |
 | llvm/lib/ExecutionEngine/Interpreter/Execution.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/unittests/IR/PatternMatch.cpp |
 | llvm/include/llvm/ADT/ArrayRef.h |
 | llvm/lib/IR/AsmWriter.cpp |
Commit
b7fe795e5b3789b50f41377195a5965f41929b53
by nikita.ppv[InstCombine] Use replaceOperand() in some select transforms
To make sure the old operand is DCEd.
NFC apart from worklist order.
|
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
Commit
58a05675daf46b2e9c336dd13ae6ac6dbfdc2c72
by annaRevert "[InlineFunction] Handle return attributes on call within inlined body"
This reverts commit 28518d9ae39ff5c6044e230d58b6ae28b0252cae. There is a failure in MsgPackReader.cpp when built with clang. It complains about "signext and zeroext" are incompatible. Investigating offline if it is infact a UB in the MsgPackReader code.
|
 | llvm/test/Transforms/Inline/ret_attr_update.ll |
 | llvm/lib/Transforms/Utils/InlineFunction.cpp |
 | clang/test/CodeGen/builtins-systemz-zvector2.c |
 | clang/test/CodeGen/rot-intrinsics.c |
 | clang/test/CodeGen/movbe-builtins.c |
 | clang/test/CodeGen/builtins-systemz-zvector.c |
Commit
9a6a696817bd6322d62db21aa17fe395af41f8ae
by jaskiewiczs[cmake] Link libc++ tests against static libc++/libc++abi in CrossWinToARMLinux.cmake
Summary: Now that D72687 has landed, we can enable this setting in our cache file.
Reviewers: vvereschaka
Reviewed By: vvereschaka
Subscribers: mgorny, kristof.beyls, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76774
|
 | clang/cmake/caches/CrossWinToARMLinux.cmake |
Commit
9dcb16bc9aff676f45b530398dc75bd52526b0b5
by richardSwitch this function to the LLVM variable naming convention, to match the rest of the file.
|
 | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp |
Commit
cc3fddb411d55d4d0902a772a9f3db11fc4f002e
by blangmuir[pch] Honour -fallow-pch-with-compiler-errors for overall compilation status
Previously we would emit a PCH with errors, but fail the overall compilation. If run using the driver, that would result in removing the just-produced PCH. Instead, we should have the compilation result match whether we were able to emit the PCH.
Differential Revision: https://reviews.llvm.org/D77159
rdar://61110294
|
 | clang/test/Index/pch-with-errors.c |
 | clang/lib/Serialization/GeneratePCH.cpp |
Commit
e1fb9d53727f379be7930e8d8bb24c3c7da2f12a
by uday[MLIR][NFC] modernize affine.for unroll test pass
The walk code here was written before any of the support was available in IR/. Replace/cleanup.
Differential Revision: https://reviews.llvm.org/D77166
|
 | mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp |
Commit
7e4e9f4a2fcb096778fb81fc96da6bb8aa966661
by Stanislav.MekhanoshinFixed windows failure after D74873
Print format LaneBitmask was set as "%016lX" but should be "%016llX" for 64 bit support on Windows.
|
 | llvm/include/llvm/MC/LaneBitmask.h |
Commit
2dee4d44297220655786d3fddd471cdf99fa8e5a
by sam.mccall[clangd] Don't build clangdserver for (most) completion tests. NFC
|
 | clang-tools-extra/clangd/unittests/TestTU.cpp |
 | clang-tools-extra/clangd/unittests/TestTU.h |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
 | clang-tools-extra/clangd/unittests/TweakTesting.h |
 | clang-tools-extra/clangd/unittests/FindTargetTests.cpp |
Commit
1c0dd57cd3e253b2ac7036366ef91e286422c830
by Louis Dionne[libc++] Use 'export' instead of 'env' to run remote commands
This allows running commands that use shell builtins remotely too, when 'env' would complain that it can't find the program.
|
 | libcxx/utils/ssh.py |
Commit
9b3bf72a0d7918601e8005554592fcb4949a822e
by a.bataev[OPENMP50]Allow use of array shaping expression in a list.
Need to allow arrayshaping expression in a list of expressions, so use ParseAssignmentExpression() when try to parse the base of the shaping operation.
|
 | clang/test/OpenMP/task_ast_print.cpp |
 | clang/lib/Parse/ParseExpr.cpp |
Commit
522b4c4b88a5606b0074926e8658e7fede97c230
by efriedma[AArch64] Fix mismatch in prologue and epilogue for funclets on Windows
The generated code for a funclet can have an add to sp in the epilogue for which there is no corresponding sub in the prologue.
This patch removes the early return from emitPrologue that was preventing the sub to sp, and instead conditionalizes the appropriate parts of the rest of the function.
Fixes https://bugs.llvm.org/show_bug.cgi?id=45345
Differential Revision: https://reviews.llvm.org/D77015
|
 | llvm/test/CodeGen/AArch64/funclet-match-add-sub-stack.ll |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
Commit
494abe139a9aab991582f1b3f3370b99b252944c
by efriedma[AArch64] Change AArch64 Windows EH UnwindHelp object to be a fixed object
The UnwindHelp object is used during exception handling by runtime code. It must be findable from a fixed offset from FP.
This change allocates the UnwindHelp object as a fixed object (as is done for x86_64) to ensure that both the generated code and runtime agree on the location of the object.
Fixes https://bugs.llvm.org/show_bug.cgi?id=45346
Differential Revision: https://reviews.llvm.org/D77016
|
 | llvm/test/CodeGen/AArch64/wineh-try-catch.ll |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/test/CodeGen/AArch64/wineh-unwindhelp-via-fp.ll |
 | llvm/test/CodeGen/AArch64/wineh-try-catch-cbz.ll |
 | llvm/test/CodeGen/AArch64/seh-finally.ll |
 | llvm/test/CodeGen/AArch64/wineh-try-catch-realign.ll |
Commit
478af4479ab65b90a4c7bd6460ff685d8e95d625
by hubert.reinterpretcast[Object] Update ObjectFile::makeTriple for XCOFF
Summary: When we encounter an XCOFF file, reflect that in the triple information. In addition to knowing the object file format, we know that the associated OS is AIX.
This means that we can expect that there is no output difference in the processing of an XCOFF32 input file between cases where the triple is left unspecified by the user and cases where the user specifies `--triple powerpc-ibm-aix` explicitly.
Reviewers: jhenderson, sfertile, jasonliu, daltenty
Reviewed By: jasonliu
Subscribers: wuzish, nemanjai, hiraditya, MaskRay, rupprecht, steven.zhang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77025
|
 | llvm/lib/Object/ObjectFile.cpp |
 | llvm/test/CodeGen/PowerPC/aix-return55.ll |
 | llvm/test/tools/llvm-objdump/XCOFF/disassemble-all.test |
Commit
8f8c4950fead500bf1086f36f21b0b52e93b2b05
by jdenny.ornl[FileCheck] Add missing %ProtectFileCheckOutput to FileCheck tests
I'm committing this fixup without review because it's an obvious continuation of D65121 (committed at f471eb8e99b5).
|
 | llvm/test/FileCheck/numeric-defines-diagnostics.txt |
 | llvm/test/FileCheck/numeric-expression.txt |
Commit
00efcd6fffa533e5a4aa5646e678d57df0f9aca8
by Adrian PrantlAdd a Type::Payload typedef. (NFC)
This addresses review feedback from Raphael that I missed before landing the change that introduced the payload field.
|
 | lldb/include/lldb/Symbol/Type.h |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h |
Commit
ec11c5615a7c153a68d098903edebbb92719f5f9
by Adrian PrantlReplace uint32_t with typedef (NFC)
|
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h |
Commit
c9d65a48af1d7bbfed7e785613cc9d9acf71821b
by arsenm2HIP: Ensure new denormal mode attributes are set
Apparently HIPToolChain does not subclass from AMDGPUToolChain, so this was not applying the new denormal attributes. I'm not sure why this doesn't subclass. Just copy the implementation for now.
|
 | clang/lib/Driver/ToolChains/HIP.cpp |
 | clang/lib/Driver/ToolChains/AMDGPU.cpp |
 | clang/lib/Driver/ToolChains/AMDGPU.h |
 | clang/test/Driver/cuda-flush-denormals-to-zero.cu |
 | clang/lib/Driver/ToolChains/HIP.h |
Commit
4af7560b3751259c4acf63411f42ab5c9989ef26
by maskray[PPCInstPrinter] Print conditional branches as `bt 2, $target` instead of `bt 2, .+$imm`
Follow-up of D76591.
Reviewed By: #powerpc, sfertile
Differential Revision: https://reviews.llvm.org/D76907
|
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | lld/test/ELF/ppc32-reloc-rel.s |
 | lld/test/ELF/ppc64-split-stack-prologue-adjust-success.s |
 | lld/test/ELF/ppc64-reloc-rel.s |
 | llvm/test/tools/llvm-objdump/ELF/PowerPC/branch-offset.s |
 | lld/test/ELF/ppc64-split-stack-adjust-overflow.s |
 | llvm/test/tools/llvm-objdump/XCOFF/disassemble-all.test |
 | llvm/test/CodeGen/PowerPC/alignlongjumptest.mir |
 | lld/test/ELF/ppc64-split-stack-adjust-size-success.s |
 | llvm/test/CodeGen/PowerPC/aix-return55.ll |
 | llvm/test/MC/PowerPC/ppc64-prefix-align.s |
 | llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp |
 | lld/test/ELF/ppc32-long-thunk.s |
 | lld/test/ELF/ppc32-call-stub-pic.s |
Commit
175e42303bb2a4253c65126666b1ae05b32b0004
by arsenm2AMDGPU: Make HIPToolChain a subclass of AMDGPUToolChain
This fixes some code duplication. This is also a step towards consolidating builtin library handling.
|
 | clang/lib/Driver/ToolChains/HIP.h |
 | clang/lib/Driver/ToolChains/HIP.cpp |
Commit
0f44a09757f4f45e527e2bb79f15eb16967457a1
by maskray[ELF][test] Add 'REQUIRES: x86' to threads.s
|
 | lld/test/ELF/threads.s |
Commit
f9471b001089c744050c7a9cff39ebda2ff69011
by eugenisFix MSan false positive due to select folding.
Summary: Select folding in JumpThreading can create a conditional branch on a code patch that did not have one in the original program. This is not a valid transformation in sanitize_memory functions.
Note that JumpThreading does select folding in 3 different places. Two of them seem safe - they apply to a select instruction in a BB that ends with an unconditional branch to another BB, which (in turn) ends with a conditional branch or a switch with the same condition.
Fixes PR45220.
Reviewers: glider, dvyukov, efriedma
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76332
|
 | llvm/test/Transforms/JumpThreading/select-unfold-msan.ll |
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
Commit
ee77607ca6ceaf13801bdb98307fd26c78fbc92a
by antiagainst[mlir][spirv] Include SPIR-V op definitions in main SPIR-V doc
Differential Revision: https://reviews.llvm.org/D77174
|
 | mlir/docs/Dialects/SPIR-V.md |
 | mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt |
Commit
09834f976125545c74b8c1161be5204352165368
by jonchesterfield[libomptarget][nfc] Move non-freestanding headers out of common
Summary: [libomptarget][nfc] Move non-freestanding headers out of common
Lowers the bar for building deviceRTL. Drops math.h entirely as it wasn't used and libm is a big dependency.
Reviewers: jdoerfert, ABataev, grokos
Reviewed By: jdoerfert
Subscribers: jvesely, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D77071
|
 | openmp/libomptarget/deviceRTLs/common/omptarget.h |
 | openmp/libomptarget/deviceRTLs/common/src/data_sharing.cu |
 | openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h |
 | openmp/libomptarget/deviceRTLs/common/debug.h |
 | openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h |
Commit
e094dd5adcbdd7f49226d93c3964f99bf5a25ba6
by a.bataev[OPENMP50]Fix size calculation for array shaping expression in the codegen.
Need to include the size of the pointee type when trying to calculate the total size of the array shaping expression.
|
 | clang/test/OpenMP/task_codegen.c |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/OpenMP/depobj_codegen.cpp |
 | clang/test/OpenMP/task_depend_messages.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
64799fbebddc9877f78c7501b0b986b7afe84d6b
by ditaliano[debugserver/ARM64] Make sure watchpoints hit are attributed correctly.
This didn't happen for arm64 if you have watches for variables that are contigous in memory.
<rdar://problem/55135006>
|
 | lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py |
 | lldb/test/API/commands/watchpoints/watchpoint_count/Makefile |
 | lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp |
 | lldb/test/API/commands/watchpoints/watchpoint_count/main.c |
Commit
a3fab31acd6b99dd70334df7fbfae22b914e3214
by julian.lettner[lit] Refine adoption of argparse --version action
The real work for this was already done by serge-sans-paille [1]. Thanks for this!
[1] 1d4849379f71a0f5d73202a291c0b709f7cafbc5
|
 | llvm/utils/lit/lit/main.py |
 | llvm/utils/lit/tests/version.py |
 | llvm/utils/lit/lit/cl_arguments.py |
 | llvm/utils/lit/tests/usage.py |
Commit
c2aa543237843fa7b7c0191b6685062b3512f245
by a.bataev[OPENMP50]Codegen for array shaping expression in map clauses.
Added codegen support for array shaping operations in map/to/from clauses.
|
 | clang/test/OpenMP/target_data_ast_print.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/target_update_ast_print.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/target_update_codegen.cpp |
 | clang/test/OpenMP/target_map_messages.cpp |
 | clang/test/OpenMP/target_map_codegen.cpp |
Commit
39ada4688936d165adf1a3c22b250034bab8f8a3
by a.bataev[OPENMP][DOCS]Mark array shaping as done, NFC.
|
 | clang/docs/OpenMPSupport.rst |
Commit
c322d328aa331639f647711aee44c5dddfadd337
by blangmuirForward WrapperFrontendAction::shouldEraseOutputFiles()
Per the documentation, this class is supposed to forward every virtual method, but we had missed on (shouldEraseOutputFiles). This fixes using a wrapped frontend action over the PCH generator when using -fallow-pch-with-compiler-errors. I do not think any upstream wrapper actions can test this.
Differential Revision: https://reviews.llvm.org/D77180
rdar://61110294
|
 | clang/include/clang/Frontend/FrontendAction.h |
 | clang/lib/Frontend/FrontendAction.cpp |
Commit
ba4764c2cc14b0b495af539a913de10cf8268420
by efriedmaFix leak in GVNSink introduced in D72467.
|
 | llvm/lib/Transforms/Scalar/GVNSink.cpp |
Commit
7ea64ae3afe4ad98e6753b9f74b30019113f719c
by thakis[analyzer] Use IgnoreImpCasts() instead of reimplementing it.
No intended behavior change.
Differential Revision: https://reviews.llvm.org/D77022
|
 | clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp |
Commit
a3eb3d3d92d037fe3c9deaad87f6fc42fe9ea766
by maskray[Support] Delete ioctl TIOCGWINSZ
D61326 essentially disabled `ioctl(FileID, TIOCGWINSZ, &ws)`. Nobody has complained for one year. So let's just delete the code.
|
 | llvm/lib/Support/Unix/Process.inc |
Commit
43e576593e78b1a9b7d22abdc2f6d339a116fa6b
by arsenm2AMDGPU/GlobalISel: Fix insert point when lowering G_FMAD
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s32.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
Commit
855e738be250fe9dea211082a4acf668ddb4aca1
by grosul[VectorOps] Implement a simple folder for identity vector.transpose operations.
Differential Revision: https://reviews.llvm.org/D77088
|
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/test/Dialect/Vector/canonicalize.mlir |
Commit
4805901930f27f80d3b97ccd88e4f5240b784abd
by maskray[Driver] Don't pass -fmessage-length=0 to CC1
-fmessage-length=0 is common (unless the environment variable COLUMNS is set and exported. This simplifies a common CC1 command line.
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/Driver/rewrite-objc.m |
 | clang/test/Driver/fmessage-length.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Frontend/source-col-map.c |
 | clang/test/Misc/diag-line-wrapping.cpp |
 | clang/test/Misc/message-length.c |
 | clang/include/clang/Driver/CC1Options.td |
 | clang/test/Misc/unprintable.c |
 | clang/include/clang/Driver/Options.td |
 | clang/test/Misc/unnecessary-elipses.cpp |
 | clang/test/Misc/wrong-encoding2.c |
 | clang/test/Driver/rewrite-legacy-objc.m |
Commit
f93aed66f22f230213a99205f8bcec975c45d8ba
by rtrieuFix diagnostics where _Atomic can't be applied
adb290d97482aa9311ee4b4b5917a0f2ece55b30 added a new case to err_atomic_specifier_bad_type. The diagnostic has two %select's controlled by the same argument, but only the first was updated to have the new case. Add the extra case for the second %select and add a test case that exercises the last case.
|
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/SemaCXX/atomic-type.cpp |
Commit
3341dc7339969d3cb1bff30b49d866db041d689b
by maskray[Driver] Don't pass -fobjc-rumtime= for non-ObjC input
|
 | clang/lib/Driver/ToolChains/Clang.h |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/darwin-objc-options.m |
Commit
9180c14fe4d7f9d6f65da8bc593cd61796fdc50a
by t-kawashimaFix simultaneous .gcda creation
The intent of the `llvm_gcda_start_file` function is that only one process create the .gcda file and initialize it to be updated by other processes later.
Before this change, if multiple processes are started simultaneously, some of them may initialize the file because both the first and second `open` calls may succeed in a race condition and `new_file` becomes 1 in those processes. This leads incorrect coverage counter values. This often happens in MPI (Message Passing Interface) programs. The test program added in this change is a simple reproducer.
This change ensures only one process creates/initializes the file by using the `O_EXCL` flag.
Differential Revision: https://reviews.llvm.org/D76206
|
 | compiler-rt/test/profile/Inputs/instrprof-gcov-parallel.driver.c |
 | compiler-rt/test/profile/Inputs/instrprof-gcov-parallel.target.c |
 | compiler-rt/test/profile/Posix/instrprof-gcov-parallel.test |
 | compiler-rt/lib/profile/GCDAProfiling.c |
Commit
d0efd7bfcf689c2a72664265e59dd7a3e1a52762
by shengchen.kan[X86][MC] Disable Prefix padding after hardcode/prefix
Reviewers: reames, MaskRay, craig.topper, LuoYuanke, jyknight, eli.friedman
Reviewed By: craig.topper
Subscribers: hiraditya, llvm-commits, annita.zhang
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76475
|
 | llvm/include/llvm/MC/MCFragment.h |
 | llvm/test/MC/X86/align-via-padding-corner.s |
 | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp |
Commit
8eb40e41f6ec99985a292e342ec303a0bd6f5f41
by lkail[PowerPC] Don't generate ST_VSR_SCAL_INT if power8-vector is disabled
Summary: In https://bugs.llvm.org/show_bug.cgi?id=45297, it fails selecting instructions for `PPCISD::ST_VSR_SCAL_INT`. The reason it generate the `PPCISD::ST_VSR_SCAL_INT` with `-power8-vector` in IR is PPC's combiner checks `hasP8Altivec` rather than `hasP8Vector`. This patch should resolve PR45297.
Differential Revision: https://reviews.llvm.org/D76773
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/pr45297.ll |
Commit
af0cd9073c3de5655fe3078b195d34c3e6440852
by shiva0217[RISCV] Split RISCVISelDAGToDAG.cpp to RISCVISelDAGToDAG.h and RISCVISelDAGToDAG.cpp
For the downstream RISCV maintenance, it would be easier to inherent RISCVISelDAGToDAG by including header and only override the method that needs to be customized for the provider non-standard ISA extension without touching RISCVISelDAGToDAG.cpp which may cause conflict when upgrading the downstream LLVM version.
Differential Revision: https://reviews.llvm.org/D77117
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
bb3111cbaf7b181bcda94415456a69b2a6b767ad
by ianlevesque[clang][xray] Add xray attributes to functions without decls too
Summary: This allows instrumenting things like global initializers
Reviewers: dberris, MaskRay, smeenai
Subscribers: cfe-commits, johnislarry
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77191
|
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | clang/test/CodeGen/xray-global-init.cpp |
Commit
69ddee1d2aadaa0b9ac4549f366d1bf5701a65f0
by hanchung[mlir][Linalg] Introduce linalg.pooling_min/max/sum op.
Summary: Performs an N-D pooling operation similarly to the description in the TF documentation: https://www.tensorflow.org/api_docs/python/tf/nn/pool
Different from the description, this operation doesn't perform on batch and channel. It only takes tensors of rank `N`.
``` output[x[0], ..., x[N-1]] = REDUCE_{z[0], ..., z[N-1]} input[ x[0] * strides[0] - pad_before[0] + dilation_rate[0]*z[0], ... x[N-1]*strides[N-1] - pad_before[N-1] + dilation_rate[N-1]*z[N-1] ], ```
The required optional arguments are: - strides: an i64 array specifying the stride (i.e. step) for window loops. - dilations: an i64 array specifying the filter upsampling/input downsampling rate - padding: an i64 array of pairs (low, high) specifying the number of elements to pad along a dimension.
If strides or dilations attributes are missing then the default value is one for each of the input dimensions. Similarly, padding values are zero for both low and high in each of the dimensions, if not specified.
Differential Revision: https://reviews.llvm.org/D76414
|
 | mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp |
 | mlir/test/Dialect/Linalg/roundtrip.mlir |
 | mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h |
 | mlir/test/Dialect/Linalg/loops.mlir |
 | mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/invalid.mlir |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td |
Commit
6dd696ae4fa1b1564e76e5531c268724d2c8b98f
by hanchung[mlir][Linalg] Extend fusion to support WAW atm on buffers.
Summary: The RAW fusion happens only if the produecer block dominates the consumer block. The WAW pattern also works with the precondition. I.e., if a producer can dominate the consumer, they can fairly fuse together.
Since they are all tilable, we can think the pattern like this way:
Input: ``` linalg_op1 view
tile_loop subview_2 linalg_op2 subview_2 ```
Tile the first Linalg op as same as the second Linalg. ``` tile_loop subview_1 linalg_op1 subview_1
tile_loop subview_2 liangl_op2 subview_2 ```
Since the first Linalg op is tilable in the same way and the computation are independently, it's fair to fuse it with the second Linalg op. ``` tile_loop subview_1 linalg_op1 subview_1 linalg_op2 subview_2 ```
In short, this patch includes: - Handling both RAW and WAW pattern. - Adding a interface method to get input and output buffers. - Exposing a method to get a StringRef of a dependency type. - Fixing existing WAW tests and add one more use case: initialize the buffer before conv op.
Differential Revision: https://reviews.llvm.org/D76897
|
 | mlir/test/Dialect/Linalg/fusion.mlir |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td |
 | mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp |
 | mlir/include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h |
 | mlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h |
Commit
b5767010a8ea2f5e2148da5f3e37041185211370
by sbc[lld][WebAssembly] Early error if output file cannot be created.
This matches the behaviour of the ELF driver.
Also move the `createFiles` to be `checkConfig` and report `no input files` there. Again this is mostly to match the structure of the ELF linker better.
Differential Revision: https://reviews.llvm.org/D76960
|
 | lld/wasm/Driver.cpp |
 | lld/test/wasm/responsefile.test |
 | lld/test/wasm/early-exit-for-bad-paths.s |
 | lld/test/wasm/lto/opt-level.ll |
Commit
d0d076fed9681ebf2c2aed22e18cc5b89c5ac940
by maskray[Driver] Flip the CC1 default of -fdiagnostics-show-option
The driver enables -fdiagnostics-show-option by default, so flip the CC1 default to reduce the lengths of common CC1 command lines.
This change also makes ParseDiagnosticArgs() consistently enable -fdiagnostics-show-option by default.
|
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/include/clang/Driver/Options.td |
 | clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp |
 | clang/test/Frontend/diagnostics-option-names.c |
 | clang/test/Driver/show-option-names.c |
 | clang/test/Misc/show-diag-options.c |
 | clang/test/Driver/fdiagnostics-show-option.c |
 | clang/test/Driver/rewrite-legacy-objc.m |
 | clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-cxx03-extra-copy.cpp |
 | clang/include/clang/Frontend/CompilerInvocation.h |
 | clang/test/Driver/rewrite-objc.m |
 | clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/Sema/parentheses.c |
Commit
531b3aff3094dcd2e7ffed7f72ebd932ea386baf
by maskray[Frontend] Replace CC1 option -masm-verbose with -fno-verbose-asm
Most OS✕target enable -fverbose-asm, so it makes sense to flip the CC1 option to reduce common command lines.
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/include/clang/Driver/CC1Options.td |
 | clang/test/CodeGenObjC/debug-info-class-extension2.m |
 | clang/test/Driver/clang-translation.c |
 | clang/test/CodeGenObjC/debug-info-property2.m |
 | clang/test/CodeGenObjC/debug-info-class-extension.m |
 | clang/test/CodeGenObjC/debug-info-property5.m |
 | clang/test/CodeGenObjC/property-dbg.m |
 | clang/include/clang/Driver/Options.td |
 | clang/test/CodeGenObjC/debug-info-property.m |
 | clang/test/CodeGenObjC/debug-info-class-extension3.m |
 | clang/test/Driver/integrated-as.c |
 | clang/test/CodeGenObjC/debug-info-property4.m |
Commit
72439b6b9557d5c58ec7f95a14722ef581906a17
by hokein.wu[clangd] Add a flag to turn on recovery-expr.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77142
|
 | clang-tools-extra/clangd/Compiler.h |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/ParsedAST.cpp |
 | clang-tools-extra/clangd/unittests/TestTU.cpp |
 | clang-tools-extra/clangd/unittests/FindTargetTests.cpp |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/Preamble.cpp |
Commit
3c9064ed963ebfc59e4164cbea0b932734785813
by llvm-dev[X86] Run XOP vector rotation tests with/without AVX2
I noticed this while reviewing D77152 - by only testing bdver4 we weren't checking an XOP target that only had AVX1
|
 | llvm/test/CodeGen/X86/rotate_vec.ll |
Commit
f9f401dba179038591ad066bfa063cd5f3d5b4d8
by llvm-dev[X86][AVX] Add additional 256/512-bit test cases for PACKSS/PACKUS shuffle patterns
Also add lowerShuffleWithPACK call to lowerV32I16Shuffle - shuffle combining was catching it but we avoid a lot of temporary shuffle creations if we catch it at lowering first.
|
 | llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll |
 | llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
15f34ff2d8976f9211c6112531355ed5e2a92ea0
by Raphael Isemann[lldb] Allow expect_expr without a running target
Summary: If we don't have a current frame then we can still run many expressions as long as we have an active target. With this patch `expect_expr` directly calls the target's EvaluateExpression function when there is no current frame.
Reviewers: labath
Reviewed By: labath
Subscribers: JDevlieghere
Differential Revision: https://reviews.llvm.org/D77197
|
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/test/API/commands/expression/call-function/TestCallBuiltinFunction.py |
Commit
f92563f9077d07f8cc97320e517eb1cdd6b34496
by craig.topper[VectorUtils][X86] De-templatize scaleShuffleMask and 2 X86 shuffle mask helpers and move their implementation to cpp files
Summary: These were templated due to SelectionDAG using int masks for shuffles and IR using unsigned masks for shuffles. But now that D72467 has landed we have an int mask version of IRBuilder::CreateShuffleVector. So just use int instead of a template
Reviewers: spatel, efriedma, RKSimon
Reviewed By: efriedma
Subscribers: hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D77183
|
 | llvm/lib/Analysis/VectorUtils.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/Target/X86/X86InterleavedAccess.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.h |
 | llvm/unittests/Analysis/VectorUtilsTest.cpp |
 | llvm/include/llvm/Analysis/VectorUtils.h |
Commit
2641a19981e71c887bece92074e00d1af3e716c9
by sam.parker[TTI] Remove getCallCost
getCallCost is only used within the different layers of TTI, with no backend implementing it so fold the base implementation into getUserCost. I think this is an NFC.
Differential Revision: https://reviews.llvm.org/D77050
|
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
Commit
61bab7c31a1b42d4e8be5060877843eb20d94644
by tpopp[MLIR] Replace OpBuilder(Block) with atBlockBegin and atBlockEnd
Summary: OpBuilder(Block) is specifically replaced with OpBuilder::atBlockEnd(Block);
This is to make insertion behavior clear due to there being no one correct answer for which location in a block the default insertion point should be.
Differential Revision: https://reviews.llvm.org/D77060
|
 | mlir/include/mlir/IR/Builders.h |
 | mlir/lib/Dialect/SPIRV/SPIRVOps.cpp |
Commit
fa1b602ee6c3bd3dc245cbafe7534be5381e71e7
by Raphael Isemann[lldb][NFC] Modernize TestCallUserAnonTypedef
|
 | lldb/test/API/commands/expression/anonymous-struct/TestCallUserAnonTypedef.py |
 | lldb/test/API/commands/expression/anonymous-struct/main.cpp |
Commit
57fd86de879cf2b4c7001b6d0a09df60877ce24d
by me[AVR] Fix function pointer address space
Summary: Function pointers should be created with program address space. This fixes function pointers on AVR.
Reviewers: dylanmckay
Reviewed By: dylanmckay
Subscribers: Jim, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77119
|
 | clang/lib/CodeGen/CodeGenTypes.cpp |
Commit
90b7bbffddc6f754bca8fba0596f2c8052cb52ec
by tpopp[MLIR] Rename collapsePLoops -> collapseParallelLoops
Summary: Additionally, NFC code cleanups were done.
This is to address additional comments on https://reviews.llvm.org/D76363
Differential Revision: https://reviews.llvm.org/D77052
|
 | mlir/test/Transforms/parallel-loop-collapsing.mlir |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/lib/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/test/Transforms/single-parallel-loop-collapsing.mlir |
Commit
edb0efca1e73ec5f791d9fe8c28f7c4c85a61c43
by Raphael Isemann[lldb][NFC] Modernize call-function tests
|
 | lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py |
 | lldb/test/API/commands/expression/call-function/main.cpp |
 | lldb/test/API/commands/expression/call-function/TestCallUserDefinedFunction.py |
 | lldb/test/API/commands/expression/call-function/TestCallStdStringFunction.py |
Commit
48a5bdafba5e51244de627a50574d48c87a5249d
by Raphael Isemann[lldb][NFC] Modernize TestXValuePrinting
|
 | lldb/test/API/commands/expression/xvalue/TestXValuePrinting.py |
Commit
862766e01e9000ef1ad760ce602563cb0b4b9de4
by flo[Verifier] Verify matrix dimensions operands match vector size.
This patch adds checks to the verifier to ensure the dimension arguments passed to the matrix intrinsics match the vector types for their arugments/return values.
Reviewers: anemet, Gerolf, andrew.w.kaylor, LuoYuanke
Reviewed By: anemet
Differential Revision: https://reviews.llvm.org/D77129
|
 | llvm/lib/IR/Verifier.cpp |
 | llvm/test/Verifier/matrix-intrinsics.ll |
Commit
95bcab8272ced7444bc25353784de96ad9375c02
by qiucofan[DAGCombiner] Require ninf for sqrt recip estimation
Currently, DAG combiner uses (fmul (rsqrt x) x) to estimate square root of x. However, this method would return NaN if x is +Inf, which is incorrect.
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D76853
|
 | llvm/test/CodeGen/NVPTX/fast-math.ll |
 | llvm/test/CodeGen/PowerPC/fmf-propagation.ll |
 | llvm/test/CodeGen/NVPTX/sqrt-approx.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/test/CodeGen/X86/sqrt-fastmath-mir.ll |
 | llvm/test/CodeGen/X86/sqrt-fastmath.ll |
Commit
e20cac365025d5af9e39b695bec0dd34f15f9871
by flo[Matrix] Add new test case with getelementptr constant exprs.
The new test mostly ensures we keep doing the right thing for constant expressions while lowering matrix instructions.
|
 | llvm/test/Transforms/LowerMatrixIntrinsics/const-gep.ll |
Commit
e2d6023250b1645214967f58a310b73b22adb31e
by dvyukovtsan: fix Go build on Windows
Fix similar to https://reviews.llvm.org/D77111 but fow Windows.
gotsan.cpp:14071:16: error: missing terminating ' character [-Werror] case 0b10'010: // c.lwsp (rd != x0) ^
Reported-by: Keith Randall
|
 | compiler-rt/lib/tsan/go/build.bat |
Commit
49af3809423bfe03a21cad22dda0a776c04cc5af
by zinenkoAdd a method to build affine maps with zero or more results.
Summary: The commit provides a single method to build affine maps with zero or more results. Users of mlir::AffineMap previously had to dispatch between two methods depending on the number of results.
At the same time, this commit fixes the method for building affine map with zero results that was previously ignoring its `symbolCount` argument.
Differential Revision: https://reviews.llvm.org/D77126
|
 | mlir/include/mlir/IR/AffineMap.h |
 | mlir/lib/IR/MLIRContext.cpp |
Commit
08a53dba93389a9859c12e948d8281a839cffbdb
by Raphael Isemann[clang] Minor cleanup in CloneDetectionTest
Follow up to e8f13f4f62f.
|
 | clang/unittests/Analysis/CloneDetectionTest.cpp |
Commit
d307174e1d9e66a9e5a1e936ac3736343c3fe381
by flo[ConstantRange] Use APInt::or/APInt::and for single elements.
Currently ConstantRange::binaryAnd/binaryOr results are too pessimistic for single element constant ranges.
If both operands are single element ranges, we can use APInt's AND and OR implementations directly.
Note that some other binary operations on constant ranges can cover the single element cases naturally, but for OR and AND this unfortunately is not the case.
Reviewers: nikic, spatel, lebedev.ri
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D76446
|
 | llvm/test/Transforms/Attributor/range.ll |
 | llvm/test/Transforms/CorrelatedValuePropagation/range.ll |
 | llvm/lib/IR/ConstantRange.cpp |
Commit
038f03cb5ef5d44676cbde06560ed2668f4a7acc
by sam.mccall[clangd] Force delayed-template-parsing off in code completion.
Summary: It prevents code completion entirely in affected method bodies. The main reason it's turned on is for compatibility with headers, so we turn it off for the main file only. This is allowed because it's a compatible langopt.
Fixes https://github.com/clangd/clangd/issues/302
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77176
|
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
Commit
8155e41ac6196f035875229ee4fc5f2e3bfb4855
by riddleriver[mlir][Pass] Add a tablegen backend for defining Pass information
This will greatly simplify a number of things related to passes: * Enables generation of pass registration * Enables generation of boiler plate pass utilities * Enables generation of pass documentation
This revision focuses on adding the basic structure and adds support for generating the registration for passes in the Transforms/ directory. Future revisions will add more support and move more passes over.
Differential Revision: https://reviews.llvm.org/D76656
|
 | mlir/lib/Transforms/StripDebugInfo.cpp |
 | mlir/lib/Pass/PassRegistry.cpp |
 | mlir/lib/Transforms/LocationSnapshot.cpp |
 | mlir/include/mlir/Transforms/CMakeLists.txt |
 | mlir/tools/mlir-tblgen/CMakeLists.txt |
 | mlir/include/mlir/InitAllPasses.h |
 | mlir/lib/Transforms/SymbolDCE.cpp |
 | mlir/lib/Transforms/LoopFusion.cpp |
 | mlir/lib/Transforms/Canonicalizer.cpp |
 | mlir/include/mlir/Pass/PassBase.td |
 | mlir/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Transforms/OpStats.cpp |
 | mlir/lib/Transforms/MemRefDataFlowOpt.cpp |
 | mlir/include/mlir/TableGen/Pass.h |
 | mlir/lib/TableGen/Pass.cpp |
 | mlir/lib/Transforms/ViewRegionGraph.cpp |
 | mlir/lib/Transforms/LoopCoalescing.cpp |
 | mlir/lib/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/include/mlir/CMakeLists.txt |
 | mlir/lib/Transforms/ViewOpGraph.cpp |
 | mlir/include/mlir/Pass/PassRegistry.h |
 | mlir/lib/Transforms/CSE.cpp |
 | mlir/lib/Transforms/LoopInvariantCodeMotion.cpp |
 | mlir/lib/TableGen/CMakeLists.txt |
 | mlir/tools/mlir-tblgen/PassGen.cpp |
 | mlir/lib/Transforms/Inliner.cpp |
 | mlir/lib/Transforms/PipelineDataTransfer.cpp |
 | mlir/include/mlir/Transforms/LocationSnapshot.h |
 | mlir/include/mlir/Transforms/Passes.td |
Commit
e3d834a54afa65c615b8eb839f4fe5dbaf53e3e8
by riddleriver[mlir][Pass] Move the registration of dialect passes to tablegen
This generates a Passes.td for all of the dialects that have transformation passes. This removes the need for global registration for all of the dialect passes.
Differential Revision: https://reviews.llvm.org/D76657
|
 | mlir/include/mlir/Dialect/Linalg/Passes.h |
 | mlir/include/mlir/Dialect/GPU/CMakeLists.txt |
 | mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp |
 | mlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp |
 | mlir/include/mlir/Dialect/Linalg/Passes.td |
 | mlir/lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp |
 | mlir/include/mlir/Dialect/Affine/Passes.td |
 | mlir/include/mlir/Quantizer/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/GPU/CMakeLists.txt |
 | mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp |
 | mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp |
 | mlir/include/mlir/Quantizer/Transforms/Passes.td |
 | mlir/include/mlir/Dialect/GPU/Passes.td |
 | mlir/include/mlir/Dialect/Quant/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp |
 | mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp |
 | mlir/lib/Dialect/LoopOps/Transforms/CMakeLists.txt |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp |
 | mlir/lib/Quantizer/Transforms/RemoveInstrumentationPass.cpp |
 | mlir/include/mlir/Quantizer/CMakeLists.txt |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp |
 | mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp |
 | mlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp |
 | mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td |
 | mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp |
 | mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt |
 | mlir/include/mlir/Dialect/FxpMathOps/Passes.h |
 | mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp |
 | mlir/include/mlir/Dialect/Quant/Passes.td |
 | mlir/include/mlir/Dialect/FxpMathOps/Passes.td |
 | mlir/include/mlir/Dialect/LoopOps/CMakeLists.txt |
 | mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt |
 | mlir/include/mlir/CMakeLists.txt |
 | mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp |
 | mlir/include/mlir/Dialect/Affine/Passes.h |
 | mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp |
 | mlir/include/mlir/Dialect/FxpMathOps/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp |
 | mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt |
 | mlir/lib/Dialect/Quant/CMakeLists.txt |
 | mlir/include/mlir/Dialect/LoopOps/Passes.td |
 | mlir/include/mlir/Dialect/SPIRV/Passes.td |
 | mlir/include/mlir/Dialect/Linalg/CMakeLists.txt |
 | mlir/lib/Quantizer/Transforms/AddDefaultStatsTestPass.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt |
 | mlir/include/mlir/InitAllPasses.h |
 | mlir/lib/Quantizer/CMakeLists.txt |
 | mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp |
 | mlir/include/mlir/Dialect/Affine/CMakeLists.txt |
 | mlir/include/mlir/Quantizer/Transforms/Passes.h |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp |
 | mlir/lib/Dialect/FxpMathOps/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp |
 | mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp |
Commit
3dddd8969f4d5bb05d65c6014934e24795843182
by riddleriver[mlir][Pass] Move the registration of conversion passes to tablegen
This removes the need to statically register conversion passes, and also puts all of the conversions within one centralized file.
Differential Revision: https://reviews.llvm.org/D76658
|
 | mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp |
 | mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp |
 | mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt |
 | mlir/include/mlir/Conversion/VectorToLoops/ConvertVectorToLoops.h |
 | mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt |
 | mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp |
 | mlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h |
 | mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp |
 | mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt |
 | mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/AffineToStandard/CMakeLists.txt |
 | mlir/include/mlir/InitAllPasses.h |
 | mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp |
 | mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp |
 | mlir/include/mlir/Conversion/CMakeLists.txt |
 | mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp |
 | mlir/lib/Conversion/LoopToStandard/CMakeLists.txt |
 | mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp |
 | mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp |
 | mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt |
 | mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt |
 | mlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp |
 | mlir/include/mlir/CMakeLists.txt |
 | mlir/lib/Conversion/AVX512ToLLVM/CMakeLists.txt |
 | mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp |
 | mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp |
 | mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp |
 | mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp |
Commit
9a277af2d429e1d53f65417400583d5ea66d3ed1
by riddleriver[mlir][Pass] Add support for generating pass utilities via tablegen
This revision adds support for generating utilities for passes such as options/statistics/etc. that can be inferred from the tablegen definition. This removes additional boilerplate from the pass, and also makes it easier to remove the reliance on the pass registry to provide certain things(e.g. the pass argument).
Differential Revision: https://reviews.llvm.org/D76659
|
 | mlir/include/mlir/TableGen/Pass.h |
 | mlir/include/mlir/Dialect/Linalg/Passes.td |
 | mlir/lib/TableGen/Pass.cpp |
 | mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp |
 | mlir/lib/Transforms/ParallelLoopCollapsing.cpp |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp |
 | mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp |
 | mlir/lib/Transforms/ViewRegionGraph.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp |
 | mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp |
 | mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp |
 | mlir/lib/Transforms/Inliner.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp |
 | mlir/lib/Transforms/LoopInvariantCodeMotion.cpp |
 | mlir/lib/Transforms/LoopFusion.cpp |
 | mlir/lib/Quantizer/Transforms/RemoveInstrumentationPass.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp |
 | mlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp |
 | mlir/tools/mlir-tblgen/PassGen.cpp |
 | mlir/include/mlir/Dialect/LoopOps/Passes.td |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp |
 | mlir/lib/Transforms/LoopCoalescing.cpp |
 | mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp |
 | mlir/lib/Transforms/Canonicalizer.cpp |
 | mlir/lib/Transforms/StripDebugInfo.cpp |
 | mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp |
 | mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp |
 | mlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp |
 | mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp |
 | mlir/lib/Quantizer/Transforms/AddDefaultStatsTestPass.cpp |
 | mlir/lib/Transforms/ViewOpGraph.cpp |
 | mlir/lib/Transforms/OpStats.cpp |
 | mlir/lib/Transforms/LocationSnapshot.cpp |
 | mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp |
 | mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp |
 | mlir/lib/Transforms/MemRefDataFlowOpt.cpp |
 | mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp |
 | mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp |
 | mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp |
 | mlir/lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp |
 | mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp |
 | mlir/include/mlir/Pass/PassBase.td |
 | mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp |
 | mlir/lib/Transforms/PipelineDataTransfer.cpp |
 | mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp |
 | mlir/lib/Transforms/CSE.cpp |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp |
 | mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp |
 | mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp |
 | mlir/include/mlir/Dialect/Affine/Passes.td |
 | mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp |
 | mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp |
 | mlir/lib/Transforms/SymbolDCE.cpp |
 | mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp |
Commit
9be4be3e53270fc12b184773203b9aa6eb4ad92b
by riddleriver[mlir][Pass] Add support for generating pass documention from the tablegen definition
Summary: This revision adds support for auto-generating pass documentation, replacing the need to manually keep Passes.md up-to-date. This matches the behavior already in place for dialect and interface documentation.
Differential Revision: https://reviews.llvm.org/D76660
|
 | mlir/include/mlir/Dialect/Affine/CMakeLists.txt |
 | mlir/include/mlir/Dialect/GPU/CMakeLists.txt |
 | mlir/include/mlir/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Linalg/CMakeLists.txt |
 | mlir/docs/Passes.md |
 | mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt |
 | mlir/tools/mlir-tblgen/PassDocGen.cpp |
 | mlir/tools/mlir-tblgen/CMakeLists.txt |
 | mlir/include/mlir/Conversion/CMakeLists.txt |
 | mlir/include/mlir/Dialect/FxpMathOps/CMakeLists.txt |
 | mlir/include/mlir/Transforms/Passes.td |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/include/mlir/Quantizer/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/LoopOps/CMakeLists.txt |
 | mlir/include/mlir/Dialect/Quant/CMakeLists.txt |
Commit
0ec88d031ad5abcd78068a8377494ec84ea6a1e1
by pavel[lldb] Inherit host environment when running shell commands
Summary: On most hosts we were running shell commands with an empty environment. The only exception was windows, which was inheriting the host enviroment mostly by accident.
Running the commands in an empty environment does not sound like a sensible default, so this patch changes Host::RunShellCommand to inherit the host environment. This impacts both commands run via SBPlatform::Run (in case of host platforms), as well as the "platform shell" CLI command.
Reviewers: jingham, friss
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D77123
|
 | lldb/test/API/python_api/sbplatform/main.cpp |
 | lldb/source/Host/common/Host.cpp |
 | lldb/test/API/python_api/sbplatform/Makefile |
 | lldb/test/API/python_api/sbplatform/TestSBPlatform.py |
Commit
93fc0ba145c2f9619d3174c95cacda5d4a0a2815
by grimar[yaml2obj] - Add NBucket and NChain fields for the SHT_HASH section.
These fields allows to override nchain and nbucket fields of a SHT_HASH section.
Differential revision: https://reviews.llvm.org/D76834
|
 | llvm/include/llvm/ObjectYAML/ELFYAML.h |
 | llvm/lib/ObjectYAML/ELFYAML.cpp |
 | llvm/lib/ObjectYAML/ELFEmitter.cpp |
 | llvm/test/tools/yaml2obj/ELF/hash-section.yaml |
Commit
c7468c1696ff3273167d14d764b36e990d7642a5
by gchatelet[Alignment][NFC] Use Align in SelectionDAG::getMemIntrinsicNode
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: jholewinski, nemanjai, hiraditya, kbarton, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77149
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.h |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.h |
 | llvm/include/llvm/CodeGen/SelectionDAG.h |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
aa786b881fc89a2a9883bff77912f2053126f95b
by martin[lldb] [PECOFF] Only use PECallFrameInfo on the one supported architecture
The RuntimeFunction struct, which PECallFrameInfo interprets, has a different layout and differnet semantics on all architectures.
Differential Revision: https://reviews.llvm.org/D77000
|
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
Commit
ef49895da894c56397879e3cb9a03f35d079617a
by bjorn.a.pettersson[X86] Do not assume types are legal in getFauxShuffleMask
Summary: Make sure we do not assert on value types not being simple in getFauxShuffleMask when analysing operations such as "v8i16 = truncate v8i24".
Reviewers: RKSimon
Reviewed By: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77136
|
 | llvm/test/CodeGen/X86/shuffle-combine-crash-3.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
d8b51789fd63491ae806f53f43df8d2024dbaf19
by qiucofan[NFC] [PowerPC] Add test for frsp elimination
|
 | llvm/test/CodeGen/PowerPC/mi-simplify-code.mir |
Commit
dbf5e4f6c7f76d8086b01efed5c37dced3eed4b6
by shchenz[LSR] add testcase for wrongly phi node elimination - NFC
|
 | llvm/lib/Analysis/ScalarEvolutionExpander.cpp |
 | llvm/test/Transforms/LoopStrengthReduce/phi-unknownscev.ll |
Commit
8b8cd150a4a176cd971c604f92de76acdae4a301
by shchenzRevert "[LSR] add testcase for wrongly phi node elimination - NFC"
This reverts commit dbf5e4f6c7f76d8086b01efed5c37dced3eed4b6. The testcase has different behaviour on PowerPC and X86.
|
 | llvm/lib/Analysis/ScalarEvolutionExpander.cpp |
 | llvm/test/Transforms/LoopStrengthReduce/phi-unknownscev.ll |
Commit
918ccb64b02281355a6226fe8af07dc40e8ff9e3
by llvm-dev[X86][SSE] Handle basic inversion of PTEST/TESTP operands (PR38522)
PTEST/TESTP sets EFLAGS as: TESTZ: ZF = (Op0 & Op1) == 0 TESTC: CF = (~Op0 & Op1) == 0 TESTNZC: ZF == 0 && CF == 0
If we are inverting the 0'th operand of a PTEST/TESTP instruction we can adjust the comparisons to correct handle the inversion implicitly.
Additionally, for "TESTZ" (ZF) cases, the allones case, PTEST(X,-1) can be simplified to PTEST(X,X).
We can expand this for the TESTZ(X,~Y) pattern and also handle KTEST/KORTEST in the future.
Differential Revision: https://reviews.llvm.org/D76984
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/combine-ptest.ll |
 | llvm/test/CodeGen/X86/combine-testps.ll |
 | llvm/test/CodeGen/X86/combine-testpd.ll |
Commit
84aa6cf1a9fe7c2d1c35b27ba6fbf1ee36a09a71
by cullen.rhodes[Transforms][SROA] Promote allocas with mem2reg for scalable types
Summary: Aggregate types containing scalable vectors aren't supported and as far as I can tell this pass is mostly concerned with optimisations on aggregate types, so the majority of this pass isn't very useful for scalable vectors.
This patch modifies SROA such that mem2reg is run on allocas with scalable types that are promotable, but nothing else such as slicing is done.
The use of TypeSize in this pass has also been updated to be explicitly fixed size. When invoking the following methods in DataLayout:
* getTypeSizeInBits * getTypeStoreSize * getTypeStoreSizeInBits * getTypeAllocSize
we now called getFixedSize on the resultant TypeSize. This is quite an extensive change with around 50 calls to these functions, and also the first change of this kind (being explicit about fixed vs scalable size) as far as I'm aware, so feedback welcome.
A test is included containing IR with scalable vectors that this pass is able to optimise.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D76720
|
 | llvm/lib/Transforms/Scalar/SROA.cpp |
 | llvm/test/Transforms/SROA/scalable-vectors.ll |
Commit
43aa04eb7a617ee75dfcbbe2d395b8208e66c0e0
by kadircet[clangd] Run semaCodeComplete only with a preamble
Summary: It is used by code completion and signature help. Code completion already uses a special no-compile mode for missing preambles, so this change is a no-op for that.
As for signature help, it already blocks for a preamble and missing it implies clang has failed to parse the preamble and retrying it in signature help likely will fail again. And even if it doesn't, request latency will be too high to be useful as parsing preambles is expensive.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77204
|
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
 | clang-tools-extra/clangd/CodeComplete.h |
Commit
f25a1b4f58d66805257a05f13e8581551574ce22
by shchenz[LSR] re-add testcase for wrongly phi node elimination - NFC
Retest the case on X86/SystemZ/AArch64/PowerPC
|
 | llvm/lib/Analysis/ScalarEvolutionExpander.cpp |
 | llvm/test/Transforms/LoopStrengthReduce/phi-unknownscev.ll |
Commit
66b9f5f7f0d26d789f74ddc8a99d0e446d17a22c
by benny.kra[GVNSink] Simplify code. NFC.
|
 | llvm/lib/Transforms/Scalar/GVNSink.cpp |
Commit
9beba4245a77ae75db874146036b77fb76398e4c
by Raphael Isemann[lldb][NFC] Modernize TestExprChar
|
 | lldb/test/API/commands/expression/char/TestExprsChar.py |
Commit
c9d15880542ef483470ee33dbd055b68396d4537
by omair.javaidSilent failing TestWatchpointCount.py aarch64/linux
Skip TestWatchpointCount.py for aarch64-linux to fix lldb aarch64 linux buildbot.
http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/
|
 | lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py |
Commit
dad848280d3b740524803595d463510e1090ab59
by pierre.vanhoutryve[Target][ARM] Change VPTMaskValues to the correct encoding
VPTMaskValue was using the "instruction" encoding to represent the masks (= the same encoding as the one used by the instructions in an object file), but it is only used to build MCOperands, so it should use the MCOperand encoding of the masks, which is slightly different.
Differential Revision: https://reviews.llvm.org/D76139
|
 | llvm/lib/Target/ARM/Utils/ARMBaseInfo.h |
 | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp |
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.h |
Commit
2effe8f5e72ac94286445c0fdfd2cad6999f4cb4
by pierre.vanhoutryve[Target][ARM] Improvements to the VPT Block Insertion Pass
This allows the MVE VPT Block insertion pass to remove VPNOTs in order to create more complex VPT blocks such as TE, TEET, TETE, etc.
Differential Revision: https://reviews.llvm.org/D75993
|
 | llvm/test/CodeGen/Thumb2/mve-vpt-block-elses.mir |
 | llvm/test/CodeGen/Thumb2/mve-vpt-3-blocks-kill-vpr.mir |
 | llvm/lib/Target/ARM/MVEVPTBlockPass.cpp |
 | llvm/test/CodeGen/Thumb2/mve-pred-not.ll |
 | llvm/test/CodeGen/Thumb2/mve-pred-threshold.ll |
 | llvm/test/CodeGen/Thumb2/mve-vpt-nots.mir |
 | llvm/lib/Target/ARM/Thumb2InstrInfo.h |
Commit
db3d64eebbe0aad87631c6fada01b06753377a44
by kbobyrev[clangd-vscode] NFC; Improve wording in documentation and update VSCode tasks
Summary: VSCode tasks are updated to the latest supported versions: deprecated values are removed and replaced by their new counterparts.
Reviewers: hokein
Reviewed By: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76595
|
 | clang-tools-extra/clangd/clients/clangd-vscode/.vscode/launch.json |
 | clang-tools-extra/clangd/clients/clangd-vscode/tsconfig.json |
 | clang-tools-extra/clangd/clients/clangd-vscode/DEVELOPING.md |
 | clang-tools-extra/clangd/clients/clangd-vscode/.vscode/tasks.json |
 | clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts |
Commit
bf573bea19eabb41ed35c31b0d187c7068172bfa
by gchatelet[Alignment][NFC] Convert MIR Yaml to MaybeAlign
Summary: Although it may look like non NFC it is. especially the MIRParser may set `0` to the MachineFrameInfo and MachineFunction, but they all deal with `Align` internally and assume that `0` means `1`. https://github.com/llvm/llvm-project/blob/93fc0ba145c2f9619d3174c95cacda5d4a0a2815/llvm/include/llvm/CodeGen/MachineFrameInfo.h#L483
This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77203
|
 | llvm/lib/CodeGen/MIRPrinter.cpp |
 | llvm/include/llvm/CodeGen/MIRYamlMapping.h |
 | llvm/lib/CodeGen/MIRParser/MIRParser.cpp |
Commit
e344f8b9db4c173a5a268c52820e7ccf078ebe3b
by shchenzRevert "[LSR] re-add testcase for wrongly phi node elimination - NFC"
This reverts commit f25a1b4f58d66805257a05f13e8581551574ce22. ARM and hexagon fail at the new added case.
|
 | llvm/lib/Analysis/ScalarEvolutionExpander.cpp |
 | llvm/test/Transforms/LoopStrengthReduce/phi-unknownscev.ll |
Commit
a0c537834ae86a586aa0a17bc2e48d13c4515a3d
by david.green[ARM] Extra vmull loop tests. NFC
|
 | llvm/test/CodeGen/Thumb2/mve-vmull-loop.ll |
Commit
43eca880c6eda10fd191c4e9e04bf04830c9c6f2
by llvm-devFix "control reaches end of non-void function" warning. NFCI.
|
 | clang-tools-extra/clangd/SemanticHighlighting.cpp |
Commit
481413d3940402fdbef9f19963430e75409dc148
by llvm-dev[X86][SSE] matchShuffleWithPACK - generalize zero/signbits matching for any packed src type
First step toward making use of canLowerByDroppingEvenElements to match chains of PACKSS/PACKUS for compaction shuffles.
At the moment we still only match a single stage but the MatchPACK is now more general.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
65e0079f21aeb5126bfaee18d3feedbb911c1da8
by diggerlin[NFC] run clang format on the file llvm/include/llvm/MC/MCDirectives.h
SUMMARY:
run clang format on the file llvm/include/llvm/MC/MCDirectives.h
Reviewers: Jason liu Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D77170
|
 | llvm/include/llvm/MC/MCDirectives.h |
Commit
3a78f44daf37bd16ae69eea06a1b45428e33f16f
by gchatelet[Alignment][NFC] Convert SelectionDAG::InferPtrAlignment to MaybeAlign
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77212
|
 | llvm/include/llvm/CodeGen/SelectionDAG.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
Commit
b605c56b0fac74584156f058da19496b6d7cae8f
by benny.kra[ARM] Silence warning in Release builds
llvm/lib/Target/ARM/MVEVPTBlockPass.cpp:175:37: error: unused variable 'BlockBeg' [-Werror,-Wunused-variable] MachineBasicBlock::instr_iterator BlockBeg = Iter; ^
|
 | llvm/lib/Target/ARM/MVEVPTBlockPass.cpp |
Commit
552e46ea1efd94669b16d2b31439525bf7d7cc80
by llvm-devFix unused variable warnings. NFCI.
|
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
Commit
be7a233e93767a12cc8aa6be94488c3ec8324529
by llvm-devFix operator precedence warning. NFCI.
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
Commit
501522b5b2a1b2620370c2885da7caa7ed3b5c73
by kai.wang[RISCV] Support RISC-V ELF attributes sections in llvm-readobj.
Enable llvm-readobj to handle RISC-V ELF attribute sections.
Differential Revision: https://reviews.llvm.org/D75833
|
 | llvm/test/tools/llvm-readobj/ELF/RISCV/attribute.s |
 | llvm/unittests/Support/ELFAttributeParserTest.cpp |
 | llvm/lib/Support/ELFAttributeParser.cpp |
 | llvm/test/tools/llvm-readobj/ELF/RISCV/lit.local.cfg |
 | llvm/test/tools/llvm-readobj/ELF/RISCV/validate-attr-section.test |
 | llvm/test/MC/RISCV/attribute-with-option.s |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | llvm/test/tools/llvm-readobj/ELF/RISCV/invalid-attr-version.test |
 | llvm/test/tools/llvm-readobj/ELF/RISCV/invalid-attr-section-size.test |
 | llvm/test/tools/llvm-readobj/ELF/RISCV/section-types.test |
Commit
1dffa2550b535c17998b0f9362a0997b3950b970
by gchatelet[Alignment][NFC] Transition to MachineFrameInfo::getObjectAlign()
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jrtc27, atanasyan, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77215
|
 | llvm/lib/CodeGen/RegisterScavenging.cpp |
 | llvm/lib/Target/AMDGPU/R600FrameLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
 | llvm/lib/CodeGen/StackColoring.cpp |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp |
 | llvm/lib/CodeGen/StackSlotColoring.cpp |
 | llvm/lib/Target/Hexagon/HexagonBitTracker.cpp |
 | llvm/lib/Target/Mips/MipsRegisterInfo.cpp |
 | llvm/include/llvm/CodeGen/MachineFrameInfo.h |
 | llvm/lib/CodeGen/LocalStackSlotAllocation.cpp |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp |
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp |
Commit
fee0026fc7eb077d7808915fd30693883db2fd1d
by Louis Dionne[libc++abi] Fix remote execution of .sh.cpp tests
This aims to fix test failures on the following buildbots:
- http://lab.llvm.org:8011/builders/llvm-clang-win-x-armv7l - http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64
Differential Revision: https://reviews.llvm.org/D77190
|
 | libcxx/utils/ssh.py |
 | libcxx/utils/libcxx/compiler.py |
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/utils/libcxx/test/config.py |
 | libcxxabi/test/incomplete_type.sh.cpp |
Commit
eb8880562e693dd1e5a0bd332687ff6e20b272d4
by llvm-dev[X86][SSE] combinePTESTCC - fold TESTZ(X,~Y) -> TESTC(Y,X)
|
 | llvm/test/CodeGen/X86/combine-testps.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/combine-testpd.ll |
 | llvm/test/CodeGen/X86/combine-ptest.ll |
Commit
fc63c4d8ce68deca5036fda0df4a7695c16dab03
by gchatelet[Alignment][NFC] Remove remaining uses of MachineFrameInfo::setObjectAlignment
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77217
|
 | llvm/include/llvm/CodeGen/MachineFrameInfo.h |
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
c6c045cb7ae34e1da338479e4e25a679216ab585
by gchatelet[Alignment][NFC] Mark IRTranslator::getMemOpAlignment deprecated
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77218
|
 | llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h |
Commit
51d594d33c25dcea52d1b21c6695a2dc561ef74e
by rosicaReplace output file name in test with %t
|
 | lld/test/wasm/lto/incompatible.ll |
Commit
a67cd71acdb0cd636097a74ec80e2f23ef301ada
by tpopp[MLIR] Implement LoopLikeInterface for loop.parallel
Summary: This is to allow optimizations like loop invariant code motion to work on the ParallelOp.
Additional small cleanup on the ForOp implementation of LoopLikeInterface and the test file of loop-invariant-code-motion.
Differential Revision: https://reviews.llvm.org/D77128
|
 | mlir/include/mlir/Dialect/LoopOps/LoopOps.td |
 | mlir/lib/Dialect/LoopOps/LoopOps.cpp |
 | mlir/test/Transforms/loop-invariant-code-motion.mlir |
Commit
e3033c0ce5517efddbf92a079ad1e0ca4868591f
by puyan[llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists.
Prior to this change the clang interface stubs format resembled something ending with a symbol list like this:
Symbols: a: { Type: Func }
This was problematic because we didn't actually want a map format and also because we didn't like that an empty symbol list required "Symbols: {}". That is to say without the empty {} llvm-ifs would crash on an empty list.
With this new format it is much more clear which field is the symbol name, and instead the [] that is used to express an empty symbol vector is optional, ie:
Symbols: - { Name: a, Type: Func }
or
Symbols: []
or
Symbols:
This further diverges the format from existing llvm-elftapi. This is a good thing because although the format originally came from the same place, they are not the same in any way.
Differential Revision: https://reviews.llvm.org/D76979
|
 | clang/test/InterfaceStubs/empty.c |
 | clang/include/clang/Frontend/FrontendOptions.h |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/test/tools/llvm-ifs/empty2.ifs |
 | clang/test/InterfaceStubs/func.ifs |
 | clang/include/clang/Frontend/FrontendActions.h |
 | clang/test/InterfaceStubs/namespace-alias.cpp |
 | clang/test/InterfaceStubs/template-constexpr.cpp |
 | llvm/test/tools/llvm-ifs/conflict-header-version.ifs |
 | clang/test/InterfaceStubs/bad-format.cpp |
 | clang/test/InterfaceStubs/object.c |
 | clang/test/InterfaceStubs/object.ifs |
 | llvm/test/tools/llvm-ifs/weak-mismatch.ifs |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/InterfaceStubs/weak.cpp |
 | clang/test/InterfaceStubs/usings.cpp |
 | llvm/test/tools/llvm-ifs/object-function-size-weak-combo.ifs |
 | llvm/test/tools/llvm-ifs/object.ifs |
 | llvm/test/tools/llvm-ifs/conflict-type.ifs |
 | clang/test/InterfaceStubs/non-type-template-parm-decl.cpp |
 | llvm/test/tools/llvm-ifs/ios-tbd.ifs |
 | llvm/tools/llvm-ifs/llvm-ifs.cpp |
 | clang/test/InterfaceStubs/ppc.cpp |
 | llvm/test/tools/llvm-ifs/Inputs/strong-mismatch-size.ifs |
 | llvm/test/tools/llvm-ifs/Inputs/strong-mismatch-type.ifs |
 | clang/test/InterfaceStubs/unresolved-using-typename.cpp |
 | llvm/test/tools/llvm-ifs/conflict-header-triple.ifs |
 | clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp |
 | clang/test/InterfaceStubs/template-namespace-function.cpp |
 | llvm/test/tools/llvm-ifs/tvos-tbd.ifs |
 | clang/test/InterfaceStubs/trycatch.cpp |
 | llvm/test/tools/llvm-ifs/func.ifs |
 | clang/test/InterfaceStubs/cxxdeduction-guide.cpp |
 | clang/test/InterfaceStubs/inline.c |
 | clang/test/InterfaceStubs/hidden-class-inheritance.cpp |
 | clang/test/InterfaceStubs/var-template-specialization-decl.cpp |
 | clang/test/InterfaceStubs/namespace.cpp |
 | clang/test/InterfaceStubs/class-template-partial-specialization.cpp |
 | llvm/test/tools/llvm-ifs/empty1.ifs |
 | llvm/test/tools/llvm-ifs/weak.ifs |
 | clang/test/InterfaceStubs/indirect-field-decl.cpp |
 | clang/test/InterfaceStubs/template-template-parm-decl.cpp |
 | llvm/test/tools/llvm-ifs/macos-tbd.ifs |
 | llvm/test/tools/llvm-ifs/conflict-size.ifs |
 | clang/test/InterfaceStubs/blocks.c |
 | llvm/test/tools/llvm-ifs/default-empty.ifs |
 | clang/test/InterfaceStubs/driver-test3.c |
 | llvm/test/tools/llvm-ifs/strong.ifs |
 | clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp |
 | llvm/test/tools/llvm-ifs/conflict-header-format.ifs |
 | clang/test/InterfaceStubs/constructor-using-shadow.cpp |
 | llvm/test/tools/llvm-ifs/version-ok.ifs |
 | llvm/test/tools/llvm-ifs/watchos-tbd.ifs |
 | clang/test/InterfaceStubs/conflict-type.ifs |
 | clang/test/InterfaceStubs/lambda.cpp |
 | clang/test/InterfaceStubs/cxx-conversion.cpp |
 | clang/test/InterfaceStubs/windows.cpp |
 | llvm/test/tools/llvm-ifs/conflict-weak.ifs |
Commit
616289ed29225c0ddfe5699c7fdf42a0fcbe0ab4
by jrtc27[LegalizeTypes][RISCV] Correctly sign-extend comparison for ATOMIC_CMP_XCHG
Summary: Currently, the comparison argument used for ATOMIC_CMP_XCHG is legalised with GetPromotedInteger, which leaves the upper bits of the value undefind. Since this is used for comparing in an LR/SC loop with a full-width comparison, we must sign extend it. We introduce a new getExtendForAtomicCmpSwapArg to complement getExtendForAtomicOps, since many targets have compare-and-swap instructions (or pseudos) that correctly handle an any-extend input, and the existing function determines the extension of the result, whereas we are concerned with the input.
This is related to https://reviews.llvm.org/D58829, which solved the issue for ATOMIC_CMP_SWAP_WITH_SUCCESS, but not the simpler ATOMIC_CMP_SWAP.
Reviewers: asb, lenary, efriedma
Reviewed By: asb
Subscribers: arichardson, hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, jfb, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, evandro, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74453
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.h |
 | llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
Commit
64acef386ec662c5faea8d7c86b6d53ad7bfd9ae
by Louis Dionne[libc++] Handle SSH errors more gracefully and make sure we clean up the tmp directory
|
 | libcxx/utils/ssh.py |
Commit
c6a65bb93f218dbdec98f51952a309afda5608ea
by sylvestreclagn-tidy/doc: Add a link to readability-static-accessed-through-instance from readability-convert-member-functions-to-static
|
 | clang-tools-extra/docs/clang-tidy/checks/readability-convert-member-functions-to-static.rst |
Commit
f527e6f2e11dcda8e71c21138fa15e3a3b9e9917
by grimar[llvm-readobj] - Do not crash when SHT_HASH table is broken.
We have scenarios when the logic of --elf-hash-histogram/--hash-symbols/--hash-table options might crash when given a broken hash table.
This patch adds pre-checks for tables for these 3 options and provides test cases.
Differential revision: https://reviews.llvm.org/D77147
|
 | llvm/test/tools/llvm-readobj/ELF/hash-symbols.test |
 | llvm/test/tools/llvm-readobj/ELF/hash-histogram.test |
 | llvm/test/tools/llvm-readobj/ELF/hash-table.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
Commit
f2036a15d3714fc9cfc8935634814d1c4e4263fa
by maskray[ELF] Print symbols with non-default versions for better "undefined symbol" diagnostics
When reporting an "undefined symbol" diagnostic:
* We don't print @ for the reference. * We don't print @ or @@ for the definition. https://bugs.llvm.org/show_bug.cgi?id=45318
This can lead to confusing diagnostics:
``` // foo may be foo@v2 ld.lld: error: undefined symbol: foo >>> referenced by t1.o:(.text+0x1) // foo may be foo@v1 or foo@@v1 >>> did you mean: foo >>> defined in: t.so ```
There are 2 ways a symbol in symtab may get truncated:
* A @@ definition may be truncated *early* by SymbolTable::insert(). The name ends with a '\0'. * A @ definition/reference may be truncated *later* by Symbol::parseSymbolVersion(). The name ends with a '@'.
This patch detects the second case and improves the diagnostics. The first case is not improved but the second case is sufficient to make diagnostics not confusing.
Reviewed By: ruiu
Differential Revision: https://reviews.llvm.org/D76999
|
 | lld/ELF/Symbols.cpp |
 | lld/ELF/Symbols.h |
 | lld/test/ELF/undef-suggest-version.s |
Commit
c87b5e7e22b2df92021ac5fcc69160901a5841a9
by aheejin[WebAssembly] Fix subregion relationship in CFGSort
Summary: The previous code for determining the innermost region in CFGSort was not correct. We determine subregion relationship by domination of their headers, i.e., if region A's header dominates region B's header, B is a subregion of A. Previously we assumed that if a BB belongs to both a loop and an exception, the region with fewer number of BBs is the innermost one. This may not be true, because while WebAssemblyException contains BBs in all its subregions (loops or exceptions), MachineLoop may not, because MachineLoop does not contain BBs that don't have a path to its header even if they are dominated by its header.
Loop header <---| | | Exception header | | \ | A B | | \ | | C | | | Loop latch | | | -------------|
For example, in this CFG, the loop does not contain B and C, because they don't have a path back to the loops header. But for CFGSort we consider the exception here belongs to the loop and the exception should be a subregion of the loop and scheduled together.
So here we should use `WE->contains(ML->getHeader())` (but not `ML->contains(WE->getHeader())`, for the stated region above).
This also fixes some comments and deletes `Regions` vector in `RegionInfo` class, which was not used anywere.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77181
|
 | llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp |
 | llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll |
Commit
3500cc8d891bb3825bb3275affe6db8b12f2f695
by Artem Dergachev[analyzer] RetainCountChecker: Add a suppression for OSSymbols.
OSSymbol objects are particular XNU OSObjects that aren't really reference-counted. Therefore you cannot do any harm by over- or under-releasing them.
|
 | clang/test/Analysis/osobject-retain-release.cpp |
 | clang/lib/Analysis/RetainSummaryManager.cpp |
Commit
bb4a36ea280283cb980cff07a81601d1ff3b81ba
by maskray[ELF] Propagate LMA offset to sections with neither AT() nor AT>
Fixes https://bugs.llvm.org/show_bug.cgi?id=45313 Also fixes linkerscript/{at4.s,overlay.test} LMA address issues exposed by 011b785505b1f6d315a93fd0a0409576ad8d1805. Related: D74297
This patch improves emulation of GNU ld's heuristics on the difference between the LMA and the VMA: https://sourceware.org/binutils/docs/ld/Output-Section-LMA.html#Output-Section-LMA
New test linkerscript/lma-offset.s (based on at4.s) demonstrates some behaviors.
Reviewed By: psmith
Differential Revision: https://reviews.llvm.org/D76995
|
 | lld/test/ELF/linkerscript/at4.s |
 | lld/test/ELF/linkerscript/overlay.test |
 | lld/ELF/LinkerScript.cpp |
 | lld/test/ELF/linkerscript/loadaddr.s |
 | lld/docs/ELF/linker_script.rst |
 | lld/test/ELF/linkerscript/lma-offset.s |
 | lld/test/ELF/linkerscript/map-file2.test |
Commit
0489d39ead2b8ced20ba73ba4fda066d54deeb73
by Louis Dionne[libc++] SSH: Properly handle test-executables that are not the first argument
If a ShTest has for example another command in front of the test executable it wants to execute, ssh.py needs to properly translate the path of that test executable to the executable on the remote host. For example, running '%{exec} ! %t.exe', we can't assume that the test-executable is the first argument after '%{exec}'.
|
 | libcxx/utils/ssh.py |
Commit
153dadf3a3ca3c47f8c0fb718ec96616a05e42fd
by aschwaighofer[clang] CodeGen: Make getOrEmitProtocol public for Swift
Summary: Swift would like to use clang's apis to emit protocol declarations.
This commits adds the public API:
``` emitObjCProtocolObject(CodeGenModule &CGM, const ObjCProtocolDecl *p); ```
rdar://60888524
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77077
|
 | clang/lib/CodeGen/CGObjCRuntime.h |
 | clang/include/clang/CodeGen/CodeGenABITypes.h |
 | clang/lib/CodeGen/CGObjCGNU.cpp |
 | clang/lib/CodeGen/CGObjCMac.cpp |
 | clang/lib/CodeGen/CGObjCRuntime.cpp |
Commit
7c5fcb3591b57b77c079700d7b12c2ecfd995818
by ishizaki[lld] NFC: fix trivial typos in comments
Differential Revision: https://reviews.llvm.org/D72339
|
 | lld/ELF/SyntheticSections.cpp |
 | lld/test/wasm/export-optional-lazy.ll |
 | lld/lib/ReaderWriter/MachO/GOTPass.cpp |
 | lld/test/ELF/ppc64-local-dynamic.s |
 | lld/test/wasm/visibility-hidden.ll |
 | lld/test/ELF/warn-backrefs.s |
 | lld/wasm/Driver.cpp |
 | lld/test/ELF/pack-dyn-relocs.s |
 | lld/test/ELF/mips-sto-pic-flag.s |
 | lld/test/wasm/lto/undef.ll |
 | lld/test/wasm/lto/signature-mismatch.ll |
 | lld/test/ELF/Inputs/undef-bad-debug.s |
 | lld/test/ELF/lto/common4.ll |
 | lld/test/wasm/signature-mismatch-unknown.ll |
 | lld/ELF/ScriptLexer.cpp |
 | lld/test/mach-o/parse-literals-error.yaml |
 | lld/test/wasm/undefined-entry.test |
 | lld/test/ELF/arm-exidx-add-missing.s |
 | lld/test/wasm/entry-signature.ll |
 | lld/ELF/Arch/PPC64.cpp |
 | lld/test/COFF/secidx-absolute.s |
 | lld/test/ELF/invalid/broken-relaxation-x64.test |
 | lld/ELF/InputSection.cpp |
 | lld/test/ELF/ppc64-split-stack-prologue-adjust-success.s |
 | lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp |
 | lld/ELF/CallGraphSort.cpp |
 | lld/wasm/SymbolTable.cpp |
 | lld/wasm/SymbolTable.h |
 | lld/test/ELF/icf-absolute2.s |
 | lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp |
 | lld/lib/ReaderWriter/MachO/TLVPass.cpp |
 | lld/ELF/SyntheticSections.h |
 | lld/test/ELF/linkerscript/subalign.s |
 | lld/include/lld/Core/Reference.h |
 | lld/wasm/Symbols.h |
 | lld/test/mach-o/error-simulator-vs-macosx.yaml |
 | lld/test/ELF/linkerscript/align1.test |
 | lld/test/ELF/allow-multiple-definition.s |
 | lld/test/ELF/executable-undefined-ignoreall.s |
 | lld/wasm/Symbols.cpp |
Commit
160b01c9ef6768d4a135bdf27c46ceadb0bc5070
by Louis Dionne[libc++] SSH: Use -p when scp'ing to preserve modes and modification times
|
 | libcxx/utils/ssh.py |
Commit
9b31e595d717f70f1a5d95542bb71e6f053439f0
by ravishankarm[mlir] Modify GPU to SPIR-V conversion to respect spv.interface_var_abi attributes if it exists already.
Differential Revision: https://reviews.llvm.org/D77195
|
 | mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp |
Commit
6593360ee760c0c98cf7fb05be70aa4ea455a42a
by arsenm2AMDGPU: Fix consistently backwards logic for default denormal mode
I forgot to squash this into c9d65a48af1d7bbfed7e785613cc9d9acf71821b
|
 | clang/lib/Driver/ToolChains/AMDGPU.cpp |
Commit
4ea3650c212ae471657d3a253cd424ce9d1316ac
by arsenm2HIP: Link correct denormal mode library
This wasn't respecting the flush mode based on the default, and also wasn't correctly handling the explicit -fno-cuda-flush-denormals-to-zero overriding the mode.
|
 | clang/lib/Driver/ToolChains/HIP.cpp |
 | clang/test/Driver/hip-device-libs.hip |
Commit
95fac2e46b73c67495dbdb43ef178d33281c05ec
by tlively[WebAssembly] Rename SIMD min/max/avgr intrinsics for consistency
Summary: The convention for the wasm_simd128.h intrinsics is to have the integer sign in the lane interpretation rather than as a suffix. This PR changes the names of the integer min, max, and avgr intrinsics to match this convention.
Reviewers: aheejin
Subscribers: dschuff, sbc100, jgravelle-google, sunfish, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77185
|
 | clang/lib/Headers/wasm_simd128.h |
Commit
f08df464ae89972a777c0a7e299a2c153a9829d8
by a.bataev[OPENMP50]Add initial support for OpenMP 5.0 iterator.
Added basic parsing/semantic analysis/(de)serialization support for iterator expression introduced in OpenMP 5.0.
|
 | clang/include/clang/Basic/StmtNodes.td |
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp |
 | clang/test/OpenMP/task_depend_messages.cpp |
 | clang/lib/AST/Type.cpp |
 | clang/lib/AST/OpenMPClause.cpp |
 | clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp |
 | clang/tools/libclang/CIndex.cpp |
 | clang/lib/AST/StmtPrinter.cpp |
 | clang/include/clang-c/Index.h |
 | clang/include/clang/AST/ComputeDependence.h |
 | clang/include/clang/AST/OpenMPClause.h |
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/include/clang/AST/ExprOpenMP.h |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/lib/AST/ItaniumMangle.cpp |
 | clang/lib/AST/TypeLoc.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/lib/Sema/SemaExceptionSpec.cpp |
 | clang/lib/Serialization/ASTReaderStmt.cpp |
 | clang/lib/Serialization/ASTCommon.cpp |
 | clang/include/clang/Basic/DiagnosticParseKinds.td |
 | clang/include/clang/Parse/Parser.h |
 | clang/include/clang/Serialization/ASTBitCodes.h |
 | clang/test/OpenMP/task_ast_print.cpp |
 | clang/lib/Serialization/ASTReader.cpp |
 | clang/test/OpenMP/depobj_messages.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/tools/libclang/CXCursor.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/AST/NSAPI.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Sema/TreeTransform.h |
 | clang/lib/Serialization/ASTWriterStmt.cpp |
 | clang/lib/AST/ExprClassification.cpp |
 | clang/include/clang/AST/BuiltinTypes.def |
 | clang/lib/AST/StmtProfile.cpp |
 | clang/include/clang/AST/TextNodeDumper.h |
 | clang/include/clang/AST/RecursiveASTVisitor.h |
 | clang/include/clang/AST/ASTContext.h |
 | clang/lib/AST/ComputeDependence.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/AST/Expr.cpp |
 | clang/lib/Serialization/ASTWriter.cpp |
Commit
5e4e8d038820ab28050c8f242830cb00d5dc2f1a
by arsenm2AMDGPU/GlobalISel: Change intrinsic ID for _L to _LZ opt
Still should handle the other case changes the opcode this way.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/lib/Target/AMDGPU/MIMGInstructions.td |
Commit
68e283940a31378e0e61f6f7bbbdfbb3af74794a
by arsenm2AMDGPU/GlobalISel: Switch test to checking final ISA
The naming convention is for unprefixed .ll tests to check the final ISA instructions.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll |
Commit
3a7865df626c061fa72cb731f0af763254ed3beb
by Vedant Kumar[llvm-locstats] Fix labels on x-axis of comparison chart
Summary: This change makes the labels on the x-axis of a comparison chart look like: "0%", "(0%, 10%)", "[10%, 20%)", and so on.
Previously, each label was the same (a concatenation of all the possible coverage buckets).
Reviewers: djtodoro
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77155
|
 | llvm/utils/llvm-locstats/llvm-locstats.py |
Commit
68316afb29ca5bda0538bc69f96eebdff3954b48
by uday[MLIR][NFC] loop transforms/analyis utils cleanup / modernize
Modernize/cleanup code in loop transforms utils - a lot of this code was written prior to the currently available IR support / code style. This patch also does some variable renames including inst -> op, comment updates, turns getCleanupLoopLowerBound into a local function.
Differential Revision: https://reviews.llvm.org/D77175
|
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/lib/Transforms/PipelineDataTransfer.cpp |
 | mlir/lib/Analysis/LoopAnalysis.cpp |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/include/mlir/Analysis/LoopAnalysis.h |
Commit
572890f1d3933bb8756a3cabd5574201f8ce807c
by uday[MLIR][NFC] clean up affine data copy test case
Capture maps to test better; drop unnecessary matches
Differential Revision: https://reviews.llvm.org/D77196
|
 | mlir/test/Dialect/Affine/affine-data-copy.mlir |
Commit
0dd21130efcd33e063155bba9af67517d59305c6
by joker.ephAdd LLVM_ATTRIBUTE_UNUSED to function used only in assert (NFC)
|
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
Commit
b8c260c38d0ae93f8ae037fc1e9b94695b06d7ec
by joker.ephRemove linking all targets from `mlir-opt` (NFC)
There is no need to directly depends on this from mlir-opt, some library may transitively depend on a subset of the targets when enabled (like NVPTX for Cuda codegen tests) but this is handled by CMake already.
|
 | mlir/tools/mlir-opt/CMakeLists.txt |
Commit
c4c20376f7ee78a8ed06415a61b65a7e32d94556
by ntv[mlir][Linalg][Doc] Minor doc fixes
|
 | mlir/docs/Dialects/Linalg.md |
Commit
3f465d0d362849b64951bca6bbe1403403b408d8
by Matthew.ArsenaultAMDGPU: Fix broken check lines
|
 | llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/vect-ptr-ptr-size-mismatch.ll |
 | llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll |
Commit
4b35c816ef7afd9e39da621174c1b03b2f325830
by nikita.ppv[InstCombine] Use replaceOperand() in div transforms
To make sure the old operand is DCEd.
NFC apart from worklist order.
|
 | llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp |
Commit
d40368fdb5e1b90e68b1078f32c283aa800238be
by nikita.ppv[InstCombine] Erase old instruction when replacing extractelements
As we are not returning the result of replaceInstUsesWith(), so we need to clean up ourselves.
NFC apart from worklist order.
|
 | llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp |
Commit
c4499e333337ef67f30d81eefd044816a8cf6f29
by uday[Attributor] Make attributor aware of aligned_alloc for heap to stack conversion
Make the attributor pass aware of aligned_alloc for converting heap allocations to stack ones.
Depends on D76971.
Differential Revision: https://reviews.llvm.org/D76974
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/heap_to_stack.ll |
Commit
4cf70af94fbe910e64fa1d36cdd5bf7e46785795
by uday[GVN] Make GVN aware of aligned_alloc
Make the GVN pass aware of aligned_alloc.
Depends on D76974.
Differential Revision: https://reviews.llvm.org/D76975
|
 | llvm/test/Transforms/GVN/malloc-load-removal.ll |
 | llvm/lib/Transforms/Scalar/GVN.cpp |
Commit
6ee11c3b0f3605fa45dd7457b650b2d9d1c6ea74
by uday[NewGVN] Make NewGVN aware of aligned_alloc
Make the New GVN pass aware of aligned_alloc.
Depends on D76975.
Differential Revision: https://reviews.llvm.org/D76976
|
 | llvm/test/Transforms/NewGVN/malloc-load-removal.ll |
 | llvm/lib/Transforms/Scalar/NewGVN.cpp |
Commit
2a77544ad5911a38f81c0300385033fced1cc66d
by nikita.ppv[SimplifyLibCalls] Erase replaced instructions
After RAUWing an instruction, also erase it. This makes sure we don't perform extra InstCombine iterations to clean up the garbage.
|
 | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |
Commit
50a3e8738a90cfd4915b24c33782cf6a87216b78
by nikita.ppvRevert "[InstCombine] Erase old instruction when replacing extractelements"
This reverts commit d40368fdb5e1b90e68b1078f32c283aa800238be.
llvm-clang-x86_64-expensive-checks-debian failure looks related.
|
 | llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp |
Commit
1148f004fa35f1b74942bb1f578763d9dd79aa4a
by Jonathan RoelofsFix PR45371: SeparateConstOffsetFromGEP clean up bookkeeping
find() was altering the UserChain, even in cases where it subsequently discovered that the resulting constant was a 0. This confuses rebuildWithoutConstOffset() when it attempts to walk the chain later, since it is expected that the chain itself be a path down the use-def edges of an expression.
|
 | llvm/test/Transforms/SeparateConstOffsetFromGEP/pr45371-find-either-reset.ll |
 | llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp |
Commit
c028472fa1f0e20cc87cfa47d87fe0dd65fea830
by a.bataevRevert "[OPENMP50]Add initial support for OpenMP 5.0 iterator."
This reverts commit f08df464ae89972a777c0a7e299a2c153a9829d8 to fix the bug with serialization support for iterator expression.
|
 | clang/lib/AST/ItaniumMangle.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/AST/TypeLoc.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/Serialization/ASTCommon.cpp |
 | clang/include/clang/Serialization/ASTBitCodes.h |
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/tools/libclang/CIndex.cpp |
 | clang/include/clang/AST/ASTContext.h |
 | clang/include/clang/Parse/Parser.h |
 | clang/lib/AST/StmtProfile.cpp |
 | clang/include/clang-c/Index.h |
 | clang/include/clang/AST/RecursiveASTVisitor.h |
 | clang/include/clang/AST/ComputeDependence.h |
 | clang/include/clang/Basic/StmtNodes.td |
 | clang/lib/AST/StmtPrinter.cpp |
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/include/clang/AST/TextNodeDumper.h |
 | clang/lib/AST/ASTContext.cpp |
 | clang/lib/AST/Expr.cpp |
 | clang/lib/Serialization/ASTWriterStmt.cpp |
 | clang/lib/AST/NSAPI.cpp |
 | clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/include/clang/Basic/DiagnosticParseKinds.td |
 | clang/test/OpenMP/task_ast_print.cpp |
 | clang/lib/AST/OpenMPClause.cpp |
 | clang/lib/AST/Type.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/AST/ExprClassification.cpp |
 | clang/lib/Serialization/ASTWriter.cpp |
 | clang/lib/Serialization/ASTReaderStmt.cpp |
 | clang/lib/Sema/TreeTransform.h |
 | clang/include/clang/AST/ExprOpenMP.h |
 | clang/lib/Serialization/ASTReader.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/include/clang/AST/BuiltinTypes.def |
 | clang/lib/Sema/SemaExceptionSpec.cpp |
 | clang/test/OpenMP/task_depend_messages.cpp |
 | clang/include/clang/AST/OpenMPClause.h |
 | clang/lib/AST/ComputeDependence.cpp |
 | clang/test/OpenMP/depobj_messages.cpp |
 | clang/tools/libclang/CXCursor.cpp |
Commit
8431dbacd495e51f5bbb46d1af9042520098cd75
by spatel[InstCombine] add tests for negate with xor operand; NFC
|
 | llvm/test/Transforms/InstCombine/sub-of-negatible.ll |
Commit
3d9004879118c734fd9a5e112fb2bf22cf647668
by spatel[InstCombine] enhance freelyNegateValue() by handling xor
Negation is equivalent to bitwise-not + 1, so try to convert more subtracts into adds using this relationship: 0 - (A ^ C) => ((A ^ C) ^ -1) + 1 => A ^ ~C + 1
I doubt this will recover the regression noted in rGf2fbdf76d8d0, but seems like we're going to need to improve here and/or revive D68408?
Alive2 proofs: http://volta.cs.utah.edu:8080/z/Re5tMU http://volta.cs.utah.edu:8080/z/An-uns
Differential Revision: https://reviews.llvm.org/D77230
|
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/test/Transforms/InstCombine/sub-of-negatible.ll |
Commit
123a5328f919bab8ea1344c05e9edc2c506c9d51
by alexbrachetmialot[libc] Add sigfillset and sigdelset
Summary: Add's `sigfillset` and `sigdelset` which will be used in D76676.
Reviewers: sivachandra, PaulkaToast
Reviewed By: sivachandra
Subscribers: mgorny, MaskRay, tschuett, libc-commits
Differential Revision: https://reviews.llvm.org/D76936
|
 | libc/src/signal/linux/sigdelset.cpp |
 | libc/src/signal/linux/sigfillset.cpp |
 | libc/src/signal/sigdelset.h |
 | libc/test/src/signal/sigdelset_test.cpp |
 | libc/src/signal/linux/CMakeLists.txt |
 | libc/src/signal/sigfillset.h |
 | libc/src/signal/linux/signal.h |
 | libc/test/src/signal/CMakeLists.txt |
 | libc/test/src/signal/sigfillset_test.cpp |
Commit
53e2380881076492b9124d726b6f38a7669c61cd
by Lang Hames[ORC] Add JITDylib name to debugging output when defining symbols.
|
 | llvm/include/llvm/ExecutionEngine/Orc/Core.h |
Commit
8e5a8f620cc2ac2805fce77eddea3405329f90df
by Lang Hames[ORC] Don't require a null-terminator on MemoryBuffers for objects in archives.
The MemoryBuffer::getMemBuffer method's RequiresNullTerminator parameter defaults to true, but object files are not null terminated so we need to explicitly pass false here.
|
 | llvm/test/ExecutionEngine/OrcLazy/Inputs/basic-object-source.ll |
 | llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp |
 | llvm/test/ExecutionEngine/OrcLazy/basic-object-file-loading.ll |
 | llvm/test/ExecutionEngine/OrcLazy/Inputs/foo-return-i32-0.ll |
 | llvm/test/ExecutionEngine/OrcLazy/Inputs/bar-return-i32-call-foo.ll |
 | llvm/test/ExecutionEngine/OrcLazy/static-library-support.ll |
Commit
e65e677ee4eed83a31503b1a7db3fca56f617eae
by daniel_l_sanders[globalisel][legalizer] Fix DebugLoc bugs caught by a prototype lost-location verifier
The legalizer has a tendency to lose DebugLoc's when expanding or combining instructions. The verifier that detected these isn't ready for upstreaming yet but this patch fixes the cases that came up when applying it to our out-of-tree backend's CodeGen tests.
This pattern comes up a few more times in this file and probably in the backends too but I'd prefer to fix the others separately (and preferably when the lost-location verifier detects them).
|
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
Commit
30350c254106ce25b16b13f05e713ceb2b15ce09
by waltermelon[source maps] Ensure all valid source maps are added instead of failing with the first invalid one
Summary: Several lldb-vscode users have noticed that when a source map rule is invalid (because a folder doesn't exist anymore), the rest of the source maps from their configurations are not applied. This happens because lldb-vscode executes a single "settings set target.source-map" command with all the source maps and LLDB processes them one by one until one fails.
Instead of doing this, we can process in LLDB all the source map rules and apply the valid ones instead of failing fast.
Reviewers: clayborg, labath, kusmour, aadsm
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D77186
|
 | lldb/test/API/functionalities/source-map/TestTargetSourceMap.py |
 | lldb/source/Interpreter/OptionValuePathMappings.cpp |
Commit
f1242ec54306c5fbdc9a907e936be899a0ad21ee
by walter erquinigo[intel-pt] Implement a basic test case
Summary: Depends on D76872.
There was no test for the Intel PT support on LLDB, so I'm creating one, which will help making progress on solid grounds.
The test is skipped if the Intel PT plugin library is not built.
Reviewers: clayborg, labath, kusmour, aadsm
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D77107
|
 | lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py |
 | lldb/test/API/tools/intel-features/intel-pt/test/Makefile |
 | lldb/test/API/tools/intel-features/intel-pt/test/main.cpp |
 | lldb/tools/intel-features/intel-pt/cli-wrapper-pt.cpp |
Commit
db92719c1d17f5052e7cd1309b0e1e92240f47be
by dblaikieDebugInfo: Defaulted non-type template parameters of bool type
Caused an assertion due to mismatched bit widths - this seems like the right API to use for a possibly width-varying equality test. Though certainly open to some post-commit review feedback if there's a more suitable way to do this comparison/test.
|
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/test/CodeGenCXX/debug-info-template-parameter.cpp |
Commit
6e916b5860950fee2661ded847abe551f5259ec4
by aaronUpdating the documentation for the noescape attribute.
A question came up from a glibc maintainer as to whether it was permissible to free a pointer marked [[clang::noescape]], and after investigation, I determined that this is allowed. This updates the documentation in case others have the same question.
|
 | clang/include/clang/Basic/AttrDocs.td |
Commit
8ba8a4a14d417abd4a104c0f8b5ec289ed0a1b16
by walter erquinigoRevert "[intel-pt] Implement a basic test case"
This reverts commit f1242ec54306c5fbdc9a907e936be899a0ad21ee.
|
 | lldb/test/API/tools/intel-features/intel-pt/test/main.cpp |
 | lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py |
 | lldb/test/API/tools/intel-features/intel-pt/test/Makefile |
 | lldb/tools/intel-features/intel-pt/cli-wrapper-pt.cpp |
Commit
92e563bc05d425c4667c44ce363f5db39cc3a25b
by Louis Dionne[libc++] SSH: Create a tarball of dependencies and scp that instead
The benefit of doing this is that we can now handle directories that contain symlinks and other arbitrary things, such as the static_test_env required by filesystem tests.
As a fly-by fix, we also accumulate several commands to perform over SSH and execute them at once instead of SSHing several times. This should be faster on average.
|
 | libcxx/utils/ssh.py |
Commit
c911cc6c49394909a335c8d7baffcfd8bdcc424b
by walter erquinigo[intel-pt] Implement a basic test case
Summary: Depends on D76872.
There was no test for the Intel PT support on LLDB, so I'm creating one, which will help making progress on solid grounds.
The test is skipped if the Intel PT plugin library is not built.
Reviewers: clayborg, labath, kusmour, aadsm
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D77107
|
 | lldb/test/API/tools/intel-features/intel-pt/test/Makefile |
 | lldb/tools/intel-features/intel-pt/cli-wrapper-pt.cpp |
 | lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py |
 | lldb/test/API/tools/intel-features/intel-pt/test/main.cpp |
Commit
064c634ef3d44e7b50db86ec0d1f64e718b6dfe4
by walter erquinigoRevert "[intel-pt] Implement a basic test case"
This reverts commit c911cc6c49394909a335c8d7baffcfd8bdcc424b.
|
 | lldb/tools/intel-features/intel-pt/cli-wrapper-pt.cpp |
 | lldb/test/API/tools/intel-features/intel-pt/test/Makefile |
 | lldb/test/API/tools/intel-features/intel-pt/test/main.cpp |
 | lldb/test/API/tools/intel-features/intel-pt/test/TestIntelPTSimpleBinary.py |
Commit
8bf1583b71d7ecd857ddb8286e3ae59a2418747d
by riddleriver[mlir] Move LLVMPassIncGen to LLVMIR/Transforms/CMakeLists.txt
This fixes a build error with the make generator for a missing sub-directory.
|
 | mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt |
 | mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt |
Commit
5e8093134af282765989be7ad213a105fe0ca3b4
by uday[MLIR] Add method to drop duplicate result exprs from AffineMap
Add a method that given an affine map returns another with just its unique results. Use this to drop redundant bounds in max/min for affine.for. Update affine.for's canonicalization pattern and createCanonicalizedForOp to use this.
Differential Revision: https://reviews.llvm.org/D77237
|
 | mlir/include/mlir/Transforms/LoopUtils.h |
 | mlir/lib/Dialect/Affine/IR/AffineOps.cpp |
 | mlir/lib/Transforms/Utils/LoopUtils.cpp |
 | mlir/include/mlir/IR/AffineMap.h |
 | mlir/test/Conversion/AffineToStandard/lower-affine.mlir |
 | mlir/lib/IR/AffineMap.cpp |
 | mlir/test/Dialect/Affine/canonicalize.mlir |
Commit
7c771631c6f7e1e09a9ba1421adb83a98596cf35
by uday[MLIR][NFC] drop unnecessary matches in affine dma generate test case
Drop unnecessary matches in affine DMA generate test case.
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77243
|
 | mlir/test/Dialect/Affine/dma-generate.mlir |
Commit
f203100ebe22bf97a4268a562cdbef22d14db915
by Vedant KumarReapply: [Host.mm] Check for the right macro instead of inlining it
Previously, this was reverted in bf65f19b becuase it checked whether TARGET_OS_EMBEDDED is defined, but that macro is always defined.
Update the condition to check that TARGET_OS_OSX is true.
|
 | lldb/source/Host/macosx/objcxx/Host.mm |
Commit
296ccef70363df9195bc678ad5501dd44de7f8fb
by sbc[WebAssembly] EmscriptenEHSjLj: Mark __invoke_ functions as imported
This means the linker will be expect them be undefined at link time an will generate imports from the `env` module rather than reporting undefined externals.
Differential Revision: https://reviews.llvm.org/D77192
|
 | llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll |
 | llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp |
Commit
e6a39f00e8d0cd3684df54fb03d288efe2969202
by zoecarver[libcxx] Stop using builtin type traits for is_floating_point and is_arithmetic.
Based on an issue brought up in https://reviews.llvm.org/D67900, this commit reverts the changes to is_floating_point and is_arithmetic made in D67900.
After D67900 landed, __float128 behaved differently in those two type traits, causing compiler errors in numeric limits (and possibly others).
|
 | libcxx/include/type_traits |
Commit
f4754ea0ed7ddc35042bacbc47d661bfe660f132
by Adrian PrantlRemove const qualifier from Modules returned by ExternalASTSource. (NFC)
This API is used by LLDB to attach owning module information to Declarations deserialized from DWARF.
Differential Revision: https://reviews.llvm.org/D75561
|
 | clang/include/clang/Basic/Module.h |
 | clang/lib/Basic/Module.cpp |
 | clang/lib/Serialization/ASTReader.cpp |
Commit
4354dfbdf5c8510a7ddff10ae67a28e16cf7cc79
by Adrian PrantlPreserve the owning module information from DWARF in the synthesized AST
Types that came from a Clang module are nested in DW_TAG_module tags in DWARF. This patch recreates the Clang module hierarchy in LLDB and sets the owning module information accordingly. My primary motivation is to facilitate looking up per-module APINotes for individual declarations, but this likely also has other applications.
rdar://problem/59634380
Differential Revision: https://reviews.llvm.org/D75488
|
 | lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm |
 | lldb/source/Plugins/Language/ObjC/NSDictionary.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/module.modulemap |
 | lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h |
 | lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/B.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp |
 | lldb/source/Symbol/Type.cpp |
 | lldb/include/lldb/Symbol/CompilerType.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/lit.local.cfg |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/A.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Symbol/CompilerType.cpp |
 | lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp |
 | lldb/source/Symbol/TypeSystem.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/unittests/Symbol/TestTypeSystemClang.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp |
 | lldb/include/lldb/Symbol/TypeSystem.h |
 | lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h |
Commit
6cd673345cfa7b1dc25568ac9fd45e23402bbd02
by johannes[LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects
We already mention that `noalias` is modeled after the C99 `restrict` qualifier but we did omit one important requirement in the description. For the restrict guarantees the object affected has to be modified during the execution of the function, in any way (see 6.7.3.1.4 in [0]).
There are two reasons we want this restriction as well: 1) To match the `restrict` semantics when we lower it to `noalias`. 2) To allow the reasoning that the object pointed to by a `noalias` pointer is not modified through means not derived from this pointer. Hence, following the uses of that pointer is sufficient to determine potential modifications.
The discussion on this came up as part of D73428. In that patch the Attributor is taught to derive `noalias` for call site arguments based on alias queries against objects that are accessed in the callee. This is possible even if the pointer passed at the call site was "not-`noalias`". To simplify the logic there *and* to allow the use of `noalias` as described in 2) above, it is beneficial to follow the C `restrict` semantics in cases where there might be "read-read-aliases". Note that AliasAnalysis* queries for read only objects already result in `NoAlias` even if the pointers might "alias".
* From this point of view our Alias Analysis is basically a Dependence Analysis.
[0] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D74935
|
 | llvm/docs/LangRef.rst |
Commit
41f2a57d0bc1c54cefc3145102632fc5e767d953
by johannes[Attributor][NFC] Use a BumpPtrAllocator to allocate `AbstractAttribute`s
We create a lot of AbstractAttributes and they live as long as the Attributor does. It seems reasonable to allocate them via a BumpPtrAllocator owned by the Attributor.
Reviewed By: baziotis
Differential Revision: https://reviews.llvm.org/D76589
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
Commit
32672b877dc1e05bc4489f2f4598f5472bc60576
by Adrian PrantlRevert "Preserve the owning module information from DWARF in the synthesized AST"
This reverts commit 4354dfbdf5c8510a7ddff10ae67a28e16cf7cc79 while investigating bot fallout.
|
 | lldb/source/Symbol/TypeSystem.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/lit.local.cfg |
 | lldb/source/Plugins/Language/ObjC/NSDictionary.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/module.modulemap |
 | lldb/source/Symbol/Type.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp |
 | lldb/include/lldb/Symbol/TypeSystem.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/A.h |
 | lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/B.h |
 | lldb/include/lldb/Symbol/CompilerType.h |
 | lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h |
 | lldb/source/Symbol/CompilerType.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h |
 | lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp |
 | lldb/unittests/Symbol/TestTypeSystemClang.cpp |
 | lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h |
 | lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp |
Commit
0071eaaf0892d7ef733578312abefdcf84311071
by Lang Hames[ORC] Export __cxa_atexit from the main JITDylib in LLJIT.
Failure to export __cxa_atexit can lead to an attempt to import a definition from the process itself (if __cxa_atexit is referenced from another JITDylib), but the process definition will clash with the existing non-exported definition to produce an unexpected DuplicateDefinitionError.
This patch fixes the immediate issue by exporting __cxa_atexit. It also fixes a bug where atexit functions in other JITDylibs were not being run by adding a copy of run_atexits_helper to every JITDylib.
A follow up patch will deal with the bug where definition generators are called despite a non-exported definition being present.
|
 | llvm/test/ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll |
 | llvm/lib/ExecutionEngine/Orc/LLJIT.cpp |
Commit
df88d80337d5e0ee0e50ca599d6436854951d8fa
by Louis Dionne[libc++] Add missing FILE_DEPENDENCIES markup
|
 | libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp |
Commit
ff09135fc2b7a9696f87a8a8e89be2ef777895d3
by Louis Dionne[libc++] Execute tests from the Lit execution root instead of the test tree
Instead of executing tests from within the libc++ test suite, we execute them from the Lit execution directory. However, since some tests have file dependencies, we must copy those dependencies to the execution directory where they are executed.
This has the major benefit that if a test modifies a file (whether it is wanted or not), other tests will not see those modifications. This is good because current tests assume that input data is never modified, however this could be an incorrect assumption if some test does not behave properly.
|
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/utils/run.py |
 | libcxx/utils/libcxx/test/executor.py |
 | libcxx/utils/libcxx/test/format.py |
Commit
5767085c8de97d15d7fb5433f22bb5b858cc4f3a
by Yaxun.LiuFix infinite recursion in deferred diag emitter
Currently deferred diagnostic emitter checks variable decl in DeclRefExpr, which causes infinite recursion for cases like long a = (long)&a;.
Deferred diagnostic emitter does not need check variable decls in DeclRefExpr since reference of a variable does not cause emission of functions directly or indirectly. Therefore there is no need to check variable decls in DeclRefExpr.
Differential Revision: https://reviews.llvm.org/D76937
|
 | clang/lib/Sema/Sema.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/test/OpenMP/nvptx_target_exceptions_messages.cpp |
Commit
f7f932284352a6a57701f64575dc13263d234bf4
by johannes[Attributor][NFC] Cleanup leftover check lines
|
 | llvm/test/Transforms/Attributor/range.ll |
Commit
b1c788d051872020450cb9d6ebd6336bc72b3812
by johannes[Attributor][FIX] Prevent alignment breakage wrt. must-tail calls
If we have a must-tail call the callee and caller need to have matching ABIs. Part of that is alignment which we might modify when we deduce alignment of arguments of either. Since we would need to keep them in sync, which is not as simple, we simply avoid deducing alignment for arguments of the must-tail caller or callee.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D76673
|
 | llvm/include/llvm/Transforms/IPO/Attributor.h |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/test/Transforms/Attributor/align.ll |
Commit
5bac8d427d59bd2f25e51980ddbe18017bc45493
by thakisRevert "[ORC] Export __cxa_atexit from the main JITDylib in LLJIT."
This reverts commit 0071eaaf0892d7ef733578312abefdcf84311071. Inputs/noop-main.ll wasn't checked in, so this breaks check-llvm everywhere.
|
 | llvm/test/ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll |
 | llvm/lib/ExecutionEngine/Orc/LLJIT.cpp |
Commit
9e19693994dce2f3f897ee90aa25296bc0e786c0
by johannes[Attributor] Derive better alignment for accessed pointers
Use DL & ABI information for better alignment deduction, e.g., if a type is accessed and the ABI specifies an alignment requirement for such an access we can use it. This is based on a patch by @lebedev.ri and inspired by getBaseAlign in Loads.cpp.
Depends on D76673.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D76674
|
 | llvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll |
 | llvm/test/Transforms/Attributor/callbacks.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll |
 | llvm/test/Transforms/Attributor/misc.ll |
 | llvm/test/Transforms/Attributor/value-simplify.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll |
 | llvm/test/Transforms/Attributor/dereferenceable-2.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll |
 | llvm/test/Transforms/Attributor/dereferenceable-1.ll |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll |
 | llvm/test/Transforms/Attributor/readattrs.ll |
 | llvm/test/Transforms/Attributor/heap_to_stack.ll |
 | llvm/test/Transforms/Attributor/range.ll |
Commit
54d6a608bf81952fa042b101c31f58e8bfa9b1fd
by johannes[Attributor][NFC] Predetermine the module
It could happen that we delete the first function in the SCC in the future so we should be careful accessing `Functions` after the manifest stage.
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
a8b2fed0aef99be3efd11f8eec26df5a7d42fde2
by johannes[Utils][FIX] Properly deal with occasionally deleted functions
While D68850 allowed functions to be deleted I accidentally saved some version of the function to be used once a suitable prefix was found. This turned out to be problematic when the occasionally deleted function is also occasionally modified. The test case is adjusted to resemble the case in which the problem was found.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D76586
|
 | llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll.expected |
 | llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll |
 | llvm/utils/UpdateTestChecks/common.py |
Commit
ac96c8fd8535b50ab5ac158f521b0be8800df6fd
by johannes[Attributor][FIX] Do not compute ranges for arguments of declarations
This cannot be triggered right now, as far as I know, but it doesn't make sense to deduce a constant range on arguments of declarations. Exposed during testing of AAValueSimplify extensions.
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
bcd8009369f86be8649307692f5ba57aad5ca29b
by johannes[Attributor] Use the proper context instruction in genericValueTraversal
There was a TODO in genericValueTraversal to provide the context instruction and due to the lack of it users that wanted one just used something available. Unfortunately, using a fixed instruction is wrong in the presence of PHIs so we need to update the context instruction properly.
Reviewed By: uenoku
Differential Revision: https://reviews.llvm.org/D76870
|
 | llvm/test/Transforms/Attributor/range.ll |
 | llvm/lib/Transforms/IPO/Attributor.cpp |
Commit
7f5fe30a150e7e87d3fbe4da4ab0e76ec38b40b9
by nathan[cmake] Only set deps for an ExternalProject if the type is executable or library
Summary: cmake fails with an error when attempting to evaluate $<TARGET_FILE:tgt> where `tgt` is defined via an `add_custom_target` and thus the `TYPE` is `UTILITY`. Requesting a TARGET_FILE only works on an `EXECUTABLE` or one of a few differetnt types of `X_LIBRARY` (e.g. added via `add_library` or `add_executable`). The logic as implemented in cmake is below:
enum TargetType { EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY, MODULE_LIBRARY, OBJECT_LIBRARY, UTILITY, GLOBAL_TARGET, INTERFACE_LIBRARY, UNKNOWN_LIBRARY };
if (target->GetType() >= cmStateEnums::OBJECT_LIBRARY && target->GetType() != cmStateEnums::UNKNOWN_LIBRARY) { ::reportError(context, content->GetOriginalExpression(), "Target \"" + name + "\" is not an executable or library."); return nullptr; }
This has always been the case back to at least 3.12 (furthest I checked) but this is causing a new failure in cmake 3.17 while evaluating ExternalProjectAdd.
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77284
|
 | llvm/cmake/modules/LLVMExternalProjectUtils.cmake |
Commit
2ede5dccffa5f62d3f13eca603bc3ad0e73b7514
by serguei.katkov[DOC] Remove too strong restriction for ‘llvm.experimental.gc.statepoint’ Intrinsic
The requirement for deopt parameter to be in gc parameter if it can be modified by GC is very strong and difficult to follow.
The key example of why this can't work: %p1 = bitcast i8* %p to i8* statepoint [gc = (%p1)], [deopt = (%p1)]
The optimizer is allowed to replace either use (or both) of %p1 with %p. If it updates only one of the two (entirely legal), the two sets do not overlap.
So this change removes the strong wording.
Reviewers: reames, dantrushin Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D77122
|
 | llvm/docs/Statepoints.rst |
Commit
af1b7d06d9e45c7e20540aa3bf81f1be5befaa0f
by emasteCorrect copy-pasteo in lua script language description
|
 | lldb/source/Commands/CommandObjectWatchpointCommand.cpp |
Commit
b0b1f451ae693703acf7fb73ba5a772aaa070d67
by ikudrin[LLD][ELF] Follow the common pattern in a message about an undefined vtable symbol.
In most cases, LLD prints its multiline diagnostic messages starting additional lines with ">>> ". That greatly helps external tools to parse the output, simplifying combining several lines of the log back into one message. The patch fixes the only message I found that does not follow the common pattern.
Differential Revision: https://reviews.llvm.org/D77132
|
 | lld/ELF/Relocations.cpp |
 | lld/test/ELF/undef.s |
Commit
d1705c1196fedfe927716923ac121f1134924a36
by johannes[CUDA][NFC] Split math.h functions out of __clang_cuda_device_functions.h
This is not supported to change anything but allow us to reuse the math functions separately from the device functions, e.g., source them at different times. This will be used by the OpenMP overlay.
This also adds two `return` keywords that were missing.
Reviewed By: tra
Differential Revision: https://reviews.llvm.org/D77238
|
 | clang/lib/Headers/CMakeLists.txt |
 | clang/lib/Headers/__clang_cuda_math.h |
 | clang/lib/Headers/__clang_cuda_runtime_wrapper.h |
 | clang/lib/Headers/__clang_cuda_device_functions.h |
Commit
c9ae3c5e10796252a7938ac9fa1503481ef2c197
by Vitaly Buka[openmp] Disable tests flaky on Debian
https://bugs.llvm.org/show_bug.cgi?id=45397
|
 | openmp/runtime/test/tasking/bug_nested_proxy_task.c |
 | openmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c |
 | openmp/runtime/test/tasking/omp_task_depend_resize_hashmap.c |
Commit
410cfc478f3540d3f07bba920fa3bf99409f6bda
by johannes[OpenMP][FIX] Add second include after header was split in d1705c1196
The math wrapper handling is going to be replaced shortly and d1705c1196fedfe927716923ac121f1134924a36 was actually a precursor for that.
|
 | clang/lib/Headers/openmp_wrappers/__clang_openmp_math_declares.h |
Commit
85adce3d73589adc5f6ae486ebd035238fb20ac5
by maskray[PPCInstPrinter] Change B to print the target address in hexadecimal form
Follow-up of D76591 and D76907
|
 | llvm/test/tools/llvm-objdump/ELF/PowerPC/branch-offset.s |
 | lld/test/ELF/ppc64-toc-restore.s |
 | llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp |
 | lld/test/ELF/ppc32-local-branch.s |
 | lld/test/ELF/ppc32-reloc-rel.s |
 | lld/test/ELF/ppc32-canonical-plt.s |
 | lld/test/ELF/ppc64-reloc-rel.s |
 | lld/test/ELF/ppc32-call-stub-nopic.s |
 | lld/test/ELF/ppc64-call-reach.s |
 | llvm/test/CodeGen/PowerPC/alignlongjumptest.mir |
 | lld/test/ELF/ppc32-call-stub-pic.s |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
Commit
cbd3969e8cd13aba23e843ab72b8807d68804f71
by maskray[PPCInstPrinter] Delete an unneeded overload of printBranchOperand. NFC
It was added by D76591 for migration purposes (not all printBranchOperand users have migrated to the overload with `uint64_t Address`). Now that all have been migrated, the parameter can go away.
|
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h |
 | llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp |
Commit
61e89737c5daf7b65341936f88f68efb680cdcd4
by Louis Dionne[libc++] Simplify the configuration of the C++ ABI library
This commit removes support for building against the system libc++abi, which was supported on Apple platforms. This is basically never what we want to do, since libc++ and libc++abi are coupled and building a trunk libc++ against an older libc++abi can lead to incompatibilities (and good luck debugging them!). It might have made some sense to support that when the monorepo did not exist, however I don't think this is anything but a footgun nowadays.
Furthermore, based on the newly-made assumption that we're building against the monorepo libc++abi, we can simplify the search path logic for finding libc++abi.
This area of our build system has a lot of technical debt accumulated, and it's surprisingly difficult to change. We've tried different things and failed several times in the past. I did test this change on our Docker image for the build bots and on Apple platforms, however it is possible that this breaks some unknown configuration, in which case it should be fine to revert this (so we can try again!).
|
 | libcxx/CMakeLists.txt |
 | libcxx/cmake/Modules/HandleLibCXXABI.cmake |
Commit
de22d7154b4a1400c3b19e3df107a7e178c3a604
by lebedev.ri[llvm-exegesis] 'Min' repetition mode
Summary: As noted in documentation, different repetition modes have different trade-offs:
> .. option:: -repetition-mode=[duplicate|loop] > > Specify the repetition mode. `duplicate` will create a large, straight line > basic block with `num-repetitions` copies of the snippet. `loop` will wrap > the snippet in a loop which will be run `num-repetitions` times. The `loop` > mode tends to better hide the effects of the CPU frontend on architectures > that cache decoded instructions, but consumes a register for counting > iterations.
Indeed. Example:
>>! In D74156#1873657, @lebedev.ri wrote: > At least for `CMOV`, i'm seeing wildly different results > | | Latency | RThroughput | > | duplicate | 1 | 0.8 | > | loop | 2 | 0.6 | > where latency=1 seems correct, and i'd expect the througput to be close to 1/2 (since there are two execution units).
This isn't great for analysis, at least for schedule model development.
As discussed in excruciating detail in
>>! In D74156#1924514, @gchatelet wrote: >>>! In D74156#1920632, @lebedev.ri wrote: >> ... did that explanation of the question i'm having made any sense? > > Thx for digging in the conversation ! > Ok it makes more sense now. > > I discussed it a bit with @courbet: > - We want the analysis tool to stay simple so we'd rather not make it knowledgeable of the repetition mode. > - We'd like to still be able to select either repetition mode to dig into special cases > > So we could add a third `min` repetition mode that would run both and take the minimum. It could be the default option. > Would you have some time to look what it would take to add this third mode?
there appears to be an agreement that it is indeed sub-par, and that we should provide an optional, measurement (not analysis!) -time way to rectify the situation.
However, the solutions isn't entirely straight-forward.
We can just add an actual 'multiplexer' `MinSnippetRepetitor`, because if we just concatenate snippets produced by `DuplicateSnippetRepetitor` and `LoopSnippetRepetitor` and run+measure that, the measurement will naturally be different from what we'd get by running+measuring them separately and taking the min. ([[ https://www.wolframalpha.com/input/?i=%28x%2By%29%2F2+%21%3D+min%28x%2C+y%29 | `time(D+L)/2 != min(time(D), time(L))` ]])
Also, it seems best to me to have a single snippet instead of generating a snippet per repetition mode, since the only difference here is that the loop repetition mode reserves one register for loop counter.
As far as i can tell, we can either teach `BenchmarkRunner::runConfiguration()` to produce a single report given multiple repetitors (as in the patch), or do that one layer higher - don't modify `BenchmarkRunner::runConfiguration()`, produce multiple reports, don't actually print each one, but aggregate them somehow and only print the final one.
Initially i've gone ahead with the latter approach, but it didn't look like a natural fit; the former (as in the diff) does seem like a better fit to me.
There's also a question of the test coverage. It sure currently does work here: ``` $ ./bin/llvm-exegesis --opcode-name=CMOV64rr --mode=inverse_throughput --repetition-mode=duplicate Check generated assembly with: /usr/bin/objdump -d /tmp/snippet-8fb949.o --- mode: inverse_throughput key: instructions: - 'CMOV64rr RAX RAX R11 i_0x0' - 'CMOV64rr RBP RBP R15 i_0x0' - 'CMOV64rr RBX RBX RBX i_0x0' - 'CMOV64rr RCX RCX RBX i_0x0' - 'CMOV64rr RDI RDI R10 i_0x0' - 'CMOV64rr RDX RDX RAX i_0x0' - 'CMOV64rr RSI RSI RAX i_0x0' - 'CMOV64rr R8 R8 R8 i_0x0' - 'CMOV64rr R9 R9 RDX i_0x0' - 'CMOV64rr R10 R10 RBX i_0x0' - 'CMOV64rr R11 R11 R14 i_0x0' - 'CMOV64rr R12 R12 R9 i_0x0' - 'CMOV64rr R13 R13 R12 i_0x0' - 'CMOV64rr R14 R14 R15 i_0x0' - 'CMOV64rr R15 R15 R13 i_0x0' config: '' register_initial_values: - 'RAX=0x0' - 'R11=0x0' - 'EFLAGS=0x0' - 'RBP=0x0' - 'R15=0x0' - 'RBX=0x0' - 'RCX=0x0' - 'RDI=0x0' - 'R10=0x0' - 'RDX=0x0' - 'RSI=0x0' - 'R8=0x0' - 'R9=0x0' - 'R14=0x0' - 'R12=0x0' - 'R13=0x0' cpu_name: bdver2 llvm_triple: x86_64-unknown-linux-gnu num_repetitions: 10000 measurements: - { key: inverse_throughput, value: 0.819, per_snippet_value: 12.285 } error: '' info: instruction has tied variables, using static renaming. assembled_snippet: 5541574156415541545348B8000000000000000049BB00000000000000004883EC08C7042400000000C7442404000000009D48BD000000000000000049BF000000000000000048BB000000000000000048B9000000000000000048BF000000000000000049BA000000000000000048BA000000000000000048BE000000000000000049B8000000000000000049B9000000000000000049BE000000000000000049BC000000000000000049BD0000000000000000490F40C3490F40EF480F40DB480F40CB490F40FA480F40D0480F40F04D0F40C04C0F40CA4C0F40D34D0F40DE4D0F40E14D0F40EC4D0F40F74D0F40FD490F40C35B415C415D415E415F5DC3 ... $ ./bin/llvm-exegesis --opcode-name=CMOV64rr --mode=inverse_throughput --repetition-mode=loop Check generated assembly with: /usr/bin/objdump -d /tmp/snippet-051eb3.o --- mode: inverse_throughput key: instructions: - 'CMOV64rr RAX RAX R11 i_0x0' - 'CMOV64rr RBP RBP RSI i_0x0' - 'CMOV64rr RBX RBX R9 i_0x0' - 'CMOV64rr RCX RCX RSI i_0x0' - 'CMOV64rr RDI RDI RBP i_0x0' - 'CMOV64rr RDX RDX R9 i_0x0' - 'CMOV64rr RSI RSI RDI i_0x0' - 'CMOV64rr R9 R9 R12 i_0x0' - 'CMOV64rr R10 R10 R11 i_0x0' - 'CMOV64rr R11 R11 R9 i_0x0' - 'CMOV64rr R12 R12 RBP i_0x0' - 'CMOV64rr R13 R13 RSI i_0x0' - 'CMOV64rr R14 R14 R14 i_0x0' - 'CMOV64rr R15 R15 R10 i_0x0' config: '' register_initial_values: - 'RAX=0x0' - 'R11=0x0' - 'EFLAGS=0x0' - 'RBP=0x0' - 'RSI=0x0' - 'RBX=0x0' - 'R9=0x0' - 'RCX=0x0' - 'RDI=0x0' - 'RDX=0x0' - 'R12=0x0' - 'R10=0x0' - 'R13=0x0' - 'R14=0x0' - 'R15=0x0' cpu_name: bdver2 llvm_triple: x86_64-unknown-linux-gnu num_repetitions: 10000 measurements: - { key: inverse_throughput, value: 0.6083, per_snippet_value: 8.5162 } error: '' info: instruction has tied variables, using static renaming. assembled_snippet: 5541574156415541545348B8000000000000000049BB00000000000000004883EC08C7042400000000C7442404000000009D48BD000000000000000048BE000000000000000048BB000000000000000049B9000000000000000048B9000000000000000048BF000000000000000048BA000000000000000049BC000000000000000049BA000000000000000049BD000000000000000049BE000000000000000049BF000000000000000049B80200000000000000490F40C3480F40EE490F40D9480F40CE480F40FD490F40D1480F40F74D0F40CC4D0F40D34D0F40D94C0F40E54C0F40EE4D0F40F64D0F40FA4983C0FF75C25B415C415D415E415F5DC3 ... $ ./bin/llvm-exegesis --opcode-name=CMOV64rr --mode=inverse_throughput --repetition-mode=min Check generated assembly with: /usr/bin/objdump -d /tmp/snippet-c7a47d.o Check generated assembly with: /usr/bin/objdump -d /tmp/snippet-2581f1.o --- mode: inverse_throughput key: instructions: - 'CMOV64rr RAX RAX R11 i_0x0' - 'CMOV64rr RBP RBP R10 i_0x0' - 'CMOV64rr RBX RBX R10 i_0x0' - 'CMOV64rr RCX RCX RDX i_0x0' - 'CMOV64rr RDI RDI RAX i_0x0' - 'CMOV64rr RDX RDX R9 i_0x0' - 'CMOV64rr RSI RSI RAX i_0x0' - 'CMOV64rr R9 R9 RBX i_0x0' - 'CMOV64rr R10 R10 R12 i_0x0' - 'CMOV64rr R11 R11 RDI i_0x0' - 'CMOV64rr R12 R12 RDI i_0x0' - 'CMOV64rr R13 R13 RDI i_0x0' - 'CMOV64rr R14 R14 R9 i_0x0' - 'CMOV64rr R15 R15 RBP i_0x0' config: '' register_initial_values: - 'RAX=0x0' - 'R11=0x0' - 'EFLAGS=0x0' - 'RBP=0x0' - 'R10=0x0' - 'RBX=0x0' - 'RCX=0x0' - 'RDX=0x0' - 'RDI=0x0' - 'R9=0x0' - 'RSI=0x0' - 'R12=0x0' - 'R13=0x0' - 'R14=0x0' - 'R15=0x0' cpu_name: bdver2 llvm_triple: x86_64-unknown-linux-gnu num_repetitions: 10000 measurements: - { key: inverse_throughput, value: 0.6073, per_snippet_value: 8.5022 } error: '' info: instruction has tied variables, using static renaming. assembled_snippet: 5541574156415541545348B8000000000000000049BB00000000000000004883EC08C7042400000000C7442404000000009D48BD000000000000000049BA000000000000000048BB000000000000000048B9000000000000000048BA000000000000000048BF000000000000000049B9000000000000000048BE000000000000000049BC000000000000000049BD000000000000000049BE000000000000000049BF0000000000000000490F40C3490F40EA490F40DA480F40CA480F40F8490F40D1480F40F04C0F40CB4D0F40D44C0F40DF4C0F40E74C0F40EF4D0F40F14C0F40FD490F40C3490F40EA5B415C415D415E415F5DC35541574156415541545348B8000000000000000049BB00000000000000004883EC08C7042400000000C7442404000000009D48BD000000000000000049BA000000000000000048BB000000000000000048B9000000000000000048BA000000000000000048BF000000000000000049B9000000000000000048BE000000000000000049BC000000000000000049BD000000000000000049BE000000000000000049BF000000000000000049B80200000000000000490F40C3490F40EA490F40DA480F40CA480F40F8490F40D1480F40F04C0F40CB4D0F40D44C0F40DF4C0F40E74C0F40EF4D0F40F14C0F40FD4983C0FF75C25B415C415D415E415F5DC3 ... ``` but i open to suggestions as to how test that.
I also have gone with the suggestion to default to this new mode. This was irking me for some time, so i'm happy to finally see progress here. Looking forward to feedback.
Reviewers: courbet, gchatelet
Reviewed By: courbet, gchatelet
Subscribers: mstojanovic, RKSimon, llvm-commits, courbet, gchatelet
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76921
|
 | llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp |
 | llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp |
 | llvm/tools/llvm-exegesis/lib/BenchmarkResult.h |
 | llvm/docs/CommandGuide/llvm-exegesis.rst |
 | llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h |
 | llvm/tools/llvm-exegesis/llvm-exegesis.cpp |
Commit
b0b5f0416be60152ddc8d606b1720daba0005518
by johannes[OpenMP][FIX] Undo changes accidentally already introduced in NFC commit
In d1705c1196fe (D77238) we accidentally included subsequent changes and did not only move the code into a new file (which was the intention). We undo the changes now and re-introduce them with the appropriate test changes later.
|
 | clang/lib/Headers/__clang_cuda_math.h |
Commit
c18d55998b3352e6ec92ccb8a3240a16a57c61e6
by johannes[OpenMP][NFCI] Move OpenMP clause information to `lib/Frontend/OpenMP`
This is a cleanup and normalization patch that also enables reuse with Flang later on. A follow up will clean up and move the directive -> clauses mapping.
Differential Revision: https://reviews.llvm.org/D77112
|
 | clang/tools/libclang/CIndex.cpp |
 | clang/include/clang/AST/ASTFwd.h |
 | clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp |
 | clang/include/clang/Basic/OpenMPKinds.h |
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/lib/Analysis/CMakeLists.txt |
 | clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp |
 | clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt |
 | clang/include/clang/AST/OpenMPClause.h |
 | llvm/lib/Frontend/OpenMP/OMPConstants.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/include/clang/AST/ASTTypeTraits.h |
 | clang/lib/Serialization/ASTWriter.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | clang/lib/StaticAnalyzer/Core/CMakeLists.txt |
 | clang/include/clang/Basic/Attr.td |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/include/clang/Basic/OpenMPKinds.def |
 | clang/lib/AST/ASTTypeTraits.cpp |
 | clang/lib/Basic/OpenMPKinds.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPConstants.h |
 | clang/lib/AST/StmtProfile.cpp |
 | clang/lib/AST/AttrImpl.cpp |
 | clang/lib/ASTMatchers/CMakeLists.txt |
 | clang/lib/Serialization/ASTReader.cpp |
 | clang/include/clang/AST/RecursiveASTVisitor.h |
 | clang/lib/Sema/TreeTransform.h |
 | clang/lib/ASTMatchers/Dynamic/Marshallers.h |
 | clang/lib/AST/OpenMPClause.cpp |
Commit
1858f4b50dd35c28b377ba5dbc572fed43a5d38a
by johannesRevert "[OpenMP][NFCI] Move OpenMP clause information to `lib/Frontend/OpenMP`"
This reverts commit c18d55998b3352e6ec92ccb8a3240a16a57c61e6.
Bots have reported uses that need changing, e.g., clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cp as reported by http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/46591
|
 | clang/lib/AST/StmtProfile.cpp |
 | clang/include/clang/Basic/OpenMPKinds.def |
 | clang/include/clang/AST/RecursiveASTVisitor.h |
 | clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt |
 | clang/lib/ASTMatchers/Dynamic/Marshallers.h |
 | clang/lib/Serialization/ASTWriter.cpp |
 | clang/lib/Analysis/CMakeLists.txt |
 | clang/lib/StaticAnalyzer/Core/CMakeLists.txt |
 | clang/tools/libclang/CIndex.cpp |
 | clang/include/clang/AST/OpenMPClause.h |
 | clang/include/clang/AST/ASTFwd.h |
 | clang/lib/Basic/OpenMPKinds.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp |
 | llvm/lib/Frontend/OpenMP/OMPConstants.cpp |
 | clang/lib/AST/OpenMPClause.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPConstants.h |
 | clang/include/clang/AST/ASTTypeTraits.h |
 | clang/lib/ASTMatchers/CMakeLists.txt |
 | clang/lib/AST/TextNodeDumper.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | clang/include/clang/Basic/Attr.td |
 | clang/lib/AST/ASTTypeTraits.cpp |
 | clang/include/clang/Basic/OpenMPKinds.h |
 | clang/lib/Sema/TreeTransform.h |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/lib/AST/AttrImpl.cpp |
 | clang/lib/Serialization/ASTReader.cpp |
Commit
b42006596905bea7bef54759ba3a5d1a7dd418fa
by hokein.wu[clangd] Fix an assertion crash in ReferenceFinder.
Summary: The assertion is almost correct, but it fails on refs from non-preamble
Reviewers: sammccall
Reviewed By: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77222
|
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
 | clang-tools-extra/clangd/XRefs.cpp |
Commit
a157cde0ac0a804b49f50df0a6faae7416ac3fb4
by shengchen.kan[NFC][X86] Refine code in X86AsmBackend
Replace pattern getContents().size with universe function call
|
 | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp |
Commit
9f92d4612fa3fc41cd1ab60ec905db7b69ca2ccc
by shengchen.kanRevert "[NFC][X86] Refine code in X86AsmBackend"
This reverts commit a157cde0ac0a804b49f50df0a6faae7416ac3fb4.
|
 | llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp |
Commit
d08fadd6628a061bca66d37d6e0de2c51249ad22
by xiang1.zhang[X86] Add SERIALIZE instruction.
Summary: For more details about this instruction, please refer to the latest ISE document: https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference
Reviewers: craig.topper, RKSimon, LuoYuanke
Reviewed By: craig.topper
Subscribers: mgorny, hiraditya, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77193
|
 | llvm/test/MC/X86/x86-64.s |
 | llvm/test/MC/X86/x86-16.s |
 | llvm/lib/Target/X86/X86Subtarget.h |
 | clang/lib/Basic/Targets/X86.cpp |
 | clang/include/clang/Driver/Options.td |
 | llvm/lib/Target/X86/X86.td |
 | clang/lib/Basic/Targets/X86.h |
 | clang/lib/Headers/immintrin.h |
 | clang/include/clang/Basic/BuiltinsX86.def |
 | clang/lib/Headers/cpuid.h |
 | clang/docs/ClangCommandLineReference.rst |
 | llvm/test/CodeGen/X86/serialize-intrinsic.ll |
 | llvm/test/MC/X86/x86-32-coverage.s |
 | clang/test/CodeGen/x86-serialize-intrin.c |
 | clang/test/Preprocessor/x86_target_features.c |
 | llvm/test/MC/Disassembler/X86/x86-16.txt |
 | llvm/lib/Support/Host.cpp |
 | llvm/include/llvm/IR/IntrinsicsX86.td |
 | clang/lib/Headers/CMakeLists.txt |
 | clang/lib/Headers/serializeintrin.h |
 | clang/test/Driver/x86-target-features.c |
 | llvm/test/MC/Disassembler/X86/x86-32.txt |
 | llvm/test/MC/Disassembler/X86/x86-64.txt |
 | llvm/lib/Target/X86/X86InstrInfo.td |
Commit
c3ef971d36b7f7c37a0f5cedb5c64fef7420bfea
by julian.lettner[lit] Improve handling of timeouts and max failures
This work prepares us for the overall goal of clean shutdown on user keyboard interrupt [Ctrl+C].
|
 | llvm/utils/lit/lit/main.py |
 | llvm/utils/lit/lit/run.py |
Commit
7314aea5a42d33f9f5af5d158d8892e88072764e
by daniel.kiss[clang] Move branch-protection from CodeGenOptions to LangOptions
Summary: Reason: the option has an effect on preprocessing.
Also see thread: http://lists.llvm.org/pipermail/cfe-dev/2020-March/065014.html
Reviewers: chill, efriedma
Reviewed By: efriedma
Subscribers: efriedma, danielkiss, cfe-commits, kristof.beyls
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77131
|
 | clang/include/clang/Basic/LangOptions.h |
 | clang/lib/AST/PrintfFormatString.cpp |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/include/clang/Basic/TargetInfo.h |
 | clang/lib/CodeGen/TargetInfo.cpp |
 | clang/include/clang/Basic/CodeGenOptions.h |
 | clang/lib/Basic/Targets/AArch64.cpp |
 | clang/lib/CodeGen/CGDeclCXX.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Basic/LangOptions.def |
Commit
deb902252ac8d07b3f4419de4ff23dae444aaa6e
by kristof.beylsFix RUN line in AArch64/speculation-hardening.ll
|
 | llvm/test/CodeGen/AArch64/speculation-hardening.ll |
Commit
29d253c4c6879bfe57040c8c59b0d9d84f6e5e2f
by djordje.todorovic[Object] Add the method for checking if a section is a debug section
Different file formats have different naming style for the debug sections. The method is implemented for ELF, COFF and Mach-O formats.
Differential Revision: https://reviews.llvm.org/D76276
|
 | llvm/include/llvm/Object/COFF.h |
 | llvm/include/llvm/Object/MachO.h |
 | llvm/lib/Object/MachOObjectFile.cpp |
 | llvm/include/llvm/Object/ObjectFile.h |
 | llvm/lib/Object/ObjectFile.cpp |
 | llvm/include/llvm/Object/ELFObjectFile.h |
 | llvm/lib/Object/COFFObjectFile.cpp |
Commit
550ab58bc106335f8dcbc1767548a55c7151f87a
by orlando.hyams[NFC] Fix performance issue in LiveDebugVariables
When compiling AMDGPUDisassembler.cpp in a stage 1 trunk build with CMAKE_BUILD_TYPE=RelWithDebInfo LLVM_USE_SANITIZER=Address LiveDebugVariables accounts for 21.5% wall clock time. This fix reduces that to 1.2% by switching out a linked list lookup with a map lookup.
Note that the linked list is still used to group UserValues by vreg. The vreg lookups don't cause any problems in this pathological case.
This is the same idea as D68816, which was reverted, except that it is a less intrusive fix.
Reviewed By: vsk
Differential Revision: https://reviews.llvm.org/D77226
|
 | llvm/lib/CodeGen/LiveDebugVariables.cpp |
Commit
189d2e215f686e5ad1604a2ba437c4c9789b6a36
by gchatelet[Alignment][NFC] Use more Align versions of various functions
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: MatzeB, qcolombet, arsenm, sdardis, jvesely, nhaehnle, hiraditya, jrtc27, atanasyan, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77291
|
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | llvm/lib/CodeGen/VirtRegMap.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp |
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/lib/Target/Mips/MipsISelLowering.h |
 | llvm/lib/CodeGen/RegAllocFast.cpp |
Commit
a63b5c9e53199b866b804164285a2c40531b31a1
by flo[CallSiteSplitting] Simplify isPredicateOnPHI & continue checking PHIs.
As pointed out by @thakis, currently CallSiteSplitting bails out after checking the first PHI node. We should check all PHI nodes, until we find one where call site splitting is beneficial.
This patch also slightly simplifies the code using BasicBlock::phis().
Reviewers: davidxl, junbuml, thakis
Reviewed By: davidxl
Differential Revision: https://reviews.llvm.org/D77089
|
 | llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp |
 | llvm/test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll |
Commit
fb4aa30f272be7d8af83251a8178851b6e63ecfe
by courbet[ExpandMemCmp] Allow overlaping loads in the zero-relational case.
Summary: This allows doing `memcmp(p, q, 7)` with 2 loads instead of a call to memcmp. This fixes part of PR45147.
Reviewers: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76133
|
 | llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll |
 | llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/CodeGen/X86/memcmp.ll |
Commit
96cae168fa2d72d6693b60a13d0c8b2d82c64bed
by gchatelet[NFC] Preparatory work for D77292
|
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
Commit
8cc6f5beb816bac152cf170daaa611028124d1cd
by shkzhang[NFC][update_llc_test_checks] Remove the redundant SCRUB_LOOP_COMMENT_RE in asm.py
Summary: In the patch: https://reviews.llvm.org/D42654 De-duplicate utils/update_{llc_,}test_checks.py, Some common part has been move to common.py. The SCRUB_LOOP_COMMENT_RE has been moved to common.py, but forgetting to remove from asm.py. This patch is to remove the redundant SCRUB_LOOP_COMMENT_RE in asm.py and use common.SCRUB_LOOP_COMMENT_RE.
|
 | llvm/utils/UpdateTestChecks/asm.py |
Commit
62be83463a3713612bd85cfa45140ef92c130d57
by pavelRecommit "[lldb] Fix TestSettings.test_pass_host_env_vars on windows"
This patch was reverted because it introduced a failure in TestHelloWorld.py. The reason for that was running "ls" shell command failed as it was evaluated in an environment with an empty path. This has now been fixed with D77123, which ensures that all shell commands inherit the host environment, so this patch should be safe to recommit.
The original commit message was:
A defensive check in ProcessLauncherWindows meant that we would never attempt to launch a process with a completely empty environment -- the host environment would be used instead. Instead, I make the function add an extra null wchar_t at the end of an empty environment. The documentation on this is a bit fuzzy, but it seems to be what is needed to make windows accept these kinds of environments.
Reviewers: amccarth, friss
Differential Revision: https://reviews.llvm.org/D76835
|
 | lldb/source/Host/windows/ProcessLauncherWindows.cpp |
 | lldb/test/API/commands/settings/TestSettings.py |
Commit
c697dd9ffdb14f08766c738eb28c377ee964937f
by david.green[ARM] Make remaining MVE instruction predictable
The unpredictable/hasSideEffects flag is usually inferred by tablegen from whether the instruction has a tablegen pattern (and that pattern only has a single output instruction). Now that the MVE intrinsics are all committed and producing code, the remaining instructions still marked as unpredictable need to be specially handled. This adds the flag directly to instructions that need it, notably the V*MLAL instructions and some of the MOV's.
Differential Revision: https://reviews.llvm.org/D76910
|
 | llvm/test/CodeGen/Thumb2/mve-vst3.ll |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/unittests/Target/ARM/MachineInstrTest.cpp |
 | llvm/test/CodeGen/Thumb2/mve-vld3.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld4.ll |
Commit
fbd53ffc3ad97bf39cc1420ac160f402f6a0c935
by david.green[ARM] MVE VMULL patterns
This adds MVE vmull patterns, which are conceptually the same as mul(vmovl, vmovl), and so the tablegen patterns follow the same structure.
For i8 and i16 this is simple enough, but in the i32 version the multiply (in 64bits) is illegal, meaning we need to catch the pattern earlier in a dag fold. Because bitcasts are involved in the zext versions and the patterns are a little different in little and big endian. I have only added little endian support in this patch.
Differential Revision: https://reviews.llvm.org/D76740
|
 | llvm/test/CodeGen/Thumb2/mve-vmull.ll |
 | llvm/lib/Target/ARM/ARMInstrNEON.td |
 | llvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll |
 | llvm/test/CodeGen/Thumb2/mve-vmull-loop.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/ARM/ARMInstrInfo.td |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
Commit
ce8b85c0b8e7a4e946e234218dd45f5d0c4abfb4
by shkzhang[NFC][PowerPC] Add a new test case loop-comment.ll
|
 | llvm/test/CodeGen/PowerPC/loop-comment.ll |
Commit
07b6c0be4ab7553ff7e8574a794ecc963df0e9c3
by thakis[gn build] remove NOSORT from clang/Headers/BUILD.gn
Having the sync script work for this file seems better than matching the order of headers in the cmake file. Also, not having to manually sort the list is nice, even if gn's automated sorting doesn't quite match the artisanal order in the cmake file.
|
 | llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn |
Commit
3d8950bf9988633a8865ac9f67c5fe2e56d21286
by llvmgnsyncbot[gn build] Port d08fadd6628
|
 | llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn |
Commit
2a645abe93880055d35be573cd30a0828e1c2a72
by llvmgnsyncbot[gn build] Port d1705c1196f
|
 | llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn |
Commit
0fb8a5356214c47bbb832e89fbb3da1c755eeb73
by dvyukovtsan: don't check libc dependency on FreeBSD
This check fails on FreeBSD: https://github.com/golang/go/issues/14481#issuecomment-607471193 It is meant to prevent regressions, so disable it on FreeBSD.
|
 | compiler-rt/lib/tsan/go/buildgo.sh |
Commit
316e220cf432cdacba8d3123517e4ac44a120a8b
by llvm-dev[llvm-mca] Cleanup unnecessary includes from headers
This removes some includes/forward-declarations that don't seem to be necessary in the MCA core headers
Based off a cppclean report
Differential Revision: https://reviews.llvm.org/D77073
|
 | llvm/include/llvm/MCA/Pipeline.h |
 | llvm/include/llvm/MCA/HardwareUnits/LSUnit.h |
 | llvm/include/llvm/MCA/HardwareUnits/RegisterFile.h |
 | llvm/include/llvm/MCA/Stages/DispatchStage.h |
 | llvm/include/llvm/MCA/CodeEmitter.h |
 | llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h |
Commit
0a2131b7e2213fc8b45f7ff1e02f29fb4d544259
by zinenko[mlir] LLVMFuncOp: provide a capability to pass attributes through to LLVM IR
Summary: LLVM IR functions can have arbitrary attributes attached to them, some of which affect may affect code transformations. Until we can model all attributes consistently, provide a pass-through mechanism that forwards attributes from the LLVMFuncOp in MLIR to LLVM IR functions during translation. This mechanism relies on LLVM IR being able to recognize string representations of the attributes and performs some additional checking to avoid hitting assertions within LLVM code.
Differential Revision: https://reviews.llvm.org/D77072
|
 | mlir/docs/Dialects/LLVM.md |
 | mlir/test/Target/llvmir.mlir |
 | mlir/test/Target/llvmir-invalid.mlir |
 | mlir/lib/Target/LLVMIR/ModuleTranslation.cpp |
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td |
Commit
37ced5a571066c11548c672f354c6091f5903991
by daniel.kiss[clang][AARCH64] Add __ARM_FEATURE_{PAC, BTI}_DEFAULT defines
Summary: As defined by Arm C Language Extensions (ACLE) these macro defines should be set to specific values depending on -mbranch-protection.
Reviewers: chill
Reviewed By: chill
Subscribers: danielkiss, cfe-commits, kristof.beyls
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77134
|
 | clang/test/Preprocessor/aarch64-target-features.c |
 | clang/include/clang/Basic/LangOptions.h |
 | clang/lib/Basic/Targets/AArch64.cpp |
Commit
e6cb4b659af9f9c1a4c179093b187e7ad7cc5770
by lucas.prates[Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields
Summary: The construction of constants for structs/unions was conflicting the expected memory layout for over-sized bit-fields. When building the necessary bits for those fields, clang was ignoring the size information computed for the struct/union memory layout and using the original data from the AST's FieldDecl information. This caused an issue in big-endian targets, where the field's contant was incorrectly misplaced due to endian calculations.
This patch aims to separate the constant value from the necessary padding bits, using the proper size information for each one of them. With this, the layout of constants for over-sized bit-fields matches the ABI requirements.
Reviewers: rsmith, eli.friedman, efriedma
Reviewed By: efriedma
Subscribers: efriedma, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77048
|
 | clang/lib/CodeGen/CGExprConstant.cpp |
 | clang/test/CodeGenCXX/bitfield-layout.cpp |
Commit
b02c7a81523f3a9d14f418e5453bd222127e780a
by llvm-devFix "result of 32-bit shift implicitly converted to 64 bits" MSVC warning. NFCI.
The shift of 1 by an amount that is never more than 31 means that the warning is a false positive but is safe and fixes Werror builds.
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
Commit
5e508b9bac05cef8c1f77a154f943183f97cd131
by djordje.todorovic[llvm-dwarfdump] Add the --show-sections-sizes option
Add an option to llvm-dwarfdump to calculate the bytes within the debug sections. Dump this numbers when using --statistics option as well.
This is an initial patch (e.g. we should support other units, since we only support 'bytes' now).
Differential Revision: https://reviews.llvm.org/D74205
|
 | llvm/test/tools/llvm-dwarfdump/X86/Inputs/i386_macho_with_debug.yaml |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_fat_binary.test |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_elf.test |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_archive.test |
 | llvm/test/tools/llvm-dwarfdump/X86/statistics.ll |
 | llvm/tools/llvm-dwarfdump/SectionSizes.h |
 | llvm/test/tools/llvm-dwarfdump/X86/Inputs/x86_64_macho_with_debug.yaml |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_coff.test |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_macho.test |
 | llvm/docs/CommandGuide/llvm-dwarfdump.rst |
 | llvm/test/tools/llvm-dwarfdump/X86/section_sizes_no_debug_sections.test |
 | llvm/tools/llvm-dwarfdump/Statistics.cpp |
 | llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp |
 | llvm/tools/llvm-dwarfdump/CMakeLists.txt |
 | llvm/tools/llvm-dwarfdump/SectionSizes.cpp |
Commit
ab25d37354eb49ee1c2bda03dc59d73bcc588d6d
by llvmgnsyncbot[gn build] Port 5e508b9bac0
|
 | llvm/utils/gn/secondary/llvm/tools/llvm-dwarfdump/BUILD.gn |
Commit
8348e9d71b0aa307b377da8044f43fbd1d54fb7f
by sdi1600105[LoopTerminology] Make term names bold
Differential Revision: https://reviews.llvm.org/D77151
|
 | llvm/docs/LoopTerminology.rst |
Commit
ecb048c7acafaeda3ba19bc7886d73d955d608f4
by spatel[InstCombine] add tests for disguised vector trunc; NFC
|
 | llvm/test/Transforms/InstCombine/shuffle-cast.ll |
Commit
a19b27b90e5eff48f500b58f04f9969ea54a2fed
by spatel[PhaseOrdering] add test for vector trunc; NFC See discussion in D76983.
|
 | llvm/test/Transforms/PhaseOrdering/vector-trunc.ll |
Commit
9da6a40e0999523f8bdabfdab875890770eb9b3a
by sven.vanhaastregt[OpenCL] Add sub-group builtin functions
Add the sub-group builtin functions from the OpenCL Extension specification. This patch excludes the sub_group_barrier builtins that take argument types not yet handled by the `-fdeclare-opencl-builtins` machinery.
Co-authored-by: Pierre Gondois <pierre.gondois@arm.com>
|
 | clang/lib/Sema/OpenCLBuiltins.td |
 | clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl |
Commit
af39151f3c54b90ff0ae1064f540a97b640298e9
by oliver.stannardRevert "[lld] Initial commit for new Mach-O backend"
This is causing buildbot failures on 32-bit hosts, for example: http://lab.llvm.org:8011/builders/clang-cmake-armv8-lld/builds/3636
This reverts commit 03f43b3aca363e16c45d8733400fd0083b1af4d8.
|
 | lld/MachO/Driver.cpp |
 | lld/include/lld/Common/Driver.h |
 | lld/MachO/OutputSegment.h |
 | lld/MachO/Arch/X86_64.cpp |
 | lld/MachO/SymbolTable.cpp |
 | lld/test/MachO/alignment-too-large.yaml |
 | lld/test/MachO/load-commands.s |
 | lld/test/MachO/section-headers.s |
 | lld/MachO/InputSection.h |
 | lld/test/MachO/no-such-file.s |
 | lld/test/MachO/relocations.s |
 | lld/test/MachO/entry-symbol.s |
 | lld/MachO/InputFiles.h |
 | lld/MachO/Config.h |
 | lld/MachO/Writer.cpp |
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/Writer.h |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/Symbols.cpp |
 | lld/test/MachO/arch.s |
 | lld/test/MachO/segments.s |
 | lld/test/MachO/invalid-executable.s |
 | lld/CMakeLists.txt |
 | lld/MachO/Driver.h |
 | lld/test/MachO/duplicate-symbol.s |
 | lld/MachO/OutputSegment.cpp |
 | lld/MachO/Target.h |
 | lld/MachO/SymbolTable.h |
|