summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/TableGenBackends.h
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2018-06-23 02:02:38 +0000
committerReid Kleckner <rnk@google.com>2018-06-23 02:02:38 +0000
commitf5890e4e4317c1bb9a25f29a44ab009604f09e4b (patch)
treed565302ce953c36187b0ad7bb71e115f671e97c9 /llvm/utils/TableGen/TableGenBackends.h
parent5c25346912689400f5a786790bde6138b2d96d07 (diff)
downloadbcm5719-llvm-f5890e4e4317c1bb9a25f29a44ab009604f09e4b.tar.gz
bcm5719-llvm-f5890e4e4317c1bb9a25f29a44ab009604f09e4b.zip
[IR] Split Intrinsics.inc into enums and implementations
Implements PR34259 Intrinsics.h is a very popular header. Most LLVM TUs care about things like dbg_value, but they don't care how they are implemented. After I split these out, IntrinsicImpl.inc is 1.7 MB, so this saves each LLVM TU from scanning 1.7 MB of source that gets pre-processed away. It also means we can modify intrinsic properties without triggering a full rebuild, but that's probably less of a win. I think the next best thing to do would be to split out the target intrinsics into their own header. Very, very few TUs care about target-specific intrinsics. It's very hard to split up the target independent intrinsics like llvm.expect, assume, and dbg.value, though. llvm-svn: 335407
Diffstat (limited to 'llvm/utils/TableGen/TableGenBackends.h')
-rw-r--r--llvm/utils/TableGen/TableGenBackends.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/TableGenBackends.h b/llvm/utils/TableGen/TableGenBackends.h
index 09f74aa017f..1329a6d833f 100644
--- a/llvm/utils/TableGen/TableGenBackends.h
+++ b/llvm/utils/TableGen/TableGenBackends.h
@@ -62,7 +62,10 @@ namespace llvm {
class raw_ostream;
class RecordKeeper;
-void EmitIntrinsics(RecordKeeper &RK, raw_ostream &OS, bool TargetOnly = false);
+void EmitIntrinsicEnums(RecordKeeper &RK, raw_ostream &OS,
+ bool TargetOnly = false);
+void EmitIntrinsicImpl(RecordKeeper &RK, raw_ostream &OS,
+ bool TargetOnly = false);
void EmitAsmMatcher(RecordKeeper &RK, raw_ostream &OS);
void EmitAsmWriter(RecordKeeper &RK, raw_ostream &OS);
void EmitCallingConv(RecordKeeper &RK, raw_ostream &OS);
OpenPOWER on IntegriCloud