This is an archive of the discontinued LLVM Phabricator instance.

[VE] add, sub, left/right shift isel patterns
ClosedPublic

Authored by simoll on Jan 22 2020, 8:48 AM.

Details

Summary

Add, sub, left/right shift isel patterns and tests for i32/i64 and fp32/fp64.

Diff Detail

Event Timeline

simoll created this revision.Jan 22 2020, 8:48 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 22 2020, 8:48 AM
arsenm added inline comments.Jan 22 2020, 8:52 AM
llvm/lib/Target/VE/VEInstrInfo.td
258

Shouldn't define a different class unless the operand structure is actually different. You can just use a null_frag default parameter to the pattern for example

Unit tests: pass. 62108 tests passed, 0 failed and 812 were skipped.

clang-tidy: unknown.

clang-format: pass.

Build artifacts: diff.json, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

simoll planned changes to this revision.Jan 22 2020, 9:31 AM
simoll marked an inline comment as done.

I'll split off the null_frag changes to the upstream code in a seperate patch before picking this one up again.

llvm/lib/Target/VE/VEInstrInfo.td
258

null_frag works like a charm. I'll rewrite this patch without redundant matcher classes.

simoll updated this revision to Diff 239827.Jan 23 2020, 2:42 AM

Unit tests: pass. 62130 tests passed, 0 failed and 812 were skipped.

clang-tidy: fail. clang-tidy found 0 errors and 1 warnings.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

simoll updated this revision to Diff 239867.Jan 23 2020, 5:32 AM
  • OpNode=null_frag to last position
  • rebased
arsenm added inline comments.Jan 23 2020, 6:05 AM
llvm/lib/Target/VE/VEInstrInfo.td
258

Leftover comment

Unit tests: pass. 62133 tests passed, 0 failed and 812 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.

simoll updated this revision to Diff 239881.Jan 23 2020, 6:36 AM
  • rebased
  • updated for null_frag
simoll updated this revision to Diff 239883.Jan 23 2020, 6:40 AM

stripped leftover comment

simoll marked 2 inline comments as done.Jan 23 2020, 6:40 AM

Unit tests: pass. 62137 tests passed, 0 failed and 812 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.

arsenm accepted this revision.Jan 23 2020, 6:53 AM
This revision is now accepted and ready to land.Jan 23 2020, 6:53 AM

Unit tests: pass. 62137 tests passed, 0 failed and 812 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.

simoll updated this revision to Diff 239889.Jan 23 2020, 6:59 AM
  • Rebased
  • Removed ADS for`add` isel pattern (which also wasn't triggered by any tests)

Thanks!

This revision was automatically updated to reflect the committed changes.

Unit tests: pass. 62134 tests passed, 0 failed and 812 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.