Skip to content
  1. Dec 19, 2008
    • Evan Cheng's avatar
      Fix PR3149. If an early clobber def is a physical register and it is tied to... · 0869f785
      Evan Cheng authored
      Fix PR3149. If an early clobber def is a physical register and it is tied to an input operand, it effectively extends the live range of the physical register. Currently we do not have a good way to represent this.
      
      172     %ECX<def> = MOV32rr %reg1039<kill>
      180     INLINEASM <es:subl $5,$1
              sbbl $3,$0>, 10, %EAX<def>, 14, %ECX<earlyclobber,def>, 9, %EAX<kill>,
      36, <fi#0>, 1, %reg0, 0, 9, %ECX<kill>, 36, <fi#1>, 1, %reg0, 0
      188     %EAX<def> = MOV32rr %EAX<kill>
      196     %ECX<def> = MOV32rr %ECX<kill>
      204     %ECX<def> = MOV32rr %ECX<kill>
      212     %EAX<def> = MOV32rr %EAX<kill>
      220     %EAX<def> = MOV32rr %EAX
      228     %reg1039<def> = MOV32rr %ECX<kill>
      
      The early clobber operand ties ECX input to the ECX def.
      
      The live interval of ECX is represented as this:
      %reg20,inf = [46,47:1)[174,230:0)  0@174-(230) 1@46-(47)
      
      The right way to represent this is something like
      %reg20,inf = [46,47:2)[174,182:1)[181:230:0)  0@174-(182) 1@181-230 @2@46-(47)
      
      Of course that won't work since that means overlapping live ranges defined by two val#.
      
      The workaround for now is to add a bit to val# which says the val# is redefined by a early clobber def somewhere. This prevents the move at 228 from being optimized away by SimpleRegisterCoalescing::AdjustCopiesBackFrom.
      
      llvm-svn: 61259
      0869f785
    • Chris Lattner's avatar
      Fix some release-assert warnings · 9c148c8f
      Chris Lattner authored
      llvm-svn: 61244
      9c148c8f
    • Rafael Espindola's avatar
      Fix bug 3202. · 770b4b83
      Rafael Espindola authored
      The EH_frame and .eh symbols are now private, except for darwin9 and earlier.
      The patch also fixes the definition of PrivateGlobalPrefix on pcc linux.
      
      llvm-svn: 61242
      770b4b83
    • Bill Wendling's avatar
      Perform this loop only when the -debug flag is specified. · 19a54ffc
      Bill Wendling authored
      llvm-svn: 61238
      19a54ffc
    • Dan Gohman's avatar
      Initialize the ImplicitDefed member, to avoid getting stale · 8c82a8a9
      Dan Gohman authored
      data from a previous block.
      
      llvm-svn: 61237
      8c82a8a9
  2. Dec 18, 2008
  3. Dec 17, 2008
  4. Dec 16, 2008
  5. Dec 15, 2008
  6. Dec 14, 2008
    • Duncan Sands's avatar
      Reapply r60997, this time without forgetting that · f312dc77
      Duncan Sands authored
      target constants are allowed to have an illegal
      type.
      
      llvm-svn: 61006
      f312dc77
    • Bill Wendling's avatar
      Temporarily revert r60997. It was causing this failure: · e5af6f19
      Bill Wendling authored
      Running /Users/void/llvm/llvm.src/test/CodeGen/Generic/dg.exp ...
      FAIL: /Users/void/llvm/llvm.src/test/CodeGen/Generic/asm-large-immediate.ll
      Failed with exit(1) at line 1
      while running:  llvm-as < /Users/void/llvm/llvm.src/test/CodeGen/Generic/asm-large-immediate.ll |  llc | /usr/bin/grep 68719476738
      Assertion failed: ((TypesNeedLegalizing || getTypeAction(VT) == Legal) && "Illegal type introduced after type legalization?"), function HandleOp, file /Users/void/llvm/llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp, line 493.
      0   llc               0x0085392e char const* std::find<char const*, char>(char const*, char const*, char const&) + 98
      1   llc               0x00853e63 llvm::sys::PrintStackTraceOnErrorSignal() + 593
      2   libSystem.B.dylib 0x96cac09b _sigtramp + 43
      3   libSystem.B.dylib 0xffffffff _sigtramp + 1765097359
      4   libSystem.B.dylib 0x96d24ec2 raise + 26
      5   libSystem.B.dylib 0x96d3447f abort + 73
      6   libSystem.B.dylib 0x96d26063 __assert_rtn + 101
      7   llc               0x004f9018 llvm::cast_retty<llvm::SubprogramDesc, llvm::DebugInfoDesc*>::ret_type llvm::cast<llvm::Sub
      ...
      
      llvm-svn: 61001
      e5af6f19
  7. Dec 13, 2008
Loading