[all-commits] [llvm/llvm-project] 732bdb: [Attributor] Avoid the type check in getCalledFunc...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Fri Jun 23 20:10:39 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 732bdb607341854de8185bd71cec00e8cb04bad2
      https://github.com/llvm/llvm-project/commit/732bdb607341854de8185bd71cec00e8cb04bad2
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/misc_crash.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll

  Log Message:
  -----------
  [Attributor] Avoid the type check in getCalledFunction

We now consistently use `CallBase::getCalledOperand` rather than
`getCalledFunction`, as we do not want the type checked performed by the
latter. This exposed various missing checks to handle mismatches
properly, but it is good to have them explicit now.

In a follow up we might want to flag certain calls as UB, but for now,
we allow everything to cut down on unexpected differences.


  Commit: 7d16a35c83d239a8fba44bdff9ffadcc32bb524b
      https://github.com/llvm/llvm-project/commit/7d16a35c83d239a8fba44bdff9ffadcc32bb524b
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/2008-06-09-WeakProp.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
    M llvm/test/Transforms/Attributor/alwaysinline.ll
    M llvm/test/Transforms/Attributor/internalize.ll
    M llvm/test/Transforms/Attributor/returned.ll

  Log Message:
  -----------
  [Attributor][FIX] Do not ignore refinement for IPO

This is just a cleanup commit, a follow up will make this way more
structured.


Compare: https://github.com/llvm/llvm-project/compare/f763270b5315...7d16a35c83d2


More information about the All-commits mailing list