freenode/#clasp - IRC Chatlog
Search
17:17:41
drmeister
None - I just pushed a "fix" that moves that function back to link_intrinsics.cc. I have made some changes to the code to dump the discriminating function llvm Module JUST before it gets compiled to see what it looks like when the function is in fastgf.cc vs link_intrinsics.cc
17:18:29
kpoeck
I asume I can build again with your fix, will know like in 2 hours when I am back home
17:18:54
drmeister
Don't worry - I have a really good idea of where and when it's happening. They why is still a mystery that I hope to get to the bottom of in the next hour.
17:19:54
drmeister
What's disturbing about this is that from my perspective, what Bike did moving that function into fastgf.cc was perfectly fine. But llvm doesn't think so.
17:23:29
drmeister
If we baked the symbol information into the FunctionDescriptions - then disassemble would have what it needs to work beautifully.
17:29:16
drmeister
stackmaps are already mmap'd into memory on Linux and macOS - so we don't need to worry about those. We just need their offsets on linux.
17:31:37
drmeister
Ok - I have clasp dumping discriminating function modules just before they get compiled. I did it first with cc_dispatch_miss in link_intrinsics.cc
17:37:27
drmeister
fastgf.cc contains cc_dispatch_miss - but it's not declared always_inline - so it's not inlined. Everything works!
17:39:28
drmeister
The discriminating function I pasted was the largest one that is generated while building bclasp.
17:53:11
drmeister
No - it's not unexpected. But we should look at the llvm-ir and see if it's worth moving into fastgf.cc
17:56:43
drmeister
I wish there were a way to install a debug version of llvm with brew - I can't find anything.