reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
; RUN: llc < %s -verify-coalescing
; PR12892
;
; Dead code elimination during coalesing causes a live range to split into two
; virtual registers. Stale identity copies that had already been joined were
; interfering with the liveness computations.

target triple = "i386-pc-linux-gnu"

define void @_ZN4llvm17AsmMatcherEmitter3runERNS_11raw_ostreamE() align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
  invoke void @_ZNK4llvm13CodeGenTarget12getAsmParserEv()
          to label %1 unwind label %5

; <label>:1                                       ; preds = %0
  invoke void @_ZNK4llvm6Record16getValueAsStringENS_9StringRefE()
          to label %4 unwind label %2

; <label>:2                                       ; preds = %1
  %3 = landingpad { i8*, i32 }
          cleanup
  unreachable

; <label>:4                                       ; preds = %1
  invoke void @_ZN4llvm18isCurrentDebugTypeEPKc()
          to label %12 unwind label %7

; <label>:5                                       ; preds = %0
  %6 = landingpad { i8*, i32 }
          cleanup
  br label %33

; <label>:7                                       ; preds = %4
  %8 = landingpad { i8*, i32 }
          cleanup
  br label %9

; <label>:9                                       ; preds = %28, %7
  %10 = phi { i8*, i32 } [ %29, %28 ], [ %8, %7 ]
  %11 = extractvalue { i8*, i32 } %10, 1
  invoke fastcc void @_ZN12_GLOBAL__N_114AsmMatcherInfoD2Ev()
          to label %32 unwind label %35

; <label>:12                                      ; preds = %4
  invoke void @_ZNK4llvm13CodeGenTarget10getRegBankEv()
          to label %13 unwind label %16

; <label>:13                                      ; preds = %12
  br label %14

; <label>:14                                      ; preds = %20, %13
  %15 = icmp eq i32 undef, 0
  br i1 %15, label %20, label %18

; <label>:16                                      ; preds = %12
  %17 = landingpad { i8*, i32 }
          cleanup
  br label %26

; <label>:18                                      ; preds = %14
  invoke void @_ZNSs4_Rep9_S_createEjjRKSaIcE()
          to label %19 unwind label %21

; <label>:19                                      ; preds = %18
  unreachable

; <label>:20                                      ; preds = %14
  br label %14

; <label>:21                                      ; preds = %18
  %22 = landingpad { i8*, i32 }
          cleanup
  %23 = extractvalue { i8*, i32 } %22, 1
  br i1 undef, label %26, label %24

; <label>:24                                      ; preds = %21
  br i1 undef, label %25, label %26

; <label>:25                                      ; preds = %24
  unreachable

; <label>:26                                      ; preds = %24, %21, %16
  %27 = phi i32 [ 0, %16 ], [ %23, %21 ], [ %23, %24 ]
  invoke void @_ZNSt6vectorISt4pairISsSsESaIS1_EED1Ev()
          to label %28 unwind label %30

; <label>:28                                      ; preds = %26
  %29 = insertvalue { i8*, i32 } undef, i32 %27, 1
  br label %9

; <label>:30                                      ; preds = %26
  %31 = landingpad { i8*, i32 }
          catch i8* null
  unreachable

; <label>:32                                      ; preds = %9
  br label %33

; <label>:33                                      ; preds = %32, %5
  %34 = phi i32 [ undef, %5 ], [ %11, %32 ]
  unreachable

; <label>:35                                      ; preds = %9
  %36 = landingpad { i8*, i32 }
          catch i8* null
  unreachable
}

declare void @_ZNK4llvm13CodeGenTarget12getAsmParserEv()

declare i32 @__gxx_personality_v0(...)

declare void @_ZNK4llvm6Record16getValueAsStringENS_9StringRefE()

declare void @_ZN4llvm18isCurrentDebugTypeEPKc()

declare fastcc void @_ZN12_GLOBAL__N_114AsmMatcherInfoD2Ev() unnamed_addr inlinehint align 2

declare hidden void @_ZNSt6vectorISt4pairISsSsESaIS1_EED1Ev() unnamed_addr align 2

declare void @_ZNSs4_Rep9_S_createEjjRKSaIcE()

declare void @_ZNK4llvm13CodeGenTarget10getRegBankEv()