Skip to content

Enabling lto in 1.2.0 causes LLVM ERROR near llvm.lifetime.end #28233

Closed
@codyps

Description

@codyps
% rustc -V
rustc 1.2.0 (082e47636 2015-08-03)
-C opt-level=3 -g -C debug-assertions=on 

Disabling lto causes compilation to complete without issue. Enabling it causes errors as follow.

Below are a few runs of cargo build followed by cargo clean between runs.

Instruction does not dominate all uses!
  %.sroa.713813151316 = bitcast [39 x i64]* %.sroa.7138 to i8*
  call void @llvm.lifetime.end(i64 8, i8* %.sroa.713813151316), !dbg !217386
LLVM ERROR: Broken function found, compilation aborted!
Instruction does not dominate all uses!
  %27 = bitcast [2 x i64]* %26 to i8*
  call void @llvm.lifetime.end(i64 8, i8* %27), !dbg !230419
LLVM ERROR: Broken function found, compilation aborted!
Could not compile `coattail`.

(note: some cargo output was mixed in with the next one, I've left it in place without editing)

Instruction does not dominate all uses!
  <badref> = bitcast Build failed, waiting for other jobs to finish...
Call parameter type does not match function signature!
  %1012 = load i32, i32* %633, align 8, !dbg !230475
 i8*  call void @llvm.lifetime.end(i64 8, i32 %1012), !dbg !230419
LLVM ERROR: Broken function found, compilation aborted!

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-codegenArea: Code generation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions