In general, CSR and IOCSR reads should be treated as volatile because:
- there may well be intervening writes between seemingly common expressions;
- the stateful entity behind a given (IO)CSR may well be volatile.
Confirmed to fix broken Clang Linux/LoongArch builds (dying when a
userspace process tries to use FPU, panicking when that process happens
to be PID 1) with this patch.
Fixes: https://github.com/llvm/llvm-project/issues/63549
Fixes: 2efdacf74c54 ("[LoongArch] Add missing chains and remove unnecessary SDNPSideEffect property for some intrinsic nodes")