Fix the isTruncateFree logic to match my comment, as the previous logic was way too general. Now the only truncates that are free are i64 -> i32. The original patch was in D37516.
Details
Details
Diff Detail
Diff Detail
Event Timeline
| lib/Target/ARM/ARMISelLowering.cpp | ||
|---|---|---|
| 12336 | maybe factor it out as a separate function to avoid code duplication? bool ARMTargetLowering::isTruncate64To32(unsigned SrcBits, unsigned DstBits) { return SrcBits == 64 & DstBits == 32); } | |
| lib/Target/ARM/ARMISelLowering.cpp | ||
|---|---|---|
| 12336 | I don't see the value in that here since its a very specific expression. As far as I can see, all the other backends have a similar approach to this as well. | |
| lib/Target/ARM/ARMISelLowering.cpp | ||
|---|---|---|
| 12336 | I agree with Sam I don't see the big value of ARMTargetLowering::isTruncate64To32. | |
Comment Actions
Looks good to me (sorry I missed this in the other/previous review; I looked at it and thought it was alright...)
maybe factor it out as a separate function to avoid code duplication?
bool ARMTargetLowering::isTruncate64To32(unsigned SrcBits, unsigned DstBits) {
}