Office Hours Agenda Items
Feel free to drop in any agenda items for the monthly office hours.
July:
- RFP008
- 2H2024 projects – especially LLVM
- GCC Coordination Branch Discussion
- Keeping RISC-V backend in sync with trunk
- Limited cherry-picking of generic code (when it's known to help RISC-V in meaningful ways)
- Question we'll be discussing in patchwork meeting – late-combine changes, to include or not
June:
- Unaligned vector loads/stores status
- Constant Synthesis revamp. Largely done for GCC. Need to see if there's any significant cases for LLVM after Craig's recent fixes
- Shrink Wrapping for LLVM
- Misha is diving into the EH issues and xz performance regression
- Stack clash, later than expected, but still moving forward
- LLVM – Major development appears to be done. Porting testcases from other archs to rv64 did expose one problem that Raphael is diving into now
- GCC – Going through internal review now
- RFP008 – Will go through review this week
- Flang – need a project page for LLVM. Do we want to propose this as a contractor project?
May:
- Jeff Law: Introduction
- Jeff Law: Constant Synthesis (both compilers)
- Jeff to get Craig examples of commonly missed cases (bseti, only consistently weak idiom for LLVM)
- GCC needs much more work (bseti, shNadd, "uw" forms, duplicated high/low)
- Both compilers probably need better support for pack)
- Concerns about overall structure of code, but may be inherent in the problem
- Jeff Law: Shrink Wrapping (LLVM)
- Just looking for high level sanity check right now
- Doesn't work with EH, but that's got to be an implementation detail, get the CFI notes right and it should work
- Interactions with push/pop?
- How many new code paths are showing up? Is the code getting harder to reason about?
- Jeff Law: Stack clash status (both compilers)
- External review probably 1-2 weeks out
- Testing with scanner to find vulnerable binaries, then test after rebuilding with new compiler
- RFP008
- New language. Jeff to review & comment
- Launch LLVM equivalent RFP (ADLR?)
- ADLR & Jeff to circle back with Baylibre folks WRT LTO (they think it doesn't work)
- IFUNCS. How to handle case where kernel claims V, but it's actually V0.7?
- We can't control where the kernel for these SBCs come from
- We should expect those kernels to occasionally mis-represent the hardware
- Make glibc, gcc & llvm ifunc resolvers be reasonably defensive for these cases
- Avoid crashing user code in these scenarios, bad user experience
- Fallback to sensible default when the syscall isn't available
- Frame pointers vs Zcmp – ABI implications and desire to unwind without CFI tables
- Known issue at the RVI level
- Distros (Fedora, Canonical, etc) likely aren't going to care. ABI for them is set, and they're likely rv64 only
- Would like to see ABI or extension fixed, but if that's not possible, they may do a vector extension.
- Flang
- new vs old flang
- General need to fix flang to be cross-buildable – contractor proposall
- LLVM Testing proposal
- Desire to add another configuration, who is the coordination point for this contract?
- Expectation is cost delta should be small (initial bring-up and ongoing resources)