[all-commits] [llvm/llvm-project] c68571: Hexagon: Stop excluding some generic compiler-rt f...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Jul 29 14:44:45 PDT 2026


  Branch: refs/heads/users/arsenm/hexagon/runtime-libcalls-stop-excluding-compiler-rt-generics
  Home:   https://github.com/llvm/llvm-project
  Commit: c685715fde218d941a976d3f48bf690e7452c02d
      https://github.com/llvm/llvm-project/commit/c685715fde218d941a976d3f48bf690e7452c02d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h

  Log Message:
  -----------
  Hexagon: Stop excluding some generic compiler-rt functions from libcalls

RuntimeLibcalls should indicate any function that exists and is callable.
Historically the list of library functions was conflated with the library
functions which should be used, so the library definition was complicated
by excluding the overridden cases. My reading of the compiler-rt sources is
that the generically named functions are built alongside the __hexagon
prefixed variants. e.g., __divsi3 and __hexagon_divsi3 both exist.

It will simplify future libcall work the fewer special case target exclusions
there are, so allow the functions to be defined and apply the selection
preference for the __hexagon prefixed versions in LibcallLoweringInfo.

I do question why compiler-rt is built this way; why doesn't the hexagon
just replace the standard entrypoint names with the target implementations?

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list