This is an archive of the discontinued LLVM Phabricator instance.

x32. Fixes a bug in x32 exception handling.
ClosedPublic

Authored by jpp on Aug 18 2015, 12:57 PM.

Details

Summary

This patch updates the X86 lowering so that the Exception Pointer and Selector are 64-bit wide only if Subtarget.isTarget64BitLP64.

Diff Detail

Repository
rL LLVM

Event Timeline

jpp updated this revision to Diff 32439.Aug 18 2015, 12:57 PM
jpp retitled this revision from to x32. Fixes a bug in x32 exception handling..
jpp updated this object.
jpp added a subscriber: llvm-commits.
jpp added subscribers: dschuff, jfb.
dschuff added a subscriber: rnk.Aug 18 2015, 4:27 PM

The change LGTM, but I'm not 100% sure this is the best way to write a test for EH codegen. I'll bet @rnk knows?

rnk accepted this revision.Aug 18 2015, 4:44 PM
rnk added a reviewer: rnk.

lgtm

test/CodeGen/X86/x32-landingpad.ll
18 ↗(On Diff #32439)

s/Excception/Exception/

19 ↗(On Diff #32439)

You probably want to tighten up the CHECK with something like this:

; CHECK: LBB{{.*}} : # %lpad
; CHECK-DAG: movl %eax, {{.*}}
; CHECK-DAG: movl %edx, {{.*}}
; CHECK: callq bar
This revision is now accepted and ready to land.Aug 18 2015, 4:44 PM
jpp updated this revision to Diff 32557.Aug 19 2015, 8:52 AM
jpp edited edge metadata.
jpp marked an inline comment as done.
This revision was automatically updated to reflect the committed changes.