Skip to content

julia_method_table function names #229

@maleadt

Description

@maleadt

As encountered on 1.7:

@0 = private unnamed_addr constant [36 x i8] c"ERROR: Out-of-bounds array access.\0A\00", align 1

; Function Attrs: noinline noreturn
define internal fastcc void @julia_method_table_3017() unnamed_addr #2 {
top:
  %0 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @0, i64 0, i64 0))
  call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception.16 to i64))
  call fastcc void @gpu_signal_exception()
  call void @llvm.trap()
  unreachable
}

L67.i:                                            ; preds = %L51.i
  %58 = getelementptr inbounds { [1 x [2 x [1 x i64]]] }, { [1 x [2 x [1 x i64]]] }* %2, i64 0, i32 0
  call fastcc void @julia_method_table_3017() #0
  unreachable

This is a @device_override method from quirks.jl, originally Base.throw_boundserror. Looks like the method overlay tables somehow mess with the function name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions