Skip to content
  1. Jun 04, 2008
    • Evan Cheng's avatar
      Move #include to right place. · eecdf659
      Evan Cheng authored
      llvm-svn: 51932
      eecdf659
    • Evan Cheng's avatar
      Register if-converter pass for -debug-pass. · c5b3a3be
      Evan Cheng authored
      llvm-svn: 51931
      c5b3a3be
    • Duncan Sands's avatar
      Change packed struct layout so that field sizes · fc3c489b
      Duncan Sands authored
      are the same as in unpacked structs, only field
      positions differ.  This only matters for structs
      containing x86 long double or an apint; it may
      cause backwards compatibility problems if someone
      has bitcode containing a packed struct with a
      field of one of those types.
      The issue is that only 10 bytes are needed to
      hold an x86 long double: the store size is 10
      bytes, but the ABI size is 12 or 16 bytes (linux/
      darwin) which comes from rounding the store size
      up by the alignment.  Because it seemed silly not
      to pack an x86 long double into 10 bytes in a
      packed struct, this is what was done.  I now
      think this was a mistake.  Reserving the ABI size
      for an x86 long double field even in a packed
      struct makes things more uniform: the ABI size is
      now always used when reserving space for a type.
      This means that developers are less likely to
      make mistakes.  It also makes life easier for the
      CBE which otherwise could not represent all LLVM
      packed structs (PR2402).
      Front-end people might need to adjust the way
      they create LLVM structs - see following change
      to llvm-gcc.
      
      llvm-svn: 51928
      fc3c489b
    • Owen Anderson's avatar
  2. Jun 03, 2008
  3. Jun 02, 2008
  4. May 31, 2008
  5. May 30, 2008
  6. May 29, 2008
  7. May 28, 2008
  8. May 27, 2008
  9. May 26, 2008
    • Bill Wendling's avatar
      The enabling of remat in 2-address conversion breaks this test: · 2e8c8289
      Bill Wendling authored
      Running /Users/void/llvm/llvm.src/test/CodeGen/X86/dg.exp ...
      FAIL: /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
      Failed with exit(1) at line 1
      while running: llvm-as < /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll | llc -march=x86 -mattr=+sse2 -stats |&  grep {1 .*folded into instructions}
      child process exited abnormally
      
      Make this conditional for now.
      
      llvm-svn: 51563
      2e8c8289
    • Bill Wendling's avatar
      A problem that's exposed when machine LICM is enabled. Consider this code: · c737e463
      Bill Wendling authored
      LBB1_3:   # bb
      ...
              xorl    %ebp, %ebp
              subl    (%ebx), %ebp
      ...
              incl    %ecx
              cmpl    %edi, %ecx
              jl      LBB1_3  # bb
      
      Whe using machine LICM, LLVM converts it into:
      
              xorl %esi, %esi
      LBB1_3: # bb
      ...
              movl    %esi, %ebp
              subl    (%ebx), %ebp
      ...
              incl    %ecx
              cmpl    %edi, %ecx
              jl      LBB1_3  # bb
      
      Two address conversion inserts the copy instruction. However, it's cheaper to
      rematerialize it, and remat helps reduce register pressure.
      
      llvm-svn: 51562
      c737e463
  10. May 24, 2008
  11. May 23, 2008
Loading