In PPCBoolRetToInt bool value is changed to i32 type. On ppc64 it may introduce an extra zero extension for the return value. This patch changes the integer type to i64 to avoid the zero extension on ppc64.
This patch fixed PR32442.
Paths
| Differential D31407
[PPC] In PPCBoolRetToInt change the bool value to i64 if the target is ppc64 ClosedPublic Authored by Carrot on Mar 27 2017, 3:56 PM.
Details
Summary In PPCBoolRetToInt bool value is changed to i32 type. On ppc64 it may introduce an extra zero extension for the return value. This patch changes the integer type to i64 to avoid the zero extension on ppc64. This patch fixed PR32442.
Diff Detail Event TimelineThis revision is now accepted and ready to land.Mar 27 2017, 4:06 PM
Carrot marked an inline comment as done.
Carrot marked an inline comment as done. Closed by commit rL298955: [PPC] In PPCBoolRetToInt change the bool value to i64 if the target is ppc64 (authored by Carrot). · Explain WhyMar 28 2017, 4:07 PM This revision was automatically updated to reflect the committed changes. Comment Actions The first commit triggered bug pr32608, and was reverted by r299153. Now the bug has been fixed by r304001, so I will try to commit it again. Unfortunately INITIALIZE_TM_PASS has been removed and TargetMachine access mechanism is changed, so I modified the patch to use new mechanism. Please take another look. Comment Actions One inline nit then LGTM. -eric
Carrot marked an inline comment as done.
Revision Contents
Diff 101838 lib/Target/PowerPC/PPCBoolRetToInt.cpp
test/CodeGen/PowerPC/BoolRetToIntTest-2.ll
test/CodeGen/PowerPC/BoolRetToIntTest.ll
|
Update?