diff options
author | yingopq <115543042+yingopq@users.noreply.github.com> | 2025-04-16 10:56:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-16 10:56:06 +0800 |
commit | e676866368a84c88aad90e138268e00a1c56a230 (patch) | |
tree | da774e81e18e84b783c9d634d706de214834d015 /clang/lib/AST/ByteCode/Program.cpp | |
parent | bed03ae36600f83f214c41af333f47fe8ead9ede (diff) | |
download | llvm-e676866368a84c88aad90e138268e00a1c56a230.zip llvm-e676866368a84c88aad90e138268e00a1c56a230.tar.gz llvm-e676866368a84c88aad90e138268e00a1c56a230.tar.bz2 |
[Mips] Fix clang crashes when compiling a variadic function while targeting mips3 (#130558)
issue reason:
Because mips3 has the feature 'FeatureGP64Bit', when target mips3
process function `writeVarArgRegs`, the result of `getGPRSizeInBytes` is
8 and the result of `GetVarArgRegs` is `Mips::A0, Mips::A1, Mips::A2,
Mips::A3`. This would generate `gpr64 = COPY $a1` which should be `gpr64
= COPY $a1_64`.
Also when process `CC_Mips_FixedArg`, mips would CCDelegateTo
`CC_MipsO32_FP`. In fact, it should CCDelegateTo `CC_MipsN`.
Fix #98716.
Diffstat (limited to 'clang/lib/AST/ByteCode/Program.cpp')
0 files changed, 0 insertions, 0 deletions