示例#1
0
文件: Debug.cs 项目: saimarpaka/ILGPU
 /// <summary>
 /// Creates a new failed debug assertion.
 /// </summary>
 /// <param name="location">The current location.</param>
 /// <param name="kind">The operation kind.</param>
 /// <param name="message">The assertion message.</param>
 /// <returns>A node that represents the debug assertion.</returns>
 public ValueReference CreateDebug(
     Location location,
     DebugKind kind,
     Value message) =>
 Append(new DebugOperation(
            GetInitializer(location),
            kind,
            message));
示例#2
0
文件: Debug.cs 项目: linhdh/ILGPU
        /// <summary>
        /// Creates a new failed debug assertion.
        /// </summary>
        /// <param name="kind">The operation kind.</param>
        /// <param name="message">The assertion message.</param>
        /// <returns>A node that represents the debug assertion.</returns>
        public ValueReference CreateDebug(
            DebugKind kind,
            Value message)
        {
            Debug.Assert(message != null, "Invalid message value");

            return(Append(new DebugOperation(
                              Context,
                              BasicBlock,
                              kind,
                              message)));
        }
示例#3
0
 /// <summary>
 /// Constructs a new debug operation.
 /// </summary>
 /// <param name="context">The parent IR context.</param>
 /// <param name="basicBlock">The parent basic block.</param>
 /// <param name="kind">The operation kind.</param>
 /// <param name="message">The debug message.</param>
 internal DebugOperation(
     IRContext context,
     BasicBlock basicBlock,
     DebugKind kind,
     ValueReference message)
     : base(
         ValueKind.Debug,
         basicBlock,
         ImmutableArray.Create(message),
         ComputeType(context))
 {
 }