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 | af7c445dfa13a56ba82be0ddfcfc75bd86f96ab9 (patch) | |
tree | ebcd884faff9ea293dd62869e230e01e0da74a42 /test/TableGen | |
parent | dc14c20b63ebff426c8bf3f42984762e52e91597 (diff) | |
download | llvm-af7c445dfa13a56ba82be0ddfcfc75bd86f96ab9.tar.gz |
[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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/TableGen')
-rw-r--r-- | test/TableGen/intrinsic-long-name.td | 2 | ||||
-rw-r--r-- | test/TableGen/intrinsic-struct.td | 2 | ||||
-rw-r--r-- | test/TableGen/intrinsic-varargs.td | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/test/TableGen/intrinsic-long-name.td b/test/TableGen/intrinsic-long-name.td index 9bbfe9829a6..27a166a9bb9 100644 --- a/test/TableGen/intrinsic-long-name.td +++ b/test/TableGen/intrinsic-long-name.td @@ -1,4 +1,4 @@ -// RUN: llvm-tblgen -gen-intrinsic %s | FileCheck %s +// RUN: llvm-tblgen -gen-intrinsic-enums %s | FileCheck %s // XFAIL: vg_leak class IntrinsicProperty; diff --git a/test/TableGen/intrinsic-struct.td b/test/TableGen/intrinsic-struct.td index 1f1a8c2c822..81daf068494 100644 --- a/test/TableGen/intrinsic-struct.td +++ b/test/TableGen/intrinsic-struct.td @@ -1,4 +1,4 @@ -// RUN: llvm-tblgen -gen-intrinsic %s | FileCheck %s +// RUN: llvm-tblgen -gen-intrinsic-enums %s | FileCheck %s // XFAIL: vg_leak class IntrinsicProperty; diff --git a/test/TableGen/intrinsic-varargs.td b/test/TableGen/intrinsic-varargs.td index 48436477901..223236d2003 100644 --- a/test/TableGen/intrinsic-varargs.td +++ b/test/TableGen/intrinsic-varargs.td @@ -1,4 +1,4 @@ -// RUN: llvm-tblgen -gen-intrinsic %s | FileCheck %s +// RUN: llvm-tblgen -gen-intrinsic-impl %s | FileCheck %s // XFAIL: vg_leak class IntrinsicProperty; |