-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PowerPC] Add test after #75271 on PPC. NFC. #75616
Conversation
@@ -0,0 +1,9039 @@ | |||
# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -verify-coalescing -run-pass=register-coalescer \ | |||
# RUN: -o - %s | FileCheck %s | |||
--- | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test case is much too big. Can you try running it through llvm-reduce MIR handling? That will likely remove most of the cruft. Then you can delete the IR and registers sections, and run through -run-pass=none to do some additional cleanups
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried llvm-reduce
, still 5000+ lines of mir. I'll try to simplify LLVM IR manually(like reducing the dimension of the vector)...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @arsenm , most of the 5000+ lines are virtregs, I've removed them.
--- | ||
name: _Z13testTransposeIfLj31ELj17EEvv | ||
alignment: 16 | ||
exposesReturnsTwice: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can drop most of these fields (running with -simplify-mir -run-pass=none will also do that)
successors: %bb.2(0x80000000) | ||
liveins: $x2 | ||
|
||
%5081:vssrc = IMPLICIT_DEF |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-run-pass=none will compact these numbers
debugInstrRef: false | ||
failsVerification: false | ||
tracksDebugUserValues: false | ||
registers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can drop the section too, the uses have the inline class specifiers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
- { id: 0, size: 128, alignment: 128, local-offset: -128 } | ||
- { id: 1, size: 4096, alignment: 16, local-offset: -4224 } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit (feel free to ignore): there don't seem to be any stack accesses here. Do we need these?
Demonstrate `IMPLICIT_DEF implicit-def ...` can be generated after coalescing on PPC.
Demonstrate
IMPLICIT_DEF implicit-def ...
can be generated after coalescing on PPC.The case is reduced from failure in #75570. The failure is triggered after #75271 .