Skip to content
  1. Nov 10, 2008
  2. Nov 09, 2008
  3. Nov 08, 2008
  4. Oct 17, 2008
  5. Oct 10, 2008
  6. Oct 09, 2008
  7. Oct 08, 2008
  8. Oct 03, 2008
  9. Sep 26, 2008
    • Bill Wendling's avatar
      If we have a function with an unreachable statement such that the ending debug · 374d7f2b
      Bill Wendling authored
      information is in an unreachable block, then it's possible that the high/low pc
      values won't be set for the dwarf information. E.g., this function:
      
      void abort(void) __attribute__((__noreturn__));
      void dead_beef(void) __attribute__ ((noreturn));
      
      int *b;
      
      void dead_beef(void) {
        *b=0xdeadbeef;
        abort();
      }
      
      has a call to "@llvm.dbg.region.end" only in the unreachable block:
      
      define void @dead_beef() noreturn nounwind  {
      entry:
      	call void @llvm.dbg.func.start(...)
      	call void @llvm.dbg.stoppoint(...)
      ...
      	call void @abort( ) noreturn nounwind 
      	unreachable
      
      return:		; No predecessors!
      	call void @llvm.dbg.stoppoint(...)
      	call void @llvm.dbg.region.end(...)
      	ret void
      }
      
      The dwarf information emitted is something like:
      
      0x00000084:     TAG_subprogram [5]  
                       AT_name( "dead_beef" )
                       AT_external( 0x01 )
                       AT_prototyped( 0x01 )
                       AT_decl_file( 0x01 )
                       AT_decl_line( 0x08 )
      
      Note that this is *not* the best fix for this problem, but a band-aid for an
      gaping wound. This code needs to be changed when we revamp our debugging
      information.
      
      llvm-svn: 56628
      374d7f2b
  10. Sep 25, 2008
  11. Sep 24, 2008
  12. Sep 22, 2008
  13. Sep 17, 2008
    • Dale Johannesen's avatar
      Add a bit to mark operands of asm's that conflict · f8610ebe
      Dale Johannesen authored
      with an earlyclobber operand elsewhere.  Propagate
      this bit and the earlyclobber bit through SDISel.
      Change linear-scan RA not to allocate regs in a way 
      that conflicts with an earlyclobber.  See also comments.
      
      llvm-svn: 56290
      f8610ebe
  14. Sep 10, 2008
    • Dale Johannesen's avatar
      Move the uglier parts of deciding not to emit a · abb1e777
      Dale Johannesen authored
      UsedDirective for some symbols in llvm.used into
      Darwin-specific code.  I've decided LessPrivateGlobal
      is potentially a useful abstraction and left it in
      the target-independent area, with improved comment.
      
      llvm-svn: 56024
      abb1e777
  15. Sep 09, 2008
    • Dale Johannesen's avatar
      Fix logic for not emitting no-dead-strip for some · f0802254
      Dale Johannesen authored
      objects in llvm.used (thanks Anton).  Makes visible
      the magic 'l' prefix for symbols on Darwin which are
      to be passed through the assembler, then removed at
      linktime (previously all references to this had been
      hidden in the ObjC FE code, oh well).
      
      llvm-svn: 55973
      f0802254
  16. Sep 08, 2008
  17. Sep 04, 2008
  18. Sep 03, 2008
  19. Aug 21, 2008
  20. Aug 19, 2008
  21. Aug 17, 2008
Loading