Office Hours Agenda Items


Feel free to drop in any agenda items for the monthly office hours.


July:

  1. RFP008
  2. 2H2024 projects – especially LLVM
  3. GCC Coordination Branch Discussion
    1. Keeping RISC-V backend in sync with trunk
    2. Limited cherry-picking of generic code (when it's known to help RISC-V in meaningful ways)
    3. Question we'll be discussing in patchwork meeting – late-combine changes, to include or not

June:

  1. Unaligned vector loads/stores status
  2. Constant Synthesis revamp.  Largely done for GCC.  Need to see if there's any significant cases for LLVM after Craig's recent fixes
  3. Shrink Wrapping for LLVM
    1. Misha is diving into the EH issues and xz performance regression
  4. Stack clash, later than expected, but still moving forward
    1. LLVM – Major development appears to be done.  Porting testcases from other archs to rv64 did expose one problem that Raphael is diving into now
    2. GCC – Going through internal review now
  5. RFP008 – Will go through review this week
  6. Flang – need a project page for LLVM.  Do we want to propose this as a contractor project?



May:


  1. Jeff Law: Introduction
  2. Jeff Law: Constant Synthesis (both compilers)
    1. Jeff to get Craig examples of commonly missed cases (bseti, only consistently weak idiom for LLVM)
    2. GCC needs much more work (bseti, shNadd, "uw" forms, duplicated high/low)
    3. Both compilers probably need better support for pack)
    4. Concerns about overall structure of code, but may be inherent in the problem
  3. Jeff Law: Shrink Wrapping (LLVM)
    1. Just looking for high level sanity check right now
    2. Doesn't work with EH, but that's got to be an implementation detail, get the CFI notes right and it should work
    3. Interactions with push/pop?
    4. How many new code paths are showing up?  Is the code getting harder to reason about?
  4. Jeff Law: Stack clash status (both compilers)
    1. External review probably 1-2 weeks out
    2. Testing with scanner to find vulnerable binaries, then test after rebuilding with new compiler
  5. RFP008
    1. New language.  Jeff to review & comment
    2. Launch LLVM equivalent RFP (ADLR?)
  6. ADLR & Jeff to circle back with Baylibre folks WRT LTO (they think it doesn't work)
  7. IFUNCS.  How to handle case where kernel claims V, but it's actually V0.7?
    1. We can't control where the kernel for these SBCs come from
    2. We should expect those kernels to occasionally mis-represent the hardware
    3. Make glibc, gcc & llvm ifunc resolvers be reasonably defensive for these cases
    4. Avoid crashing user code in these scenarios, bad user experience
    5. Fallback to sensible default when the syscall isn't available
  8. Frame pointers vs Zcmp – ABI implications and desire to unwind without CFI tables
    1. Known issue at the RVI level
    2. Distros (Fedora, Canonical, etc) likely aren't going to care. ABI for them is set, and they're likely rv64 only
    3. Would like to see ABI or extension fixed, but if that's not possible, they may do a vector extension.
  9. Flang
    1. new vs old flang
    2. General need to fix flang to be cross-buildable – contractor proposall
  10. LLVM Testing proposal
    1. Desire to add another configuration, who is the coordination point for this contract?
    2. Expectation is cost delta should be small (initial bring-up and ongoing resources)