[libc-commits] [PATCH] D74954: Add a basic tiling pass for parallel loops

Benjamin Kramer via Phabricator via libc-commits libc-commits at lists.llvm.org
Mon Feb 24 02:42:54 PST 2020


bkramer updated this revision to Diff 246166.
bkramer marked 4 inline comments as done.
bkramer added a comment.
Herald added subscribers: libc-commits, libcxx-commits, lldb-commits, Sanitizers, cfe-commits, bader, kerbowa, csigg, usaxena95, jdoerfert, ormris, jsji, kadircet, rupprecht, jfb, arphaman, dexonsmith, mgrang, jkorous, MaskRay, kbarton, aheejin, hiraditya, jgravelle-google, krytarowski, arichardson, sbc100, nhaehnle, jvesely, nemanjai, emaste, dschuff, arsenm.
Herald added a reviewer: espindola.
Herald added a reviewer: alexshap.
Herald added a reviewer: rupprecht.
Herald added a reviewer: jhenderson.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a reviewer: mravishankar.
Herald added a reviewer: antiagainst.
Herald added a reviewer: rriddle.
Herald added a reviewer: antiagainst.
Herald added a reviewer: uenoku.
Herald added projects: clang, Sanitizers, LLDB, libc++, libc-project.

- Address moar comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74954/new/

https://reviews.llvm.org/D74954

