diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-01-15 04:24:17 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-01-15 04:24:17 +0000 |
commit | 2e49bf2ceb3472f73ec828a3fdd55ba3d25eea1b (patch) | |
tree | 47fbd926dbd148ce5b3e346f33122da040a61161 /llvm/lib/CodeGen/LatencyPriorityQueue.cpp | |
parent | bc39dff6e5a39958b9d363ad9afea2cc86a82c88 (diff) | |
download | bcm5719-llvm-2e49bf2ceb3472f73ec828a3fdd55ba3d25eea1b.tar.gz bcm5719-llvm-2e49bf2ceb3472f73ec828a3fdd55ba3d25eea1b.zip |
Add utils/ABITest, my ABI test generation tool.
- Mostly written as an entertaining exercise in enumerating large or
(countably, naturally) infinite sets. But hey, its useful too!
- Idea is to number all C-types so that the N-th type can quickly be
computed, with a good deal of flexibility about what types to
include, and taking some care so that the (N+1)-th type is
interestingly different from the N-th type. For example, using the
default generator, the 1,000,000-th function type is:
--
typedef _Complex int T0;
typedef char T1 __attribute__ ((vector_size (4)));
typedef int T2 __attribute__ ((vector_size (4)));
T2 fn1000000(T0 arg0, signed long long arg1, T1 arg2, T0 arg3);
--
and the 1,000,001-th type is:
--
typedef _Complex char T0;
typedef _Complex char T2;
typedef struct T1 { T2 field0; T2 field1; T2 field2; } T1;
typedef struct T3 { } T3;
unsigned short fn1000001(T0 arg0, T1 arg1, T3 arg2);
--
Computing the 10^1600-th type takes a little less than 1s. :)
llvm-svn: 62253
Diffstat (limited to 'llvm/lib/CodeGen/LatencyPriorityQueue.cpp')
0 files changed, 0 insertions, 0 deletions