Esempio n. 1
0
 /// <summary>
 /// </summary>
 /// <param name="llvmWriter">
 /// </param>
 /// <param name="opCode">
 /// </param>
 /// <param name="typeToLoad">
 /// </param>
 /// <param name="source">
 /// </param>
 /// <param name="appendReference">
 /// </param>
 /// <param name="structAsRef">
 /// </param>
 public static void WriteLlvmLoad(
     this LlvmWriter llvmWriter,
     OpCodePart opCode,
     IType typeToLoad,
     IncrementalResult source,
     bool appendReference = true,
     bool structAsRef     = false)
 {
     llvmWriter.WriteLlvmLoad(
         opCode,
         typeToLoad,
         new FullyDefinedReference(source.ToString(), source.Type),
         appendReference,
         structAsRef);
 }
Esempio n. 2
0
        /// <summary>
        /// </summary>
        /// <param name="llvmWriter">
        /// </param>
        /// <param name="opCode">
        /// </param>
        /// <param name="fromType">
        /// </param>
        /// <param name="result">
        /// </param>
        /// <param name="custom">
        /// </param>
        public static void WriteBitcast(
            this LlvmWriter llvmWriter,
            OpCodePart opCode,
            IType fromType,
            IncrementalResult result,
            string custom)
        {
            var writer = llvmWriter.Output;

            llvmWriter.WriteSetResultNumber(opCode, null);
            writer.Write("bitcast ");
            fromType.WriteTypePrefix(llvmWriter, true);
            writer.Write(' ');
            llvmWriter.WriteResult(result);
            writer.Write(" to ");
            writer.Write(custom);

            writer.WriteLine(string.Empty);
        }
Esempio n. 3
0
 /// <summary>
 /// </summary>
 /// <param name="llvmWriter">
 /// </param>
 /// <param name="opCode">
 /// </param>
 /// <param name="typeToLoad">
 /// </param>
 /// <param name="source">
 /// </param>
 /// <param name="appendReference">
 /// </param>
 /// <param name="structAsRef">
 /// </param>
 public static void WriteLlvmLoad(
     this LlvmWriter llvmWriter,
     OpCodePart opCode,
     IType typeToLoad,
     IncrementalResult source,
     bool appendReference = true,
     bool structAsRef = false)
 {
     llvmWriter.WriteLlvmLoad(
         opCode,
         typeToLoad,
         new FullyDefinedReference(source.ToString(), source.Type),
         appendReference,
         structAsRef);
 }
Esempio n. 4
0
        /// <summary>
        /// </summary>
        /// <param name="llvmWriter">
        /// </param>
        /// <param name="opCode">
        /// </param>
        /// <param name="fromType">
        /// </param>
        /// <param name="result">
        /// </param>
        /// <param name="custom">
        /// </param>
        public static void WriteBitcast(
            this LlvmWriter llvmWriter,
            OpCodePart opCode,
            IType fromType,
            IncrementalResult result,
            string custom)
        {
            var writer = llvmWriter.Output;

            llvmWriter.WriteSetResultNumber(opCode, null);
            writer.Write("bitcast ");
            fromType.WriteTypePrefix(llvmWriter, true);
            writer.Write(' ');
            llvmWriter.WriteResult(result);
            writer.Write(" to ");
            writer.Write(custom);

            writer.WriteLine(string.Empty);
        }