Skip to content

Conversation

Kixiron
Copy link
Contributor

@Kixiron Kixiron commented Dec 11, 2022

Prevents redundant bit/pointer/int casts being codegen'd by LLVM and reduces the number of LLVM builders that are created through the course of code generation

@rustbot
Copy link
Collaborator

rustbot commented Dec 11, 2022

r? @eholk

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 11, 2022
@JakobDegen
Copy link
Contributor

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Dec 11, 2022
@bors
Copy link
Collaborator

bors commented Dec 11, 2022

⌛ Trying commit 121fd41 with merge 90a90c32dad6513d8aa5922981091031aab10159...

@bors
Copy link
Collaborator

bors commented Dec 11, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 11, 2022
Comment on lines +839 to +843
if llvm::LLVMTypeOf(val) != dest_ty {
llvm::LLVMBuildPointerCast(self.llbuilder, val, dest_ty, UNNAMED)
} else {
val
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-13 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling std v0.0.0 (/checkout/library/std)
   Compiling compiler_builtins v0.1.84
   Compiling unwind v0.0.0 (/checkout/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/checkout/library/rustc-std-workspace-core)
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %20 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 0
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %27 = bitcast { i8*, i32 }* %10 to i8**
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %29 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %24 = bitcast { i8*, i32 }* %11 to i8*
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %11, i32 0, i32 0
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %28 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %11, i32 0, i32 1
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %32 = bitcast { i8*, i32 }* %11 to i8**
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %34 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %11, i32 0, i32 1
Instruction does not dominate all uses!
  %11 = alloca { i8*, i32 }, align 8
  %36 = bitcast { i8*, i32 }* %11 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %20 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 0
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %27 = bitcast { i8*, i32 }* %10 to i8**
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %29 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %20 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 0
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %27 = bitcast { i8*, i32 }* %10 to i8**
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %29 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %20 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %23 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 0
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %24 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %27 = bitcast { i8*, i32 }* %10 to i8**
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %29 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %10, i32 0, i32 1
Instruction does not dominate all uses!
  %10 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %10 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %80 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 0
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %84 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %162 = bitcast { i8*, i32 }* %36 to i8**
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %166 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %80 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 0
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %84 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %162 = bitcast { i8*, i32 }* %36 to i8**
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %166 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %80 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 0
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %84 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %162 = bitcast { i8*, i32 }* %36 to i8**
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %166 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %80 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 0
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %84 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %162 = bitcast { i8*, i32 }* %36 to i8**
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %166 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %80 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %83 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 0
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %84 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %162 = bitcast { i8*, i32 }* %36 to i8**
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %164 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %36, i32 0, i32 1
Instruction does not dominate all uses!
  %36 = alloca { i8*, i32 }, align 8
  %166 = bitcast { i8*, i32 }* %36 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %32 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 0
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %33 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %40 = bitcast { i8*, i32 }* %14 to i8**
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %42 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %44 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %32 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 0
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %33 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %40 = bitcast { i8*, i32 }* %14 to i8**
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %42 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %44 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %32 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 0
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %33 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %40 = bitcast { i8*, i32 }* %14 to i8**
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %42 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %14, i32 0, i32 1
Instruction does not dominate all uses!
  %14 = alloca { i8*, i32 }, align 8
  %44 = bitcast { i8*, i32 }* %14 to i8*
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %17 to i8*
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %34 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 0
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %35 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 1
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %47 = bitcast { i8*, i32 }* %17 to i8**
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %49 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 1
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %51 = bitcast { i8*, i32 }* %17 to i8*
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %31 = bitcast { i8*, i32 }* %17 to i8*
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %34 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 0
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %35 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 1
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %47 = bitcast { i8*, i32 }* %17 to i8**
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %49 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %17, i32 0, i32 1
Instruction does not dominate all uses!
  %17 = alloca { i8*, i32 }, align 8
  %51 = bitcast { i8*, i32 }* %17 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %17 = bitcast { i8*, i32 }* %26 to i8**
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %19 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %21 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %50 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %53 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 0
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %54 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %17 = bitcast { i8*, i32 }* %26 to i8**
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %19 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %21 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %48 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %51 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 0
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %52 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %17 = bitcast { i8*, i32 }* %26 to i8**
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %19 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %21 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %50 = bitcast { i8*, i32 }* %26 to i8*
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %53 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 0
Instruction does not dominate all uses!
  %26 = alloca { i8*, i32 }, align 8
  %54 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %26, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %25 = bitcast { i8*, i32 }* %34 to i8**
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %63 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %66 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 0
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %67 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %26 = bitcast { i8*, i32 }* %35 to i8**
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %28 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %35, i32 0, i32 1
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %30 = bitcast { i8*, i32 }* %35 to i8*
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %71 = bitcast { i8*, i32 }* %35 to i8*
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %74 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %35, i32 0, i32 0
Instruction does not dominate all uses!
  %35 = alloca { i8*, i32 }, align 8
  %75 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %35, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %25 = bitcast { i8*, i32 }* %34 to i8**
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %63 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %66 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 0
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %67 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %25 = bitcast { i8*, i32 }* %34 to i8**
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %27 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %29 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %63 = bitcast { i8*, i32 }* %34 to i8*
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %66 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 0
Instruction does not dominate all uses!
  %34 = alloca { i8*, i32 }, align 8
  %67 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %34, i32 0, i32 1
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %24 = bitcast { i8*, i32 }* %33 to i8**
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %26 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %33, i32 0, i32 1
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %28 = bitcast { i8*, i32 }* %33 to i8*
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %62 = bitcast { i8*, i32 }* %33 to i8*
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %65 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %33, i32 0, i32 0
Instruction does not dominate all uses!
  %33 = alloca { i8*, i32 }, align 8
  %66 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %33, i32 0, i32 1
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %57 = bitcast { i8*, i32 }* %66 to i8**
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %59 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %66, i32 0, i32 1
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %61 = bitcast { i8*, i32 }* %66 to i8*
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %108 = bitcast { i8*, i32 }* %66 to i8*
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %111 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %66, i32 0, i32 0
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %112 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %66, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %56 = bitcast { i8*, i32 }* %65 to i8**
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %58 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %60 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %107 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %110 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 0
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %111 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %56 = bitcast { i8*, i32 }* %65 to i8**
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %58 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %60 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %107 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %110 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 0
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %111 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %56 = bitcast { i8*, i32 }* %65 to i8**
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %58 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %60 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %107 = bitcast { i8*, i32 }* %65 to i8*
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %110 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 0
Instruction does not dominate all uses!
  %65 = alloca { i8*, i32 }, align 8
  %111 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %65, i32 0, i32 1
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %57 = bitcast { i8*, i32 }* %66 to i8**
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %59 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %66, i32 0, i32 1
Instruction does not dominate all uses!
  %66 = alloca { i8*, i32 }, align 8
  %61 = bitcast { i8*, i32 }* %66 to i8*
Instruction does not dominate all uses!

@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] unicode_width test:false 0.101
[RUSTC-TIMING] getopts test:false 2.193
[RUSTC-TIMING] proc_macro test:false 10.842
   Compiling test v0.0.0 (/checkout/library/test)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %150 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %154, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %257, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %270, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %335, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %340, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %342 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %347, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %348 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %426, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %428 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %462, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %464 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %478, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %480 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %488, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %490 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %609, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %611 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %614, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %616 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %622, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %624 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %673, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %762, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %764 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %835, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %837 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %933, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %934 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %939, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %941 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %976, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %978 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %981, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %983 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %990, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %992 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1033, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1035 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1043, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1045 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1057, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1059 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1068, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1070 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1209, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1214 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1239, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1252, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1254 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1264, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1265 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1345, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1348, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1352 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1356, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1420, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1421 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1454, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1456 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1462, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1464 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1554, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1556 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1571, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1573 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1592, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1594 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %107)
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  store ptr %1614, ptr %107, align 8
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1615 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1622 = load ptr, ptr %107, align 8, !dbg !55187
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  %1623 = getelementptr inbounds { ptr, i32 }, ptr %107, i64 0, i32 1, !dbg !55187
Instruction does not dominate all uses!
  %107 = alloca { ptr, i32 }, align 8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %107), !dbg !55187
in function _ZN4test9run_tests17hee4173b1ba2c1a4aE
LLVM ERROR: Broken function found, compilation aborted!
error: could not compile `test`
Build completed unsuccessfully in 0:09:30

@eholk
Copy link
Contributor

eholk commented Dec 16, 2022

This seems like a nice improvement, but I'm probably not the best choice to review this.

r? compiler

@rustbot rustbot assigned TaKO8Ki and unassigned eholk Dec 16, 2022
@workingjubilee workingjubilee removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Mar 4, 2023
@bors
Copy link
Collaborator

bors commented Apr 8, 2023

☔ The latest upstream changes (presumably #109862) made this pull request unmergeable. Please resolve the merge conflicts.

@Kixiron Kixiron closed this Apr 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants