Skip to content
  • Chris Lattner's avatar
    Hook up global function and variable handling. We can now compile: · b6984c48
    Chris Lattner authored
    int X, bar(int,int,int);
    short Y;
    
    double foo() {
      return bar(X, Y, 3);
    }
    
    into:
    
    @X = external global i32                ; <i32*> [#uses=1]
    @Y = external global i16                ; <i16*> [#uses=1]
    
    define double @foo() {
    entry:
            %tmp = load i32* @X             ; <i32> [#uses=1]
            %tmp1 = load i16* @Y            ; <i16> [#uses=1]
            %promote = sext i16 %tmp1 to i32                ; <i32> [#uses=1]
            %call = tail call i32 @bar( i32 %tmp, i32 %promote, i32 3 )             ; <i32> [#uses=1]
            %conv = sitofp i32 %call to double              ; <double> [#uses=1]
            ret double %conv
    }
    
    declare i32 @bar(i32, i32, i32)
    
    llvm-svn: 39663
    b6984c48
Loading