Files:
  clang-tools-extra/clangd/ClangdServer.cpp
  clang-tools-extra/clangd/ClangdServer.h
  clang-tools-extra/clangd/Hover.cpp
  clang-tools-extra/clangd/Selection.cpp
  clang-tools-extra/clangd/Selection.h
  clang-tools-extra/clangd/SemanticSelection.cpp
  clang-tools-extra/clangd/XRefs.cpp
  clang-tools-extra/clangd/refactor/Rename.cpp
  clang-tools-extra/clangd/refactor/Tweak.cpp
  clang-tools-extra/clangd/refactor/Tweak.h
  clang-tools-extra/clangd/unittests/FindTargetTests.cpp
  clang-tools-extra/clangd/unittests/HoverTests.cpp
  clang-tools-extra/clangd/unittests/SelectionTests.cpp
  clang-tools-extra/clangd/unittests/TweakTesting.cpp
  clang-tools-extra/clangd/unittests/TweakTests.cpp
  clang/include/clang/Driver/CC1Options.td
  clang/include/clang/Driver/Options.td
  clang/include/clang/Parse/Parser.h
  clang/lib/Basic/Targets/AArch64.cpp
  clang/lib/Basic/Targets/X86.cpp
  clang/lib/Driver/ToolChains/Clang.cpp
  clang/lib/Driver/ToolChains/Darwin.cpp
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/lib/Sema/SemaCast.cpp
  clang/test/CodeGen/codemodels.c
  clang/test/Driver/clang_f_opts.c
  clang/test/Driver/code-model.c
  clang/test/Driver/mbackchain.c
  clang/test/Driver/mcmodel.c
  clang/test/Preprocessor/aarch64-target-features.c
  clang/test/Preprocessor/init-aarch64.c
  clang/test/Preprocessor/init.c
  clang/test/Sema/MicrosoftExtensions.c
  clang/test/Sema/cast.c
  clang/test/SemaCXX/cstyle-cast.cpp
  compiler-rt/lib/profile/GCDAProfiling.c
  libc/CMakeLists.txt
  libc/cmake/modules/LLVMLibCRules.cmake
  libc/docs/fuzzing.rst
  libc/docs/source_layout.rst
  libc/fuzzing/CMakeLists.txt
  libc/fuzzing/string/CMakeLists.txt
  libc/fuzzing/string/strcpy_fuzz.cpp
  libc/src/signal/linux/raise.cpp
  libc/utils/CPP/README.md
  libc/utils/HdrGen/README.md
  libc/utils/UnitTest/README.md
  libcxx/test/support/count_new.h
  libcxx/test/support/type_id.h
  lld/ELF/Writer.cpp
  lld/test/ELF/shuffle-sections-init-fini.s
  lld/test/ELF/shuffle-sections.s
  lldb/packages/Python/lldbsuite/test/lldbtest.py
  lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
  lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
  lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
  lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
  lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
  lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
  lldb/test/API/lang/cpp/operators/main.cpp
  lldb/test/Shell/SymbolFile/Breakpad/Inputs/basic-elf.yaml
  lldb/test/Shell/SymbolFile/DWARF/dwp-debug-types.s
  lldb/test/Shell/SymbolFile/DWARF/dwp.s
  lldb/test/Shell/lit-lldb-init.in
  llvm/docs/Extensions.rst
  llvm/docs/LangRef.rst
  llvm/docs/LoopTerminology.rst
  llvm/include/llvm/ADT/STLExtras.h
  llvm/include/llvm/Analysis/CFGPrinter.h
  llvm/include/llvm/Analysis/LoopInfo.h
  llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
  llvm/include/llvm/CodeGen/ISDOpcodes.h
  llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
  llvm/include/llvm/CodeGen/SelectionDAG.h
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
  llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
  llvm/include/llvm/ExecutionEngine/Orc/Core.h
  llvm/include/llvm/ExecutionEngine/Orc/OrcError.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/include/llvm/IR/PatternMatch.h
  llvm/include/llvm/MC/MCInstrItineraries.h
  llvm/include/llvm/ObjectYAML/ELFYAML.h
  llvm/include/llvm/Target/TargetSelectionDAG.td
  llvm/lib/Analysis/CFGPrinter.cpp
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
  llvm/lib/CodeGen/MachinePipeliner.cpp
  llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h
  llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
  llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h
  llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
  llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
  llvm/lib/ExecutionEngine/Orc/Core.cpp
  llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
  llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
  llvm/lib/ExecutionEngine/OrcError/OrcError.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/MC/MCParser/ELFAsmParser.cpp
  llvm/lib/ObjectYAML/ELFEmitter.cpp
  llvm/lib/ObjectYAML/ELFYAML.cpp
  llvm/lib/Passes/StandardInstrumentations.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
  llvm/lib/Target/Hexagon/HexagonInstrInfo.h
  llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
  llvm/lib/Target/SystemZ/SystemZFrameLowering.h
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
  llvm/lib/Target/X86/MCTargetDesc/LLVMBuild.txt
  llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.h
  llvm/lib/Target/X86/X86InstrAVX512.td
  llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
  llvm/lib/Target/X86/X86InstrSSE.td
  llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/lib/Transforms/Utils/KnowledgeRetention.cpp
  llvm/test/CodeGen/AArch64/sat-add.ll
  llvm/test/CodeGen/AMDGPU/hsa.ll
  llvm/test/CodeGen/SystemZ/frame-23.ll
  llvm/test/CodeGen/SystemZ/frame-24.ll
  llvm/test/CodeGen/SystemZ/frameaddr-02.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/extending-loads.ll
  llvm/test/CodeGen/X86/atomic-fp.ll
  llvm/test/CodeGen/X86/atomic-load-store-wide.ll
  llvm/test/CodeGen/X86/atomic-mi.ll
  llvm/test/CodeGen/X86/atomic-non-integer.ll
  llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll
  llvm/test/CodeGen/X86/recip-fastmath.ll
  llvm/test/CodeGen/X86/recip-fastmath2.ll
  llvm/test/CodeGen/X86/sat-add.ll
  llvm/test/CodeGen/X86/sdiv_fix_sat.ll
  llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
  llvm/test/CodeGen/X86/udiv_fix_sat.ll
  llvm/test/CodeGen/X86/vec_fneg.ll
  llvm/test/ExecutionEngine/JITLink/X86/Inputs/MachO_GOTAndStubsOptimizationHelper.s
  llvm/test/ExecutionEngine/JITLink/X86/MachO_GOTAndStubsOptimization.s
  llvm/test/ExecutionEngine/JITLink/X86/MachO_x86-64_relocations.s
  llvm/test/ExecutionEngine/OrcLazy/static-initializers-in-objectfiles.ll
  llvm/test/MC/ELF/exclude-debug-dwo.s
  llvm/test/MC/ELF/section-entsize-changed.s
  llvm/test/MC/ELF/section-flags-changed.s
  llvm/test/MC/ELF/section-type-changed.s
  llvm/test/Other/cfg_deopt_unreach.ll
  llvm/test/Other/module-pass-printer.ll
  llvm/test/Transforms/Attributor/liveness.ll
  llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll
  llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreBegin.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreEnd.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loops.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memintrinsics.ll
  llvm/test/Transforms/InstCombine/fneg.ll
  llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
  llvm/test/tools/llvm-objdump/AMDGPU/source-lines.ll
  llvm/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll
  llvm/test/tools/llvm-objdump/X86/source-interleave-function-from-debug.test
  llvm/test/tools/llvm-objdump/X86/source-interleave-x86_64.test
  llvm/test/tools/llvm-objdump/embedded-source.test
  llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
  llvm/test/tools/llvm-readobj/ELF/versioninfo.test
  llvm/test/tools/obj2yaml/elf-gnu-hash-section.yaml
  llvm/test/tools/yaml2obj/ELF/section-address-assign.yaml
  llvm/tools/lli/lli.cpp
  llvm/tools/llvm-objdump/llvm-objdump.cpp
  llvm/tools/obj2yaml/elf2yaml.cpp
  llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
  llvm/unittests/Transforms/Utils/KnowledgeRetentionTest.cpp
  llvm/utils/TableGen/SubtargetEmitter.cpp
  mlir/docs/OpDefinitions.md
  mlir/docs/Quantization.md
  mlir/docs/ShapeInference.md
  mlir/docs/Tutorials/Toy/Ch-2.md
  mlir/docs/Tutorials/Toy/Ch-3.md
  mlir/docs/Tutorials/Toy/Ch-4.md
  mlir/docs/Tutorials/Toy/Ch-5.md
  mlir/docs/Tutorials/Toy/Ch-6.md
  mlir/docs/Tutorials/Toy/Ch-7.md
  mlir/examples/toy/Ch2/include/toy/Ops.td
  mlir/examples/toy/Ch2/mlir/Dialect.cpp
  mlir/examples/toy/Ch3/include/toy/Ops.td
  mlir/examples/toy/Ch3/mlir/Dialect.cpp
  mlir/examples/toy/Ch4/include/toy/Ops.td
  mlir/examples/toy/Ch4/mlir/Dialect.cpp
  mlir/examples/toy/Ch5/include/toy/Ops.td
  mlir/examples/toy/Ch5/mlir/Dialect.cpp
  mlir/examples/toy/Ch6/include/toy/Ops.td
  mlir/examples/toy/Ch6/mlir/Dialect.cpp
  mlir/examples/toy/Ch7/include/toy/Ops.td
  mlir/examples/toy/Ch7/mlir/Dialect.cpp
  mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
  mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
  mlir/include/mlir/Dialect/LoopOps/Passes.h
  mlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td
  mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
  mlir/include/mlir/Dialect/VectorOps/VectorOps.td
  mlir/include/mlir/IR/OpBase.td
  mlir/include/mlir/IR/OpImplementation.h
  mlir/include/mlir/IR/OperationSupport.h
  mlir/include/mlir/InitAllPasses.h
  mlir/include/mlir/Support/STLExtras.h
  mlir/include/mlir/TableGen/Constraint.h
  mlir/include/mlir/TableGen/Operator.h
  mlir/include/mlir/TableGen/Successor.h
  mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
  mlir/lib/Dialect/LoopOps/Transforms/CMakeLists.txt
  mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
  mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
  mlir/lib/Dialect/StandardOps/IR/Ops.cpp
  mlir/lib/Dialect/VectorOps/VectorOps.cpp
  mlir/lib/Parser/Parser.cpp
  mlir/lib/TableGen/CMakeLists.txt
  mlir/lib/TableGen/Constraint.cpp
  mlir/lib/TableGen/Operator.cpp
  mlir/lib/TableGen/Successor.cpp
  mlir/test/Dialect/Loops/parallel-loop-tiling.mlir
  mlir/test/Dialect/SPIRV/control-flow-ops.mlir
  mlir/test/Examples/Toy/Ch2/codegen.toy
  mlir/test/Examples/Toy/Ch2/scalar.toy
  mlir/test/Examples/Toy/Ch3/codegen.toy
  mlir/test/Examples/Toy/Ch3/scalar.toy
  mlir/test/Examples/Toy/Ch4/codegen.toy
  (26 more files...)





More information about the libc-commits mailing list