[all-commits] [llvm/llvm-project] aa15ea: [builtin_object_size] Basic support for posix_mema...

serge-sans-paille via All-commits all-commits at lists.llvm.org
Fri Apr 8 00:32:11 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa15ea47e20fbce5814f4a0d69521f8270b70e69
      https://github.com/llvm/llvm-project/commit/aa15ea47e20fbce5814f4a0d69521f8270b70e69
  Author: serge-sans-paille <sguelton at redhat.com>
  Date:   2022-04-08 (Fri, 08 Apr 2022)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-load.ll
    A llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-posix-memalign.ll

  Log Message:
  -----------
  [builtin_object_size] Basic support for posix_memalign

It actually implements support for seeing through loads, using alias analysis to
refine the result.

This is rather limited, but I didn't want to rely on more than available
analysis at that point (to be gentle with compilation time), and it does seem to
catch common scenario, as showcased by the included tests.

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


  Commit: 301e0d91354b853addb63a35e72e552e8059413e
      https://github.com/llvm/llvm-project/commit/301e0d91354b853addb63a35e72e552e8059413e
  Author: serge-sans-paille <sguelton at redhat.com>
  Date:   2022-04-08 (Fri, 08 Apr 2022)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGen/fread-inline-builtin-late-redecl.c

  Log Message:
  -----------
  [Clang][Fortify] drop inline decls when redeclared

When an inline builtin declaration is shadowed by an actual declaration, we must
reference the actual declaration, even if it's not the last, following GCC
behavior.

This fixes #54715

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


Compare: https://github.com/llvm/llvm-project/compare/b672638dbc7c...301e0d91354b


More information about the All-commits mailing list