Skip to content
  1. Feb 02, 2008
    • Evan Cheng's avatar
      SDIsel processes llvm.dbg.declare by recording the variable debug information... · efd142a9
      Evan Cheng authored
      SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc.
      Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes.
      For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time.
      
      llvm-svn: 46659
      efd142a9
  2. Feb 01, 2008
  3. Jan 31, 2008
  4. Jan 30, 2008
  5. Jan 29, 2008
  6. Jan 28, 2008
  7. Jan 27, 2008
    • Owen Anderson's avatar
      Reg alloc doesn't really need LiveVariables. · 9a8c890c
      Owen Anderson authored
      llvm-svn: 46420
      9a8c890c
    • Chris Lattner's avatar
      Implement some dag combines that allow doing fneg/fabs/fcopysign in integer · 888560d6
      Chris Lattner authored
      registers if used by a bitconvert or using a bitconvert.  This allows us to
      avoid constant pool loads and use cheaper integer instructions when the
      values come from or end up in integer regs anyway.  For example, we now 
      compile CodeGen/X86/fp-in-intregs.ll to:
      
      _test1:
      	movl	$2147483648, %eax
      	xorl	4(%esp), %eax
      	ret
      _test2:
      	movl	$1065353216, %eax
      	orl	4(%esp), %eax
      	andl	$3212836864, %eax
      	ret
      
      Instead of:
      _test1:
      	movss	4(%esp), %xmm0
      	xorps	LCPI2_0, %xmm0
      	movd	%xmm0, %eax
      	ret
      _test2:
      	movss	4(%esp), %xmm0
      	andps	LCPI3_0, %xmm0
      	movss	LCPI3_1, %xmm1
      	andps	LCPI3_2, %xmm1
      	orps	%xmm0, %xmm1
      	movd	%xmm1, %eax
      	ret
      
      bitconverts can happen due to various calling conventions that require
      fp values to passed in integer regs in some cases, e.g. when returning
      a complex.
      
      llvm-svn: 46414
      888560d6
    • Chris Lattner's avatar
      For long double constants, print an approximation of their value to the .s... · f1a6c9fe
      Chris Lattner authored
      For long double constants, print an approximation of their value to the .s file to make it easier to read.
      
      llvm-svn: 46407
      f1a6c9fe
  8. Jan 26, 2008
  9. Jan 25, 2008
Loading