Page MenuHomePhabricator

phil-opp (Philipp Oppermann)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 27 2014, 5:26 PM (211 w, 3 d)

Recent Activity

Today

phil-opp added a comment to D56275: x86 interrupt calling convention: Fix argument offsets.

Ping @rnk: Do you have some time to fix this?

Wed, Jan 16, 8:48 AM

Sat, Jan 5

phil-opp added a comment to D56275: x86 interrupt calling convention: Fix argument offsets.

@rnk Thanks for your thoughtful reply! Sorry for voicing my frustration, I just feared that the issue remains unfixed because no one wants to invest the time to fix it properly. But I understand your reasoning and I see how the current code is somewhat hacky.

Sat, Jan 5, 4:32 AM

Fri, Jan 4

phil-opp added a comment to D56275: x86 interrupt calling convention: Fix argument offsets.

Test?

I tried to add additional checks to the x86-64-intrcc.ll test, but the patched version of llc generates the exact same assembly as the unpatched version for this test (with and without -O0). I think this is because the test doesn't use the relevant code paths. I'm not sure whether it's practical to construct new tests for every code path and how to construct such tests.

Either something is 'broken', and this patch fixes things, or the patch is not needed.

How do you know that this patch helps/does the right thing?
There is probably some code that now is not broken?
Can you write an automated check for that?
If yes, you could try to creduce/bugpoint that code to the minimal snippet that still shows the miscompile(?) fix.

Fri, Jan 4, 2:18 PM

Thu, Jan 3

phil-opp added a comment to D56275: x86 interrupt calling convention: Fix argument offsets.

I tried to add additional checks to the x86-64-intrcc.ll test, but the patched version of llc generates the exact same assembly as the unpatched version for this test (with and without -O0). I think this is because the test doesn't use the relevant code paths. I'm not sure whether it's practical to construct new tests for every code path and how to construct such tests.

Thu, Jan 3, 9:40 AM
phil-opp created D56275: x86 interrupt calling convention: Fix argument offsets.
Thu, Jan 3, 8:46 AM

Apr 2 2017

phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

Friendly ping :)

Apr 2 2017, 2:45 AM

Mar 21 2017

phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

It seems like this patch is ready to land. I don't have SVN access, so it would be great if someone could commit it for me.

Mar 21 2017, 10:13 AM

Mar 15 2017

phil-opp added inline comments to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.
Mar 15 2017, 8:24 AM

Mar 14 2017

phil-opp updated the diff for D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

(updated the test_isr_clobbers test too, even though the CHECK-SSE-NEXT directives are broken at the moment)

Mar 14 2017, 3:13 PM
phil-opp updated the diff for D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

The argument offsets (exception stack frame and error code) are now updated if the stack is aligned. I also updated the tests accordingly.

Mar 14 2017, 3:08 PM
phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

I just tested this version again and found a bug in the implementation: I forgot to adjust the offset of the error code and the pointer to the exception stack frame. So please do not merge this yet.

Mar 14 2017, 7:00 AM

Mar 13 2017

phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

What's the state of this? Are there any problems with this PR?

Mar 13 2017, 1:47 AM

Feb 21 2017

phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

No, there is no need to realign stack in 64-bit mode.

Feb 21 2017, 9:04 AM

Feb 18 2017

phil-opp updated the diff for D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

add a . in comment

Feb 18 2017, 6:51 AM
phil-opp updated the diff for D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

re-created the patch with -U999999

Feb 18 2017, 6:48 AM
phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

Amjad pointed out to me that the incoming alignment to an interrupt handler is only guaranteed to be 0 mod 8, not 8 mod 16 as is the case with the normal x86-64 ABI. HJ mentions this in 26477.

Feb 18 2017, 6:45 AM

Feb 16 2017

phil-opp added a comment to D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.

This should also fix the 64-bit case of Bug 26477. I'm not quite sure what's the problem in the 32-bit case.

Feb 16 2017, 12:07 PM
phil-opp updated the summary of D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.
Feb 16 2017, 11:55 AM
phil-opp updated the summary of D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.
Feb 16 2017, 11:54 AM
phil-opp created D30049: x86 interrupt calling convention: re-align stack pointer on 64-bit if an error code was pushed.
Feb 16 2017, 11:44 AM
phil-opp added a comment to D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.

Could someone commit this for me, please?

Feb 16 2017, 9:32 AM

Feb 15 2017

phil-opp updated the diff for D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.

You were right: The generated code with and without -O0 is identical.

Feb 15 2017, 12:17 PM
phil-opp added a comment to D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.

I don't have commit access. Could someone commit it for me?

Feb 15 2017, 8:32 AM
phil-opp updated the diff for D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.

I added a regression test.

Feb 15 2017, 7:34 AM

Feb 14 2017

phil-opp added a comment to D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.

PR26413 is a different problem: The generated code for targets with SSE support uses movaps instructions instead of movups instructions, which leads to alignment exceptions because the stack is only 8-byte aligned.

Feb 14 2017, 1:48 PM
phil-opp created D29959: x86 interrupt calling convention: only save xmm registers if the target supports SSE.
Feb 14 2017, 12:26 PM

Apr 26 2016

phil-opp updated subscribers of D12483: [PATCH 2/2] [x86] Add support for "probe-stack".
Apr 26 2016, 10:31 AM