[LLVMbugs] [Bug 3279] New: Failed bootstrap: Unsupported asm: input constraint with a matching output constraint of incompatible type!

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Jan 3 01:31:14 PST 2009


http://llvm.org/bugs/show_bug.cgi?id=3279

           Summary: Failed bootstrap: Unsupported asm: input constraint with
                    a matching output constraint of incompatible type!
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: edwintorok at gmail.com
                CC: llvmbugs at cs.uiuc.edu


With SVN r61604 llvm-gcc bootstrap fails in libgomp:
$ /home/edwin/llvm-bootstrap/llvm-obj/./gcc/xgcc
-B/home/edwin/llvm-bootstrap/llvm-obj/./gcc/
-B/home/edwin/llvm-bootstrap/llvm-obj/../install/x86_64-unknown-linux-gnu/bin/
-B/home/edwin/llvm-bootstrap/llvm-obj/../install/x86_64-unknown-linux-gnu/lib/
-isystem
/home/edwin/llvm-bootstrap/llvm-obj/../install/x86_64-unknown-linux-gnu/include
-isystem
/home/edwin/llvm-bootstrap/llvm-obj/../install/x86_64-unknown-linux-gnu/sys-include
-DHAVE_CONFIG_H -I. -I../../../llvm-gcc4.2/libgomp -I.
-I../../../llvm-gcc4.2/libgomp/config/linux/x86
-I../../../llvm-gcc4.2/libgomp/config/linux
-I../../../llvm-gcc4.2/libgomp/config/posix -I../../../llvm-gcc4.2/libgomp
-Wall -Werror -pthread -ftls-model=initial-exec -O2 -g -O2 -MT lock.lo -MD -MP
-MF .deps/lock.Tpo -c ../../../llvm-gcc4.2/libgomp/config/linux/lock.c  -fPIC
-DPIC -o .libs/lock.o
Unsupported asm: input constraint with a matching output constraint of
incompatible type!

Bugpoint reduced testcase:
; ModuleID = 'bugpoint-reduced-simplified.bc'
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"
target triple = "x86_64-unknown-linux-gnu"
        %struct.omp_nest_lock_t = type { i32, i32 }

@gomp_ialias_omp_init_lock = alias void (i32*)* @omp_init_lock          ; <void
(i32*)*> [#uses=0]
@gomp_ialias_omp_init_nest_lock = alias void (%struct.omp_nest_lock_t*)*
@omp_init_nest_lock            ; <void (%struct.omp_nest_lock_t*)*> [#uses=0]
@gomp_ialias_omp_destroy_lock = alias void (i32*)* @omp_destroy_lock           
; <void (i32*)*> [#uses=0]
@gomp_ialias_omp_destroy_nest_lock = alias void (%struct.omp_nest_lock_t*)*
@omp_destroy_nest_lock         ; <void (%struct.omp_nest_lock_t*)*> [#uses=0]
@gomp_ialias_omp_set_lock = alias void (i32*)* @omp_set_lock            ; <void
(i32*)*> [#uses=0]
@gomp_ialias_omp_set_nest_lock = alias void (%struct.omp_nest_lock_t*)*
@omp_set_nest_lock              ; <void (%struct.omp_nest_lock_t*)*> [#uses=0]
@gomp_ialias_omp_unset_lock = alias void (i32*)* @omp_unset_lock               
; <void (i32*)*> [#uses=0]
@gomp_ialias_omp_unset_nest_lock = alias void (%struct.omp_nest_lock_t*)*
@omp_unset_nest_lock          ; <void (%struct.omp_nest_lock_t*)*> [#uses=0]
@gomp_ialias_omp_test_lock = alias i32 (i32*)* @omp_test_lock           ; <i32
(i32*)*> [#uses=0]
@gomp_ialias_omp_test_nest_lock = alias i32 (%struct.omp_nest_lock_t*)*
@omp_test_nest_lock             ; <i32 (%struct.omp_nest_lock_t*)*> [#uses=0]

declare void @omp_init_lock(i32* nocapture) nounwind

declare void @omp_destroy_lock(i32* nocapture) nounwind readnone

declare void @omp_destroy_nest_lock(%struct.omp_nest_lock_t* nocapture)
nounwind readnone

declare i32 @omp_test_nest_lock(%struct.omp_nest_lock_t*) nounwind

declare void @omp_set_nest_lock(%struct.omp_nest_lock_t*) nounwind

define void @omp_unset_nest_lock(%struct.omp_nest_lock_t* %lock) nounwind {
entry:
        br i1 false, label %bb, label %return

bb:             ; preds = %entry
        %asmtmp.i = tail call i64 asm sideeffect "syscall",
"={ax},0,{di},{si},{dx},~{dirflag},~{fpsr},~{flags},~{memory},~{cx},~{r11}"(i32
202, i32* null, i32 1, i32 1) nounwind          ; <i64> [#uses=0]
        ret void

return:         ; preds = %entry
        ret void
}

declare void @omp_init_nest_lock(%struct.omp_nest_lock_t* nocapture) nounwind

declare i32 @omp_test_lock(i32*) nounwind

declare void @omp_unset_lock(i32*) nounwind

declare void @omp_set_lock(i32*) nounwind


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list