Details
- Reviewers
dsanders - Commits
- rG2a764cb0b8e2: Merging r227087: Except for the MIPS-II and MIPS-III cases since these targets…
rG57b337f2485d: Merging r227087: --------------------------------------------------------------…
rG2ed214f387a1: [mips] Add tests for bitwise binary and integer arithmetic operators.
rL231857: Merging r227087:
rL227087: [mips] Add tests for bitwise binary and integer arithmetic operators.
Diff Detail
- Repository
- rL LLVM
Event Timeline
Thanks for doing this. It seems that we have a lot of optimization deficiencies on basic operations that we need to sort out. In particular, we emit a lot of unnecessary sign/zero extends. I pointed out a few but stopped after I realized how often it occurred.
LGTM with the nits below fixed. If you can also annotate the redundant instructions with FIXME's that would be appreciated but there's a lot so I'm not going to make that a requirement.
test/CodeGen/Mips/llvm-ir/ashr.ll | ||
---|---|---|
31 ↗ | (On Diff #18609) | all-label should be ALL-LABEL. Likewise below |
43 ↗ | (On Diff #18609) | The andi's are redundant in this file. Please add a FIXME about this |
120 ↗ | (On Diff #18609) | This should be redundant too. Please add a FIXME |
test/CodeGen/Mips/llvm-ir/lshr.ll | ||
43–52 ↗ | (On Diff #18609) | It would be good to eliminate the excess instructions by changing the signext's to zeroext. Likewise below |
test/CodeGen/Mips/llvm-ir/or.ll | ||
57 ↗ | (On Diff #18609) | This is redundant. |
test/CodeGen/Mips/llvm-ir/sdiv.ll | ||
27–28 ↗ | (On Diff #18609) | These should be redundant since div is signed. |
test/CodeGen/Mips/llvm-ir/udiv.ll | ||
20 ↗ | (On Diff #18609) | It would be good to eliminate the sign extends by switching to zeroext. |