brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 04fef2c Raw
97 lines · plain
1// RUN: llvm-tblgen %s | FileCheck %s2// XFAIL: vg_leak3 4// "zing = 4" x 285// CHECK: zing = 46// CHECK: zing = 47// CHECK: zing = 48// CHECK: zing = 49// CHECK: zing = 410// CHECK: zing = 411// CHECK: zing = 412// CHECK: zing = 413// CHECK: zing = 414// CHECK: zing = 415// CHECK: zing = 416// CHECK: zing = 417// CHECK: zing = 418// CHECK: zing = 419// CHECK: zing = 420// CHECK: zing = 421// CHECK: zing = 422// CHECK: zing = 423// CHECK: zing = 424// CHECK: zing = 425// CHECK: zing = 426// CHECK: zing = 427// CHECK: zing = 428// CHECK: zing = 429// CHECK: zing = 430// CHECK: zing = 431// CHECK: zing = 432// CHECK: zing = 433// CHECK-NOT: zing = 434 35class C1<int A, string B> { 36  int bar = A;37  string thestr = B;38  int zing;39}40 41def T : C1<4, "blah">;42 43multiclass t1<int a1> {44  def S1 : C1<a1, "foo"> {45    int foo = 4;46    let bar = 1;47  }48  def S2 : C1<a1, "bar">;49}50 51multiclass t2<int a2> {52  def S3 : C1<a2, "foo"> {53    int foo = 4;54    let bar = 1;55  }56  def S4 : C1<a2, "bar">;57}58 59multiclass s1<int as1, int bs1> : t1<as1> {60  def S5 : C1<bs1, "moo"> {61    int moo = 3;62    let bar = 1;63  }64  def S6 : C1<bs1, "baz">;65}66 67multiclass s2<int as2> : t1<as2>, t2<as2>;68 69multiclass s3<int as3, int bs3> : t1<as3>, t2<as3> {70  def S7 : C1<bs3, "moo"> {71    int moo = 3;72    let bar = 1;73  }74  def S8 : C1<bs3, "baz">;75}76 77let zing = 4 in78defm FOO1 : s1<42, 24>;79 80let zing = 4 in81defm FOO2 : s2<99>;82 83let zing = 4 in84defm FOO3 : s3<84, 48>;85 86def T4 : C1<6, "foo">;87 88let zing = 4 in89  defm BAZ1 : s1<3, 4>;90 91let zing = 4 in92  defm BAZ2 : s2<5>;93 94let zing = 4 in95  defm BAZ3 : s3<6, 7>;96 97