public override void Write(Formatter w) { w.Write("@" + Name); w.Write(" = "); if (Visibility != null) { w.WriteKeyword(Visibility); w.Write(' '); } if (unnamed_addr) { w.WriteKeyword("unnamed_addr"); w.Write(' '); } if (constant) { w.WriteKeyword("constant"); } else { w.WriteKeyword("global"); } w.Write(' '); Type.Write(w); if (Initializer != null) { w.Write(' '); Initializer.Write(w); } if (Alignment != 0) { w.Write(", align {0}", Alignment); } }
public override void Write(Formatter w) { w.WriteKeyword("switch"); w.Write(' '); Type.Write(w); w.Write(' '); Value.Write(w); w.Write(", "); w.WriteKeyword("label"); w.Write(' '); Default.Write(w); w.WriteLine(" ["); foreach (var dest in Destinations) { w.Indent(); dest.Item1.Write(w); w.Write(' '); dest.Item2.Write(w); w.Write(", "); w.WriteKeyword("label"); w.Write(' '); dest.Item3.Write(w); w.WriteLine(); } w.Write("]"); }
public override void Write(Formatter w) { w.WriteKeyword("br"); w.Write(' '); if (Cond != null) { Type.Write(w); w.Write(' '); Cond.Write(w); w.Write(", "); w.WriteKeyword("label"); w.Write(' '); IfTrue.Write(w); w.Write(", "); w.WriteKeyword("label"); w.Write(' '); IfFalse.Write(w); } else { w.WriteKeyword("label"); w.Write(' '); IfTrue.Write(w); } }
public override void Write(Formatter w) { if (Result != null) { Result.Write(w); w.Write(" = "); } w.WriteKeyword("call"); w.Write(" "); if (res_attrs != null) { res_attrs.Write(w); w.Write(' '); } FnType.Write(w); w.Write(" "); FnPtr.Write(w); w.Write("("); var sep = ""; foreach (var arg in Arguments) { w.Write(sep); sep = ", "; arg.Type.Write(w); w.Write(" "); if (arg.Attributes != null) { arg.Attributes.Write(w); w.Write(" "); } arg.Value.Write(w); } w.Write(")"); }
public override void Write(Formatter w) { ReturnType.Write(w); w.Write(" ("); var sep = ""; foreach (var arg in Parameters) { w.Write(sep); sep = ", "; if (arg.Type != null) { arg.Type.Write(w); if (arg.name != null) { w.Write(" "); w.Write(arg.name); } } else if (arg.name != null) { w.Write(arg.name); } } w.Write(")"); }
public override void Write(Formatter w) { Type.Write(w); if (string.IsNullOrEmpty(name)) { return; } w.Write(' '); w.Write(name); }
public override void Write(Formatter w) { w.WriteKeyword(Operator.ToString()); w.Write(" ("); Value.Write(w); w.Write(' '); w.WriteKeyword("to"); w.Write(' '); Type.Write(w); w.Write(")"); }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword("alloca"); w.Write(' '); Type.Write(w); if (ElCountType != null && ElementCount != null) { w.Write(", "); Type.Write(w); w.Write(' '); ElementCount.Write(w); } if (Alignment != 0) { w.Write(", "); w.WriteKeyword("align"); w.Write(Alignment); } }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword(Operator.ToString()); w.Write(' '); w.WriteKeyword(ConditionCode.ToString()); w.Write(' '); Type.Write(w); w.Write(' '); Op1.Write(w); w.Write(", "); Op2.Write(w); }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword(Operator.ToString()); w.Write(' '); TypeFrom.Write(w); w.Write(' '); Value.Write(w); w.Write(' '); w.WriteKeyword("to"); w.Write(' '); TypeTo.Write(w); }
public override void Write(Formatter w) { Name.Write(w); w.Write(" = "); w.WriteKeyword("type"); w.Write(" "); if (Opaque) { w.WriteKeyword("opaque"); } else { Type.Write(w); } }
public override void Write(Formatter w) { w.WriteKeyword("ret"); w.Write(" "); if (this.Type == LLVMType.Void) { w.WriteKeyword("void"); } else { Type.Write(w); w.Write(' '); Value.Write(w); } }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword("extractvalue"); w.Write(" "); AggregateType.Write(w); w.Write(' '); Value.Write(w); foreach (var idx in Indices) { w.Write(", "); w.Write(idx); } }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword("select"); w.Write(" "); CondType.Write(w); w.Write(" "); Cond.Write(w); w.Write(", "); TrueType.Write(w); w.Write(" "); TrueValue.Write(w); w.Write(", "); FalseType.Write(w); w.Write(" "); FalseValue.Write(w); }
public override void Write(Formatter w) { Dst.Write(w); w.Write(" = "); w.WriteKeyword("load"); w.Write(' '); DstType.Write(w); w.Write(", "); SrcType.Write(w); w.Write(' '); Src.Write(w); if (Alignment != 0) { w.Write(", "); w.WriteKeyword("align"); w.Write(" {0}", Alignment); } }
//[fn Attrs] //[section "name"] //[comdat [($name)]] [align N] //[gc] //[prefix Constant] //[prologue Constant] //[personality Constant] (!name !N)* { ... } public override void Write(Formatter w) { w.WriteKeyword("define"); w.Write(' '); if (ret_attrs != null) { ret_attrs.Write(w); w.Write(' '); } ResultType.Write(w); w.Write(' '); w.Write("@" + FunctionName); w.Write('('); var sep = ""; foreach (var param in Parameters) { w.Write(sep); sep = ", "; param.Type.Write(w); if (param.name != null) { w.Write(' '); w.Write('%' + param.name); } if (param.attrs != null) { w.Write(' '); param.attrs.Write(w); } } w.Write(')'); w.Write(' '); w.WriteLine("{"); foreach (var instr in Instructions) { w.Indent(); instr.Write(w); w.WriteLine(); } w.Indentation -= 4; w.Write("}"); }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword("getelementptr"); w.Write(" "); BaseType.Write(w); w.Write(", "); PtrType.Write(w); w.Write(" "); PtrValue.Write(w); foreach (var index in Indices) { w.Write(", "); index.Item1.Write(w); w.Write(" "); index.Item2.Write(w); } }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.WriteKeyword("phi"); w.Write(' '); Type.Write(w); var sep = " "; foreach (var arg in Arguments) { w.Write(sep); sep = ", "; w.Write("["); w.Write(arg.Item1); w.Write(", "); w.Write(arg.Item2); w.Write("]"); } }
public override void Write(Formatter w) { Result.Write(w); w.Write(" = "); w.Write(Operator.ToString()); w.Write(" "); if (NoUnsignedWrap) { w.WriteKeyword("nuw"); w.Write(' '); } if (NoSignedWrap) { w.WriteKeyword("nsw"); w.Write(' '); } Type.Write(w); w.Write(" "); Left.Write(w); w.Write(", "); Right.Write(w); }
public override void Write(Formatter w) { w.WriteKeyword("getelementptr"); if (Inbounds) { w.Write(' '); w.WriteKeyword("inbounds"); } w.Write(" ("); BaseType.Write(w); w.Write(", "); PointerType.Write(w); w.Write(' '); Pointer.Write(w); foreach (var index in Indices) { w.Write(", "); index.Item1.Write(w); w.Write(' '); index.Item2.Write(w); } w.Write(")"); }
public override void Write(Formatter w) { Type.Write(w); w.Write(' '); Value.Write(w); }
public override void Write(Formatter w) { w.Write("[{0} x ", Length); ElementType.Write(w); w.Write("]"); }
public override void Write(Formatter w) { Pointee.Write(w); w.Write("*"); }