| // RUN: not llvm-tblgen --gen-subtarget -I %p/../../include -I %p/Common %s -o - 2>&1 | FileCheck %s |
| |
| include "llvm/Target/Target.td" |
| |
| def FakeTarget : Target { } |
| |
| def FakeModel : SchedMachineModel { } |
| |
| def WriteA : SchedWrite; |
| def WriteB : SchedWrite; |
| |
| let SchedModel = NoSchedModel in { |
| def : InstRW<[WriteA], (instrs COPY)>; |
| |
| def : InstRW<[WriteB], (instrs COPY)>; |
| // CHECK: [[@LINE-1]]:3: error: Overlapping InstRW definition for "COPY" also matches previous "(instrs COPY)". |
| // CHECK-NEXT: def : InstRW<[WriteB], (instrs COPY)>; |
| |
| // CHECK: [[@LINE-6]]:3: note: Previous match was here. |
| // CHECK-NEXT: def : InstRW<[WriteA], (instrs COPY)>; |
| } |