[LLVMbugs] [Bug 11078] New: error: ran out of registers during register allocation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Oct 5 16:40:43 PDT 2011


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

           Summary: error: ran out of registers during register allocation
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: pageexec at freemail.hu
                CC: llvmbugs at cs.uiuc.edu
            Blocks: 4068


Created an attachment (id=7411)
 --> (http://llvm.org/bugs/attachment.cgi?id=7411)
preprocessed source

when compiling linux-3.0.4/arch/x86/kernel/machine_kexec_32.c i get the
following error on i386:

linux-3.0.4-pax-clang/arch/x86/include/asm/cmpxchg_32.h:79:15: error: ran out
of registers during register allocation
 asm volatile("\n1:\t"
              ^
with the following inline asm:

 79 »·······asm volatile("\n1:\t"
 80 »·······»·······     LOCK_PREFIX "cmpxchg8b %0\n\t"
 81 »·······»·······     "jnz 1b"
 82 »·······»·······     : "=m" (*ptr), "+A" (prev)
 83 »·······»·······     : "b" (low), "c" (high)
 84 »·······»·······     : "memory");

this code used to compile fine some months ago. preprocessed source attached,
the command line needed to compile it:

clang -Wp,-MD,arch/x86/kernel/.machine_kexec_32.o.d  -nostdinc
-Iarch/x86/include/generated -Iinclude  -include include/generated/autoconf.h
-D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
-Qunused-arguments -W -Wno-unused-parameter -Wno-missing-field-initializers
-Wno-self-assign -Wno-unused-value -Wno-format -mno-sse
-Wno-unknown-warning-option -fcatch-undefined-behavior -fno-strict-aliasing
-fno-common -Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -Wno-empty-body -O2 -m32 -msoft-float
-mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686
-mtune=core2 -maccumulate-outgoing-args -ffreestanding -DCONFIG_AS_CFI=1
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe
-Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2
-mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector
-Wno-unused-but-set-variable -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -femit-struct-debug-baseonly -pg
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(machine_kexec_32)" 
-D"KBUILD_MODNAME=KBUILD_STR(machine_kexec_32)" -c -o machine_kexec_32.o
machine_kexec_32.i

-- 
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