[LLVMbugs] [Bug 5362] New: Ran out of registers during register allocation

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Nov 1 08:31:08 PST 2009


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

           Summary: Ran out of registers during register allocation
           Product: libraries
           Version: 2.6
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: castet.matthieu at free.fr
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=3735)
 --> (http://llvm.org/bugs/attachment.cgi?id=3735)
preprocessed file (sorry for the big file, I didn't manage to reduce it)

While compiling ffmpeg, the compilation abort with


$ clang   -fomit-frame-pointer  -O3    /tmp/mpegvideo_mmx.i -c -o /tmp/p.o
In file included from libavcodec/x86/mpegvideo_mmx.c:26:
In file included from ./libavcodec/avcodec.h:30:
In file included from ./libavutil/avutil.h:56:
In file included from ./libavutil/common.h:328:
./libavutil/mem.h:66:79: warning: 'alloc_size' attribute ignored
  ...int size) __attribute__((__malloc__)) __attribute__((alloc_size(1)));
                                                          ^
./libavutil/mem.h:80:63: warning: 'alloc_size' attribute ignored
void *av_realloc(void *ptr, unsigned int size) __attribute__((alloc_size(2)));
                                                              ^
./libavutil/mem.h:100:80: warning: 'alloc_size' attribute ignored
  ...int size) __attribute__((__malloc__)) __attribute__((alloc_size(1)));
                                                          ^
fatal error: error in backend: Ran out of registers during register allocation!
Please check your inline asm statement for invalid constraints:
INLINEASM <es:movd %eax, %xmm3              
        pshuflw $$0, %xmm3, %xmm3       
        punpcklwd %xmm3, %xmm3         
        pxor %xmm7, %xmm7                  
        pxor %xmm4, %xmm4                  
        movdqa ($2), %xmm5                   
        pxor %xmm6, %xmm6                  
        psubw ($3), %xmm6                  
        mov $$-128, %eax               
        .align 1 << 4
        1:                                 
        movdqa ($1, %eax), %xmm0        
        movdqa %xmm0, %xmm1            
        pabsw  %xmm0, %xmm0            
        psubusw %xmm6, %xmm0               
        pmulhw %xmm5, %xmm0                
        por %xmm0, %xmm4                   
        psignw %xmm1, %xmm0            
        movdqa %xmm0, ($5, %eax)        
        pcmpeqw %xmm7, %xmm0               
        movdqa ($4, %eax), %xmm1        
        movdqa %xmm7, ($1, %eax)        
        pandn %xmm1, %xmm0                 
        pmaxsw %xmm0, %xmm3     
        add $$16, %eax      
         js 1b                             
        movhlps %xmm3, %xmm0           
        pmaxsw %xmm0, %xmm3     
        pshuflw $$0x0E, %xmm3, %xmm0    
        pmaxsw %xmm0, %xmm3     
        pshuflw $$0x01, %xmm3, %xmm0    
        pmaxsw %xmm0, %xmm3     
        movd %xmm3, %eax              
        movzb %al, %eax              
        >, 10, %EAX<def>, 9, %reg1346<kill>, 9, %reg1299<kill>, 9,
%reg1343<kill>, 9, %reg1341<kill>, 9, %reg1344<kill>, 2147483657, %EAX, 14,
%EFLAGS<earlyclobber,def,dead>


Note that if we remove the "-fomit-frame-pointer" option there is no error.


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