[all-commits] [llvm/llvm-project] af06f7: [AIX][XCOFF][Bug-Fixed] parse the parameter type o...
diggerlin via All-commits
all-commits at lists.llvm.org
Thu Jul 15 13:54:50 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: af06f7bcf35f146fd70e4424bbec62dadc4dba70
https://github.com/llvm/llvm-project/commit/af06f7bcf35f146fd70e4424bbec62dadc4dba70
Author: zhijian <zhijian at ca.ibm.com>
Date: 2021-07-15 (Thu, 15 Jul 2021)
Changed paths:
M llvm/lib/BinaryFormat/XCOFF.cpp
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable.ll
Log Message:
-----------
[AIX][XCOFF][Bug-Fixed] parse the parameter type of the traceback table
Summary:
in the function PPCFunctionInfo::getParmsType(), there is if (Bits > 31 || (Bits > 30 && (Elt != FixedType || hasVectorParms())))
when the Bit is 31 and the Elt is not FixedType(for example the Elt is FloatingType) , the 31th bit will be not encoded, it leave the bit as zero, when the function Expected<SmallString<32>> XCOFF::parseParmsType() the original implement
**// unsigned ParmsNum = FixedParmsNum + FloatingParmsNum;
while (Bits < 32 && ParsedNum < ParmsNum) {
...
}//**
it will look the 31 bits (zero) as FixedType. which should be FloatingType, and get a error.
Reviewers: Jason Liu,ZarkoCA
Differential Revision: https://reviews.llvm.org/D105023
More information about the All-commits
mailing list