void rb_call_inits(void) {
  {
    void Init_RandomSeed(void);
    Init_RandomSeed();
  };
  {
    void Init_sym(void);
    Init_sym();
  };
  {
    void Init_var_tables(void);
    Init_var_tables();
  };
  {
    void Init_Object(void);
    Init_Object();
  };
  {
    void Init_top_self(void);
    Init_top_self();
  };
  {
    void Init_Encoding(void);
    Init_Encoding();
  };
  {
    void Init_encdb(void);
    Init_encdb();
  };
  {
    void Init_Comparable(void);
    Init_Comparable();
  };
  {
    void Init_Enumerable(void);
    Init_Enumerable();
  };
  {
    void Init_String(void);
    Init_String();
  };
  {
    void Init_Exception(void);
    Init_Exception();
  };
  {
    void Init_eval(void);
    Init_eval();
  };
  {
    void Init_safe(void);
    Init_safe();
  };
  {
    void Init_jump(void);
    Init_jump();
  };
  {
    void Init_Numeric(void);
    Init_Numeric();
  };
  {
    void Init_Bignum(void);
    Init_Bignum();
  };
  {
    void Init_syserr(void);
    Init_syserr();
  };
  {
    void Init_Array(void);
    Init_Array();
  };
  {
    void Init_Hash(void);
    Init_Hash();
  };
  {
    void Init_Struct(void);
    Init_Struct();
  };
  {
    void Init_Regexp(void);
    Init_Regexp();
  };
  {
    void Init_pack(void);
    Init_pack();
  };
  {
    void Init_transcode(void);
    Init_transcode();
  };
  {
    void Init_marshal(void);
    Init_marshal();
  };
  {
    void Init_Range(void);
    Init_Range();
  };
  {
    void Init_IO(void);
    Init_IO();
  };
  {
    void Init_Dir(void);
    Init_Dir();
  };
  {
    void Init_Time(void);
    Init_Time();
  };
  {
    void Init_Random(void);
    Init_Random();
  };
  {
    void Init_signal(void);
    Init_signal();
  };
  {
    void Init_process(void);
    Init_process();
  };
  {
    void Init_load(void);
    Init_load();
  };
  {
    void Init_Proc(void);
    Init_Proc();
  };
  {
    void Init_Binding(void);
    Init_Binding();
  };
  {
    void Init_Math(void);
    Init_Math();
  };
  {
    void Init_GC(void);
    Init_GC();
  };
  {
    void Init_Enumerator(void);
    Init_Enumerator();
  };
  {
    void Init_VM(void);
    Init_VM();
  };
  {
    void Init_ISeq(void);
    Init_ISeq();
  };
  {
    void Init_Thread(void);
    Init_Thread();
  };
  {
    void Init_Cont(void);
    Init_Cont();
  };
  {
    void Init_Rational(void);
    Init_Rational();
  };
  {
    void Init_Complex(void);
    Init_Complex();
  };
  {
    void Init_version(void);
    Init_version();
  };
}


