Skip to content
  • Chris Lattner's avatar
    move a bunch of register constraints from being handled by · 7451e4d6
    Chris Lattner authored
    getRegClassForInlineAsmConstraint to being handled by
    getRegForInlineAsmConstraint.  This allows us to let the llvm register allocator
    allocate, which gives us better code.  For example, X86/2007-01-29-InlineAsm-ir.ll
    used to compile to:
    
    _run_init_process:
            subl $4, %esp
            movl %ebx, (%esp)
            xorl %ebx, %ebx
            movl $11, %eax
            movl %ebx, %ecx
            movl %ebx, %edx
            # InlineAsm Start
            push %ebx ; movl %ebx,%ebx ; int $0x80 ; pop %ebx
            # InlineAsm End
    
    Now we get:
    _run_init_process:
            xorl %ecx, %ecx
            movl $11, %eax
            movl %ecx, %edx
            # InlineAsm Start
            push %ebx ; movl %ecx,%ebx ; int $0x80 ; pop %ebx
            # InlineAsm End
    
    llvm-svn: 35804
    7451e4d6
Loading