[PATCH] D44687: [SchedModel] Remove instregex entries that don't match any instructions (WIP)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 20 09:15:52 PDT 2018


RKSimon created this revision.
RKSimon added reviewers: javed.absar, t.p.northover, joel_k_jones, MatzeB, GGanesh, craig.topper, courbet, andreadb, spatel.
Herald added a subscriber: kristof.beyls.

This patch throws a fatal error if an instregex entry doesn't actually match any instructions. This is part of the work to reduce the compile time impact of increased instregex usage (PR35955), although the x86 models seem to be relatively clean.

I've included hacks for all the cases I encountered, I don't know if I've fixed them correctly though (e.g. AArch64SchedThunderX2T99 has a lot of duplicate patterns for its ALU instructions).

I've also included a disabled error for cases where the instregex only matches one instruction - which IMO should probably be replaced with a instrs entry - this might be worth just a warning or we remove it from the patch completely (but it'd definitely improve compile time).


Repository:
  rL LLVM

https://reviews.llvm.org/D44687

Files:
  lib/Target/AArch64/AArch64SchedA53.td
  lib/Target/AArch64/AArch64SchedThunderX2T99.td
  lib/Target/ARM/ARMScheduleA9.td
  lib/Target/ARM/ARMScheduleR52.td
  lib/Target/ARM/ARMScheduleSwift.td
  lib/Target/X86/X86ScheduleZnver1.td
  utils/TableGen/CodeGenSchedule.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44687.139141.patch
Type: text/x-patch
Size: 25859 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180320/1cf11f41/attachment.bin>


More information about the llvm-commits mailing list