x86 assembly (clang, -O0):
<rb_call_inits>:
push   %rbp
mov    %rsp,%rbp
call   1190 <Init_RandomSeed@plt>
call   1030 <Init_sym@plt>
call   1120 <Init_var_tables@plt>
call   1100 <Init_Object@plt>
call   1270 <Init_top_self@plt>
call   10c0 <Init_Encoding@plt>
call   1150 <Init_encdb@plt>
call   1240 <Init_Comparable@plt>
call   12a0 <Init_Enumerable@plt>
call   11f0 <Init_String@plt>
call   11d0 <Init_Exception@plt>
call   1050 <Init_eval@plt>
call   11c0 <Init_safe@plt>
call   12c0 <Init_jump@plt>
call   10f0 <Init_Numeric@plt>
call   1250 <Init_Bignum@plt>
call   12d0 <Init_syserr@plt>
call   1060 <Init_Array@plt>
call   1290 <Init_Hash@plt>
call   1210 <Init_Struct@plt>
call   1220 <Init_Regexp@plt>
call   11e0 <Init_pack@plt>
call   11b0 <Init_transcode@plt>
call   1160 <Init_marshal@plt>
call   11a0 <Init_Range@plt>
call   1200 <Init_IO@plt>
call   10d0 <Init_Dir@plt>
call   1130 <Init_Time@plt>
call   12e0 <Init_Random@plt>
call   12b0 <Init_signal@plt>
call   10a0 <Init_process@plt>
call   10b0 <Init_load@plt>
call   1070 <Init_Proc@plt>
call   1280 <Init_Binding@plt>
call   10e0 <Init_Math@plt>
call   1170 <Init_GC@plt>
call   1080 <Init_Enumerator@plt>
call   1180 <Init_VM@plt>
call   1140 <Init_ISeq@plt>
call   1040 <Init_Thread@plt>
call   1260 <Init_Cont@plt>
call   1110 <Init_Rational@plt>
call   1090 <Init_Complex@plt>
call   1230 <Init_version@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<rb_call_inits>:
push   %rax
call   1190 <Init_RandomSeed@plt>
call   1030 <Init_sym@plt>
call   1120 <Init_var_tables@plt>
call   1100 <Init_Object@plt>
call   1270 <Init_top_self@plt>
call   10c0 <Init_Encoding@plt>
call   1150 <Init_encdb@plt>
call   1240 <Init_Comparable@plt>
call   12a0 <Init_Enumerable@plt>
call   11f0 <Init_String@plt>
call   11d0 <Init_Exception@plt>
call   1050 <Init_eval@plt>
call   11c0 <Init_safe@plt>
call   12c0 <Init_jump@plt>
call   10f0 <Init_Numeric@plt>
call   1250 <Init_Bignum@plt>
call   12d0 <Init_syserr@plt>
call   1060 <Init_Array@plt>
call   1290 <Init_Hash@plt>
call   1210 <Init_Struct@plt>
call   1220 <Init_Regexp@plt>
call   11e0 <Init_pack@plt>
call   11b0 <Init_transcode@plt>
call   1160 <Init_marshal@plt>
call   11a0 <Init_Range@plt>
call   1200 <Init_IO@plt>
call   10d0 <Init_Dir@plt>
call   1130 <Init_Time@plt>
call   12e0 <Init_Random@plt>
call   12b0 <Init_signal@plt>
call   10a0 <Init_process@plt>
call   10b0 <Init_load@plt>
call   1070 <Init_Proc@plt>
call   1280 <Init_Binding@plt>
call   10e0 <Init_Math@plt>
call   1170 <Init_GC@plt>
call   1080 <Init_Enumerator@plt>
call   1180 <Init_VM@plt>
call   1140 <Init_ISeq@plt>
call   1040 <Init_Thread@plt>
call   1260 <Init_Cont@plt>
call   1110 <Init_Rational@plt>
call   1090 <Init_Complex@plt>
pop    %rax
jmp    1230 <Init_version@plt>

LLVM IR (-O0):
define void @rb_call_inits() {
ret void
}

LLVM IR (-O2):
define void @rb_call_inits() {
tail call void @Init_RandomSeed()
tail call void @Init_sym()
tail call void @Init_var_tables()
tail call void @Init_Object()
tail call void @Init_top_self()
tail call void @Init_Encoding()
tail call void @Init_encdb()
tail call void @Init_Comparable()
tail call void @Init_Enumerable()
tail call void @Init_String()
tail call void @Init_Exception()
tail call void @Init_eval()
tail call void @Init_safe()
tail call void @Init_jump()
tail call void @Init_Numeric()
tail call void @Init_Bignum()
tail call void @Init_syserr()
tail call void @Init_Array()
tail call void @Init_Hash()
tail call void @Init_Struct()
tail call void @Init_Regexp()
tail call void @Init_pack()
tail call void @Init_transcode()
tail call void @Init_marshal()
tail call void @Init_Range()
tail call void @Init_IO()
tail call void @Init_Dir()
tail call void @Init_Time()
tail call void @Init_Random()
tail call void @Init_signal()
tail call void @Init_process()
tail call void @Init_load()
tail call void @Init_Proc()
tail call void @Init_Binding()
tail call void @Init_Math()
tail call void @Init_GC()
tail call void @Init_Enumerator()
tail call void @Init_VM()
tail call void @Init_ISeq()
tail call void @Init_Thread()
tail call void @Init_Cont()
tail call void @Init_Rational()
tail call void @Init_Complex()
tail call void @Init_version()
ret void
}