[cfe-commits] PATCH: Large re-working of bitfield IR-gen, and a fix for PR13691

Eli Friedman eli.friedman at gmail.com
Wed Nov 28 16:49:35 PST 2012


On Wed, Nov 28, 2012 at 4:36 PM, Chandler Carruth <chandlerc at google.com> wrote:
> I don't have 176.gcc handy, but I looked at the binary sizes for every
> program in the LNT test suite. Here are the benchmarks which changed
> by at least 1%. First column is the benchmark, then the old size of
> the '.text' section, then the new size, and finally "(new - old) /
> old" to show the % change.
>
> MultiSource/Benchmarks/Fhourstones-3.1/Output/fhourstones3.1.simple,
> 4872, 4984, 0.022988505747126436

The actual numbers don't matter, but it's an interesting proxy for our
handling of the following struct from that benchmark:

typedef struct {
  unsigned biglock:LOCKSIZE;
  unsigned bigwork:6;
  unsigned newlock:LOCKSIZE;
  unsigned newscore:3;
  unsigned bigscore:3;
} hashentry;

The code-size increase probably indicates we're not doing a good job
of narrowing the large loads generated by the new bitfield code.

-Eli



More information about the cfe-commits mailing list