travisdowns/uarch-bench

register-stalls.cpp function too giant

Closed this issue · 1 comments

Due to a large amount of repetition and inlining, resgister-stalls.cpp is very slow to compile and incomplete debug info is generated:

resource-stalls.cpp: In function ‘void register_rstalls(GroupList&) [with TIMER = LibpfcTimer]’:

resource-stalls.cpp:43:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without

 void register_rstalls(GroupList& list) {

      ^~~~~~~~~~~~~~~~

resource-stalls.cpp: In function ‘void register_rstalls(GroupList&) [with TIMER = PerfTimer]’:

resource-stalls.cpp:43:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without

One solution would to reduce inlining manually, e.g, by shelling out to a function per test annotate with noinline, another would be to implement a dispatching test adapter so all tests are generated with a single specialization.

I guess I fixed this as I don't see this error anymore.