summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
diff options
context:
space:
mode:
authorSimon Dardis <simon.dardis@imgtec.com>2017-06-14 14:46:30 +0000
committerSimon Dardis <simon.dardis@imgtec.com>2017-06-14 14:46:30 +0000
commit9790e39f4526f76f251a432bcc0e9bec8397aea9 (patch)
tree3304969af4552ccada5e8694f7c4cc8c239af75c /llvm/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
parentd268e2a52dc416ff8fcaae6a3cfe92f87b325a02 (diff)
downloadbcm5719-llvm-9790e39f4526f76f251a432bcc0e9bec8397aea9.tar.gz
bcm5719-llvm-9790e39f4526f76f251a432bcc0e9bec8397aea9.zip
[mips] Fix multiprecision arithmetic.
For multiprecision arithmetic on MIPS, rather than using ISD::ADDE / ISD::ADDC, get SelectionDAG to break down the operation into ISD::ADDs and ISD::SETCCs. For MIPS, only the DSP ASE has a carry flag, so in the general case it is not useful to directly support ISD::{ADDE, ADDC, SUBE, SUBC} nodes. Also improve the generation code in such cases for targets with TargetLoweringBase::ZeroOrOneBooleanContent by directly using the result of the comparison node rather than using it in selects. Similarly for ISD::SUBE / ISD::SUBC. Address optimization breakage by moving the generation of MIPS specific integer multiply-accumulate nodes to before legalization. This revolves PR32713 and PR33424. Thanks to Simonas Kazlauskas and Pirama Arumuga Nainar for reporting the issue! Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D33494 llvm-svn: 305389
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud