diff options
| author | Reid Kleckner <rnk@google.com> | 2018-06-23 02:02:38 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2018-06-23 02:02:38 +0000 |
| commit | f5890e4e4317c1bb9a25f29a44ab009604f09e4b (patch) | |
| tree | d565302ce953c36187b0ad7bb71e115f671e97c9 /llvm/utils/TableGen/TableGenBackends.h | |
| parent | 5c25346912689400f5a786790bde6138b2d96d07 (diff) | |
| download | bcm5719-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.h | 5 |
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); |

