@@ -117,6 +117,10 @@ Initial = 2,
117
117
// / For those times when you want a little extra, this operation adds two
118
118
// / numbers and puts a constant on top.
119
119
// /
120
+ // / Arguments
121
+ // / ::llvm::Value * lhs
122
+ // / ::llvm::Value * rhs
123
+ // / uint32_t extra
120
124
121
125
class Add32Op : public ::llvm ::CallInst {
122
126
static const ::llvm ::StringLiteral s_name; // {"xd.ir.add32"};
@@ -154,6 +158,9 @@ Extra = 2,
154
158
// /
155
159
// / Longer description of... well, you know by now how this goes.
156
160
// /
161
+ // / Arguments
162
+ // / ::llvm::Value * lhs
163
+ // / ::llvm::Value * rhs
157
164
158
165
class CombineOp : public ::llvm ::CallInst {
159
166
static const ::llvm ::StringLiteral s_name; // {"xd.ir.combine"};
@@ -188,6 +195,9 @@ Rhs = 1,
188
195
// /
189
196
// / Return the element of `vector` with the given `index`.
190
197
// /
198
+ // / Arguments
199
+ // / ::llvm::Value * vector
200
+ // / ::llvm::Value * index
191
201
192
202
class ExtractElementOp : public ::llvm ::CallInst {
193
203
static const ::llvm ::StringLiteral s_name; // {"xd.ir.extractelement"};
@@ -222,6 +232,8 @@ Index = 1,
222
232
// /
223
233
// / Demonstrate a more complex unification case.
224
234
// /
235
+ // / Arguments
236
+ // / ::llvm::Value * source
225
237
226
238
class FromFixedVectorOp : public ::llvm ::CallInst {
227
239
static const ::llvm ::StringLiteral s_name; // {"xd.ir.fromfixedvector"};
@@ -281,6 +293,8 @@ bool verifier(::llvm::raw_ostream &errs);
281
293
// / Demonstrates the use of the same unevaluatable `le` predicate in a valued
282
294
// / position.
283
295
// /
296
+ // / Arguments
297
+ // / ::llvm::Value * source
284
298
285
299
class IExtOp : public ::llvm ::CallInst {
286
300
static const ::llvm ::StringLiteral s_name; // {"xd.ir.iext"};
@@ -312,6 +326,8 @@ Source = 0,
312
326
// /
313
327
// / Demonstrates the use of a predicate in an unvalued position.
314
328
// /
329
+ // / Arguments
330
+ // / ::llvm::Value * source
315
331
316
332
class ITruncOp : public ::llvm ::CallInst {
317
333
static const ::llvm ::StringLiteral s_name; // {"xd.ir.itrunc"};
@@ -343,6 +359,8 @@ Source = 0,
343
359
// /
344
360
// / Make an argument immutable
345
361
// /
362
+ // / Arguments
363
+ // / bool val
346
364
347
365
class ImmutableOp : public ::llvm ::CallInst {
348
366
static const ::llvm ::StringLiteral s_name; // {"xd.ir.immutable.op"};
@@ -372,6 +390,10 @@ Val = 0,
372
390
// / Insert the given `value` into the given `vector` at the given `index` and
373
391
// / returns the result.
374
392
// /
393
+ // / Arguments
394
+ // / ::llvm::Value * vector
395
+ // / ::llvm::Value * value
396
+ // / ::llvm::Value * index
375
397
376
398
class InsertElementOp : public ::llvm ::CallInst {
377
399
static const ::llvm ::StringLiteral s_name; // {"xd.ir.insertelement"};
@@ -410,6 +432,9 @@ Index = 2,
410
432
// / Like InstNameConflictOp but this has a second parameter named like the
411
433
// / dialect compiler's first choice
412
434
// /
435
+ // / Arguments
436
+ // / ::llvm::Value * instName
437
+ // / ::llvm::Value * instName_0
413
438
414
439
class InstNameConflictDoubleOp : public ::llvm ::CallInst {
415
440
static const ::llvm ::StringLiteral s_name; // {"xd.ir.inst.name.conflict.double"};
@@ -446,6 +471,8 @@ InstName_0 = 1,
446
471
// / value like IRBuilder methods. This op produces a conflict so the parameter
447
472
// / will be renamed.
448
473
// /
474
+ // / Arguments
475
+ // / ::llvm::Value * instName
449
476
450
477
class InstNameConflictOp : public ::llvm ::CallInst {
451
478
static const ::llvm ::StringLiteral s_name; // {"xd.ir.inst.name.conflict"};
@@ -612,6 +639,8 @@ bool verifier(::llvm::raw_ostream &errs);
612
639
// /
613
640
// / Longer description of how this operation writes pieces of data.
614
641
// /
642
+ // / Arguments
643
+ // / ::llvm::Value * data
615
644
616
645
class SetWriteOp : public ::llvm ::CallInst {
617
646
static const ::llvm ::StringLiteral s_name; // {"xd.ir.set.write"};
@@ -642,6 +671,8 @@ Data = 0,
642
671
// /
643
672
// / Returns the store size of the given type in bytes.
644
673
// /
674
+ // / Arguments
675
+ // / ::llvm::Type * sizeof_type
645
676
646
677
class SizeOfOp : public ::llvm ::CallInst {
647
678
static const ::llvm ::StringLiteral s_name; // {"xd.ir.sizeof"};
@@ -673,6 +704,10 @@ SizeofType = 0,
673
704
// /
674
705
// / Illustrate the use of the OpClass feature.
675
706
// /
707
+ // / Arguments
708
+ // / ::llvm::Value * ptr
709
+ // / ::llvm::Value * count
710
+ // / ::llvm::Value * initial
676
711
677
712
class StreamAddOp : public StreamReduceOp {
678
713
static const ::llvm ::StringLiteral s_name; // {"xd.ir.stream.add"};
@@ -700,6 +735,10 @@ bool verifier(::llvm::raw_ostream &errs);
700
735
// /
701
736
// / Illustrate the use of the OpClass feature.
702
737
// /
738
+ // / Arguments
739
+ // / ::llvm::Value * ptr
740
+ // / ::llvm::Value * count
741
+ // / ::llvm::Value * initial
703
742
704
743
class StreamMaxOp : public StreamReduceOp {
705
744
static const ::llvm ::StringLiteral s_name; // {"xd.ir.stream.max"};
@@ -727,6 +766,10 @@ bool verifier(::llvm::raw_ostream &errs);
727
766
// /
728
767
// / Illustrate the use of the OpClass feature.
729
768
// /
769
+ // / Arguments
770
+ // / ::llvm::Value * ptr
771
+ // / ::llvm::Value * count
772
+ // / ::llvm::Value * initial
730
773
731
774
class StreamMinOp : public StreamReduceOp {
732
775
static const ::llvm ::StringLiteral s_name; // {"xd.ir.stream.min"};
@@ -754,6 +797,8 @@ bool verifier(::llvm::raw_ostream &errs);
754
797
// /
755
798
// / The argument should not have a setter method
756
799
// /
800
+ // / Arguments
801
+ // / ::llvm::StringRef val
757
802
758
803
class StringAttrOp : public ::llvm ::CallInst {
759
804
static const ::llvm ::StringLiteral s_name; // {"xd.ir.string.attr.op"};
@@ -782,6 +827,8 @@ Val = 0,
782
827
// /
783
828
// / Longer description of how this operation writes a piece of data.
784
829
// /
830
+ // / Arguments
831
+ // / ::llvm::Value * data
785
832
786
833
class WriteOp : public ::llvm ::CallInst {
787
834
static const ::llvm ::StringLiteral s_name; // {"xd.ir.write"};
@@ -812,6 +859,9 @@ Data = 0,
812
859
// /
813
860
// / Longer description of how this operation writes pieces of data.
814
861
// /
862
+ // / Arguments
863
+ // / ::llvm::Value * data
864
+ // / ::llvm::ArrayRef<::llvm::Value *> args
815
865
816
866
class WriteVarArgOp : public ::llvm ::CallInst {
817
867
static const ::llvm ::StringLiteral s_name; // {"xd.ir.write.vararg"};
0 commit comments