Skip to content
  1. Dec 08, 2007
  2. Dec 07, 2007
    • Steve Naroff's avatar
      · 1f6ed92d
      Steve Naroff authored
      Omit the field name when including the super class structure template.
      
      This allows us to access a superclasses ivars without deriving the absolute path.
      
      The comments below say a bit more...
      
      llvm-svn: 44688
      1f6ed92d
    • Bill Wendling's avatar
      Initial commit of the machine code LICM pass. It successfully hoists this: · fb706bc5
      Bill Wendling authored
      _foo:
              li r2, 0
      LBB1_1: ; bb
              li r5, 0
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr 
      
      to:
      
      _foo:
              li r2, 0
              li r5, 0
      LBB1_1: ; bb
              stw r5, 0(r3)
              addi r2, r2, 1
              addi r3, r3, 4
              cmplw cr0, r2, r4
              bne cr0, LBB1_1 ; bb
      LBB1_2: ; return
              blr
      
      ZOMG!! :-)
      
      Moar to come...
      
      llvm-svn: 44687
      fb706bc5
    • Evan Cheng's avatar
      Add comment. · b41d838d
      Evan Cheng authored
      llvm-svn: 44686
      b41d838d
    • Fariborz Jahanian's avatar
      ff6a455c
    • Steve Naroff's avatar
      · 2c20c38c
      Steve Naroff authored
      Have Sema::CheckConstantInitList skip semantic analysis when the element type is a record (until we implement the FIXME). This removes a bogus error for the following code...
      
      snarofflocal% cat bug.m
      
      #import <Foundation/NSGeometry.h>
      
      #define NUMHELICOPTERRECTS 5
      
      static NSRect helicopterRects[NUMHELICOPTERRECTS] = {
          {{27, 0}, {18, 11}},	// Bottom
          {{0, 8}, {4, 11}},		// Tail
          {{0, 16}, {50, 1}},
          {{22, 5}, {18, 12}},	// Body
          {{0, 10}, {42, 3}}
      };
      
      llvm-svn: 44684
      2c20c38c
    • Steve Naroff's avatar
      · 888f33cc
      Steve Naroff authored
      Lookup methods in the global pool even when a statically typed object's class interface isn't in scope!
      
      As the comment in the code indicates, I'm not fond of this. Nevertheless, gcc compat is a goal.
      
      Here is the case I'm talking about...
      
      #import <Foundation/Foundation.h>
      
      @interface AnyClass : NSObject
      - (NSRect)rect;
      @end
      
      @class Helicopter;
      
      static void func(Helicopter *obj) {
        NSRect r = [obj rect];
      }
      
      ...before this patch, we would warn/error. With this patch, everything "just works".
      
      llvm-svn: 44682
      888f33cc
    • Fariborz Jahanian's avatar
      Patch for rewriting of @protocol. · 33c0e815
      Fariborz Jahanian authored
      llvm-svn: 44681
      33c0e815
    • Evan Cheng's avatar
      Much improved v8i16 shuffles. (Step 1). · bfd373a5
      Evan Cheng authored
      llvm-svn: 44676
      bfd373a5
    • Owen Anderson's avatar
      Fix a stupid error that Chris pointed out. · b1d4fda8
      Owen Anderson authored
      llvm-svn: 44674
      b1d4fda8
    • Steve Naroff's avatar
      · b2f8ff15
      Steve Naroff authored
      Rewrite 'super' within a class method. This required some minor tweaks to the front-end.
      
      llvm-svn: 44673
      b2f8ff15
    • Evan Cheng's avatar
      New test case. · 26593a04
      Evan Cheng authored
      llvm-svn: 44672
      26593a04
    • Evan Cheng's avatar
      Add an option to control this heuristic tweak so I can test it. · 85cdba29
      Evan Cheng authored
      llvm-svn: 44671
      85cdba29
Loading