Skip to content

VerifyCoalescing failure on MultiSource/Benchmarks/btAlignedAllocator.cpp on x86_64 #10350

@llvmbot

Description

@llvmbot
Bugzilla Link 9978
Resolution FIXED
Resolved on May 20, 2011 23:14
Version trunk
OS All
Blocks #10331
Reporter LLVM Bugzilla Contributor
CC @stoklund

Extended Description

Here is a reduction of the failure:

target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-macosx10.7.0"

@​_ZL9sFreeFunc = internal unnamed_addr global void ()* @​_ZL13btFreeDefaultPv, align 8

define internal void @​_ZL13btFreeDefaultPv() nounwind ssp {
entry:
ret void
}

define void @​_Z21btAlignedFreeInternalPv() ssp {
entry:
%tmp8 = load void ()** @​_ZL9sFreeFunc, align 8
tail call void %tmp8()
ret void
}

Before register coalescing

Machine code for function _Z21btAlignedFreeInternalPv:

0L BB#0: derived from LLVM BB %entry
16L TCRETURNmi64 %RIP, 1, %noreg, ga:@_ZL9sFreeFunc, %noreg, 0, %RSP, ...; mem:LD8[@_ZL9sFreeFunc]

End machine code for function _Z21btAlignedFreeInternalPv.

*** Bad machine code: Illegal physical register for instruction ***

  • function: _Z21btAlignedFreeInternalPv
  • basic block: entry 0x7fdf1202ffa0 (BB#0) [0L;32L)
  • instruction: 16L TCRETURNmi64 %RIP, 1, %noreg, ga:@_ZL9sFreeFunc, %noreg, 0, %RSP, ...; mem:LD8[@_ZL9sFreeFunc]
  • operand 0: %RIP
    RIP is not a GR64_TC register.
    LLVM ERROR: Found 1 machine code errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions