Skip to content
  1. Aug 11, 2008
  2. Aug 10, 2008
  3. Aug 08, 2008
  4. Aug 07, 2008
  5. Aug 06, 2008
    • Daniel Dunbar's avatar
      Fix EmitNullInitializationToLValue for bitfield lvalues. · e8bdce44
      Daniel Dunbar authored
       - PR2643
      
      llvm-svn: 54397
      e8bdce44
    • Daniel Dunbar's avatar
      Fix bitfield accesses which straddle the boundary of the underlying · ead7c912
      Daniel Dunbar authored
      type.
      
       - This generates somewhat less optimal code than before but this is
         not hard to rectify once stable (at the cost of slightly more
         complex code).
      
       - This currently always uses little-endian ordering of the bitfield. 
      
       - This breaks the CodeGen/bitfield.c test because it was grepping for
         hard-coded assembly instructions. Will fix once a better test case
         is constructed (hard to do without execution).
      
       - This fixes SingleSource/UnitTests/2006-01-23-InitializedBitField.c
         and Regression/C/PR1386.c from the test suite.
      
       - <rdar://problem/6085090>, <rdar://problem/6094169>
      
      llvm-svn: 54395
      ead7c912
    • Daniel Dunbar's avatar
      Fix CodeGen of pointer arithmetic in compound assignment statements. · bfb1cd74
      Daniel Dunbar authored
       - Changed EmitSub to work on all cases (arithmetic, ptr - int, ptr -
         ptr) so that implementation matches that of other operators.
      
       - Modify EmitCompoundAssign to compute and perform the appropriate
         casts of left, right, and result types for the assorted pointer
         arithmetic cases.
      
       - Fix EmitSub (ptr - int) case to negate the rhs *after*
         extension. This is critical when the rhs is unsigned (and needs
         extension).
      
       - This fixes cfrac.
      
       - <rdr://6115726>
      
      llvm-svn: 54392
      bfb1cd74
    • Daniel Dunbar's avatar
      Implement GNU asm-label extension support in CodeGen. This fixes · ffc29be8
      Daniel Dunbar authored
      scimark2 on Darwin.
      
       - Added Sema support for asm-label on variables, which I forgot before.
      
       - Update CodeGen to use GlobalDeclMap to determine if static Decls
         require emission (instead of LLVM module name lookup). Important
         since the Decl name and the LLVM module name can differ.
      
       - <rdar://problem/6116729>
      
      llvm-svn: 54388
      ffc29be8
    • Daniel Dunbar's avatar
      Change CodeGen of global decls to key off of the name (instead of · 829e9888
      Daniel Dunbar authored
        having multiple bindings from all the possible decls which
        conceptually map to the same global).
      
       - This eliminates CodeGen depending on the LLVM module for name
         lookup.
      
       - This also eliminates the need for ReplaceMapValuesWith (hurrah).
      
       - This handles lookups for FunctionDecls correctly in the presence of
         aliases, this was previously broken.
      
       - WIP: Can still clean up & unify variable and function emission.
      
      llvm-svn: 54382
      829e9888
  6. Aug 05, 2008
  7. Aug 04, 2008
    • Daniel Dunbar's avatar
      Avoid creating dummy block when no indirect gotos are present. · d27262f3
      Daniel Dunbar authored
      llvm-svn: 54322
      d27262f3
    • Daniel Dunbar's avatar
      Add CodeGen support for indirect goto. · 88402ce8
      Daniel Dunbar authored
       - Follows emission scheme used by llvm-gcc, i.e. invent an id for
         each label whose address is taken and replace each indirect goto by
         a switch to each possible target.
       - Currently we emit a switch for each indirect goto instead of
         merging them as llvm-gcc does.
      
      llvm-svn: 54318
      88402ce8
    • Chris Lattner's avatar
      · 7adf0760
      Chris Lattner authored
      Finally fix PR2189.  This makes a fairly invasive but important change to
      move getAsArrayType into ASTContext instead of being a method on type.
      This is required because getAsArrayType(const AT), where AT is a typedef
      for "int[10]" needs to return ArrayType(const int, 10).
      
      Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
      
      llvm-svn: 54317
      7adf0760
  8. Aug 01, 2008
  9. Jul 31, 2008
  10. Jul 30, 2008
    • Daniel Dunbar's avatar
      Fix implicit initialization of structures. · b39b1cd7
      Daniel Dunbar authored
      <rdar://problem/6113085>
      
      llvm-svn: 54237
      b39b1cd7
    • Daniel Dunbar's avatar
      Change CodeGenModule GlobalDeclMap to directly reference globals · e49df9b5
      Daniel Dunbar authored
      instead of mapping the decl to a bitcast of the global to the correct
      type.
       
       - GetAddrOf{Function,GlobalVar} introduce the bitcast on every use now.
      
       - This solves a problem where a dangling pointer could be introduced
         by the RAUW done when replacing a forward or tentative
         definition. See testcase for more details.
      
       - Fixes <rdar://problem/6108358>
      
      llvm-svn: 54211
      e49df9b5
    • Daniel Dunbar's avatar
      Rework codegen emission of globals · 9c426524
      Daniel Dunbar authored
       - No (intended) functionality change.
      
       - Primary purpose is to clearly separate (lazy) construction of
         globals that are a forward declaration or tentative definition from
         those that are the final definition.
      
       - Lazy construction is now encapsulated in
         GetAddrOf{Function,GlobalVar} while final definitions are
         constructed in EmitGlobal{Function,Var}Definition.
       
       - External interface for dealing with globals is now limited to
         EmitGlobal and GetAddrOf{Function,GlobalVar}.
      
       - Also updated helper functions dealing with statics, annotations,
         and ctors to be private.
      
      llvm-svn: 54179
      9c426524
  11. Jul 29, 2008
  12. Jul 27, 2008
  13. Jul 26, 2008
Loading