This fixes issue of arguments clobbering when using indirect
calls.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
I have a patch to enable this by default and I do not want to spread uses of this flag around
This would unblock a patch that has been waiting for us since May (D102107). Once your patches land and make the flag unnecessary we can take it back out. I asked for this because I need to get trunk to a less broken state asap to have a chance of working on other things and the currently broken ABI implementation makes a mess of that.
Fixed abi was set to true in D96340. At that point, indirect calls probably worked.
This was replaced with some dubious fine grain attribute handling in D99347, at which point indirect calls are probably broken. I think there was some more churn on function attributes around that time and expect ROCm and trunk have diverged somewhat at that point.
I therefore think they've been broken in edge cases since April.
Run a bunch of tests locally. This patch or something equivalent is a precondition on using the new device runtime on amdgpu, which we are very much out of time on (see D114890 which will break us as soon as it lands without this)