Skip to content
  1. Jun 21, 2011
  2. Jun 20, 2011
    • Fariborz Jahanian's avatar
      llvm-gcc treats a tentative definition with a previous · ab578bf3
      Fariborz Jahanian authored
      (or follow up) extern declaration with weak_import as 
      an actual definition. make clang follows this behavior. 
      // rdar://9538608
      llvm-gcc treats an extern declaration with weak_import
      
      llvm-svn: 133450
      ab578bf3
    • Jay Foad's avatar
      Change how PHINodes store their operands. · e03c05c3
      Jay Foad authored
      Change PHINodes to store simple pointers to their incoming basic blocks,
      instead of full-blown Uses.
      
      Note that this loses an optimization in SplitCriticalEdge(), because we
      can no longer walk the use list of a BasicBlock to find phi nodes. See
      the comment I removed starting "However, the foreach loop is slow for
      blocks with lots of predecessors".
      
      Extend replaceAllUsesWith() on a BasicBlock to also update any phi
      nodes in the block's successors. This mimics what would have happened
      when PHINodes were proper Users of their incoming blocks. (Note that
      this only works if OldBB->replaceAllUsesWith(NewBB) is called when
      OldBB still has a terminator instruction, so it still has some
      successors.)
      
      llvm-svn: 133435
      e03c05c3
    • Francois Pichet's avatar
      Remove more unnecessary #include <llvm/ADT/SmallVector.h> · 1b8d5dda
      Francois Pichet authored
      llvm-svn: 133418
      1b8d5dda
    • Chris Lattner's avatar
      Update to match mainline ConstantStruct::get API change. Also, use · e64d7ba1
      Chris Lattner authored
      ConvertType on InitListExprs as they are being converted.  This is
      needed for a forthcoming patch, and improves the IR generated anyway
      (see additional type names in testcases). 
      
      This patch also converts a bunch of std::vector's in CGObjCMac to use
      C arrays.  There are a ton more that should be converted as well.
      
      llvm-svn: 133413
      e64d7ba1
  3. Jun 19, 2011
  4. Jun 18, 2011
  5. Jun 17, 2011
  6. Jun 16, 2011
  7. Jun 15, 2011
  8. Jun 14, 2011
  9. Jun 11, 2011
    • Richard Smith's avatar
      938f40b5
    • Douglas Gregor's avatar
      Implement Objective-C Related Result Type semantics. · 33823727
      Douglas Gregor authored
      Related result types apply Cocoa conventions to the type of message
      sends and property accesses to Objective-C methods that are known to
      always return objects whose type is the same as the type of the
      receiving class (or a subclass thereof), such as +alloc and
      -init. This tightens up static type safety for Objective-C, so that we
      now diagnose mistakes like this:
      
      t.m:4:10: warning: incompatible pointer types initializing 'NSSet *'
      with an
            expression of type 'NSArray *' [-Wincompatible-pointer-types]
        NSSet *array = [[NSArray alloc] init];
               ^       ~~~~~~~~~~~~~~~~~~~~~~
      /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1:
      note: 
            instance method 'init' is assumed to return an instance of its
            receiver
            type ('NSArray *')
      - (id)init;
      ^
      
      It also means that we get decent type inference when writing code in
      Objective-C++0x:
      
        auto array = [[NSMutableArray alloc] initWithObjects:@"one",  @"two",nil];
        //    ^ now infers NSMutableArray* rather than id
      
      llvm-svn: 132868
      33823727
  10. Jun 10, 2011
  11. Jun 08, 2011
  12. Jun 05, 2011
  13. Jun 04, 2011
    • Tanya Lattner's avatar
      Add support for builtin astype: · 55808c10
      Tanya Lattner authored
      __builtin_astype(): Used to reinterpreted as another data type of the same size using for both scalar and vector data types.
      Added test case.
      
      llvm-svn: 132612
      55808c10
    • Devang Patel's avatar
      Rework r132576. · 1b291b22
      Devang Patel authored
      Emit debug info only if there is an insertion point. The debug info should not force an insertion point. Codegen may later on decide to not emit code for some reason, see extensive comment in CodeGenFunction::EmitStmt(), and debug info should not get in the way.
      
      llvm-svn: 132610
      1b291b22
  14. Jun 03, 2011
Loading