[all-commits] [llvm/llvm-project] 38637e: [clang] Add support for __builtin_memset_inline

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Fri Jun 10 06:22:49 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 38637ee477541370a90b37f149069d8e5c0c2efd
      https://github.com/llvm/llvm-project/commit/38637ee477541370a90b37f149069d8e5c0c2efd
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.def
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/builtins-memset-inline.c
    A clang/test/Sema/builtins-memset-inline.cpp
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.h
    A llvm/test/CodeGen/AArch64/memset-inline.ll
    A llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
    A llvm/test/CodeGen/X86/memset-inline.ll
    A llvm/test/CodeGen/X86/memset-vs-memset-inline.ll
    M llvm/test/Other/lint.ll
    M llvm/test/Verifier/intrinsic-immarg.ll
    A llvm/test/Verifier/memset-inline.ll

  Log Message:
  -----------
  [clang] Add support for __builtin_memset_inline

In the same spirit as D73543 and in reply to https://reviews.llvm.org/D126768#3549920 this patch is adding support for `__builtin_memset_inline`.

The idea is to get support from the compiler to easily write efficient memory function implementations.

This patch could be split in two:
 - one for the LLVM part adding the `llvm.memset.inline.*` intrinsics.
 - and another one for the Clang part providing the instrinsic as a builtin.

Differential Revision: https://reviews.llvm.org/D126903




More information about the All-commits mailing list