Skip to content
  • Mike Stump's avatar
    Fixup debug information for the location information for __block · 2c002929
    Mike Stump authored
    variables.  For this to work, the backend needs to handle more complex
    forms for locations.
    
    A typical utterance would be:
    
            %forwarding = getelementptr %0* %use_by_ref, i32 0, i32 1               ; <i8**> [#uses=1]
            %0 = load i8** %forwarding              ; <i8*> [#uses=1]
            %1 = bitcast i8* %0 to %0*              ; <%0*> [#uses=1]
            %x = getelementptr %0* %1, i32 0, i32 4         ; <i32*> [#uses=1]
            %2 = bitcast i32* %x to { }*            ; <{ }*> [#uses=1]
            call void @llvm.dbg.declare({ }* %2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*))
    
    Presently when selection finds something it doesn't understand, it
    just avoids generating any information, which is safe, just
    incomplete.  Radar 6867696
    
    llvm-svn: 71824
    2c002929
Loading