Skip to content
  1. Mar 24, 2011
  2. Mar 23, 2011
    • David Chisnall's avatar
      Fixed type error in last commit (forgot that now that selectors are not · 76803410
      David Chisnall authored
      accessed via the indirect pointer, they don't need to be pointers to pointers).
      
      Finished moving the message lookup code into separate subclasses for each
      runtime.  Also performed a few smallish related tidies.
      
      We're now bitcasting the result of the message lookup functions, rather than
      casting the lookup functions themselves, so the messages.m test needed updating
      to reflect this.
      
      llvm-svn: 128180
      76803410
    • Evan Cheng's avatar
      Cmp peephole optimization isn't always safe for signed arithmetics. · 425489d3
      Evan Cheng authored
      int tries = INT_MAX;    
      while (tries > 0) {
            tries--;
      }
      
      The check should be:
              subs    r4, #1
              cmp     r4, #0
              bgt     LBB0_1
      
      The subs can set the overflow V bit when r4 is INT_MAX+1 (which loop
      canonicalization apparently does in this case). cmp #0 would have cleared
      it while not changing the N and Z bits. Since BGT is dependent on the V
      bit, i.e. (N == V) && !Z, it is not safe to eliminate the cmp #0.
      
      rdar://9172742
      
      llvm-svn: 128179
      425489d3
Loading