Skip to content

LLVM 3.5.0 rejects aliases used by LLVM codegen

LLVM HEAD has changed the behavior of aliases to reject references to things other than definitions. This unfortunately means that the handling of externs breaks,

"inplace/bin/ghc-stage1" -static  -H64m -O0 -fllvm -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts -dcmm-lint      -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen           -O2    -c rts/Apply.cmm -o rts/dist/build/Apply.o
You are using a new version of LLVM that hasn't been tested yet!
We will try though...
Alias must point to a definition
i8* @"barf$alias"
Alias must point to a definition
i8* @"stg_gc_unpt_r1$alias"
Alias must point to a definition
i8* @"stg_apply_interp_info$alias"
Alias must point to a definition
i8* @"stg_yield_to_interpreter$alias"
Alias must point to a definition
i8* @"stg_ap_stack_entries$alias"
Alias must point to a definition
i8* @"__stg_gc_enter_1$alias"
Alias must point to a definition
i8* @"stg_upd_frame_info$alias"
LLVM ERROR: Broken module found, compilation aborted!

In reference to the following aliases,.

@barf = external global i8
@barf$alias = alias private i8* @barf
@stg_gc_unpt_r1 = external global i8
@stg_gc_unpt_r1$alias = alias private i8* @stg_gc_unpt_r1
@stg_apply_interp_info = external global i8
@stg_apply_interp_info$alias = alias private i8* @stg_apply_interp_info
@stg_yield_to_interpreter = external global i8
@stg_yield_to_interpreter$alias = alias private i8* @stg_yield_to_interpreter
@stg_ap_stack_entries = external global i8
@stg_ap_stack_entries$alias = alias private i8* @stg_ap_stack_entries
@__stg_gc_enter_1 = external global i8
@__stg_gc_enter_1$alias = alias private i8* @__stg_gc_enter_1
@stg_upd_frame_info = external global i8
@stg_upd_frame_info$alias = alias private i8* @stg_upd_frame_info
Trac metadata
Trac field Value
Version 7.8.2
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
Edited by sjy
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information