Skip to content
Snippets Groups Projects
  1. Sep 26, 2008
    • Dan Gohman's avatar
      Disable support for x86_f80 in X86FastISel. Supporting it would · 5af29c2e
      Dan Gohman authored
      require more work.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56637 91177308-0d34-0410-b5e6-96231b3b80d8
      5af29c2e
    • Bill Wendling's avatar
      If we have a function with an unreachable statement such that the ending debug · d751c64a
      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.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56628 91177308-0d34-0410-b5e6-96231b3b80d8
      d751c64a
  2. Sep 25, 2008
  3. Sep 24, 2008
Loading