Page MenuHomePhabricator

dcandler (David Candler)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 31 2019, 5:45 AM (146 w, 5 d)

Recent Activity

Tue, May 17

dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

Tests moved out and pre-committed in https://reviews.llvm.org/D125807

Tue, May 17, 9:49 AM · Restricted Project, Restricted Project
dcandler requested review of D125807: [ConstantFolding] Pre-commit tests showing denormal handling during folding.
Tue, May 17, 9:45 AM · Restricted Project, Restricted Project

Fri, May 6

dcandler added a comment to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

Sorry, the instcombine tests are from the previous version and shouldn't have been included in the diff.

Fri, May 6, 6:14 AM · Restricted Project, Restricted Project

Tue, May 3

dcandler added inline comments to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.
Tue, May 3, 1:56 AM · Restricted Project, Restricted Project
dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

I've moved the tests to instsimplify, and expanded them out to cover more cases and additional instructions. While there may be some overlap, this structures it a bit better and ensures cases don't get conflated: depending on the instruction some zero results can be obtained from either the input getting zeroed or the output getting zeroed, so it's better to test both separately.

Tue, May 3, 1:51 AM · Restricted Project, Restricted Project

Fri, Apr 29

dcandler committed rG9e7c9967c3fd: Additionally set f32 mode with denormal-fp-math (authored by dcandler).
Additionally set f32 mode with denormal-fp-math
Fri, Apr 29, 7:07 AM · Restricted Project, Restricted Project
dcandler closed D122589: Additionally set f32 mode with denormal-fp-math.
Fri, Apr 29, 7:07 AM · Restricted Project, Restricted Project

Apr 8 2022

dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

I've removed FNeg from the changes; indeed it wasn't affected by denormal mode wherever I tried. That did allow me to refactor slightly to wrap around just ConstantFoldBinaryOpOperands, and fall back to that when dealing with a constant expression or functionless instruction just as before. So for the moment the denormal mode information is only applied in situations where it is available, which is one step forward at least.

Apr 8 2022, 8:23 AM · Restricted Project, Restricted Project

Mar 30 2022

dcandler added a comment to D122589: Additionally set f32 mode with denormal-fp-math.

The issue I found was trying to use getDefaultDenormalModeForType during constant folding to account for denormals (https://reviews.llvm.org/D116952). Setting denormal-fp-math to a non-IEEE mode without specifying denormal-fp-math-f32 still results in the denormal-fp-math-f32 attribute being present (even if unsued elsewhere), which leads to the wrong result for targets that do not support denormal-fp-math-f32.

Mar 30 2022, 9:35 AM · Restricted Project, Restricted Project
dcandler added a comment to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

When I originally checked the other calls to ConstantFoldBinaryOpOperands did not look like they would potentially be handling floating point instructions, although on second look, I missed InstructionSimplify::foldOrCommuteConstant. The same approach should work there too though, so I can expand the patch to cover that usage.

Mar 30 2022, 9:34 AM · Restricted Project, Restricted Project

Mar 29 2022

dcandler updated the diff for D122589: Additionally set f32 mode with denormal-fp-math.

Added a test that checks attributes based on the -fdenormal-fp-math and -fdenormal-fp-math-f32 flags.

Mar 29 2022, 7:05 AM · Restricted Project, Restricted Project

Mar 28 2022

dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

I've updated the patch with a new version which now takes the denormal handling mode from the function attribute, and adjusted the title/summary to reflect this. This supports both different settings for inputs and outputs to the instruction, as well as whether values get flushed positive zero or the sign is preserved.

Mar 28 2022, 8:52 AM · Restricted Project, Restricted Project
dcandler requested review of D122589: Additionally set f32 mode with denormal-fp-math.
Mar 28 2022, 8:48 AM · Restricted Project, Restricted Project

Feb 8 2022

dcandler added a comment to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

Thanks for taking a look, it does appear I misunderstood a few things.

Feb 8 2022, 5:23 AM · Restricted Project, Restricted Project

Jan 27 2022

dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

Ping for any other comments.

Jan 27 2022, 8:30 AM · Restricted Project, Restricted Project

Jan 20 2022

dcandler updated the diff for D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

I've updated the patch to use TargetTransformInfo to determine whether the target supports flushing to zero. I'm slightly wary, as there is an warning discouraging using TargetTransformInfo, but I unsure of an alternative.

Jan 20 2022, 5:15 AM · Restricted Project, Restricted Project

Jan 12 2022

dcandler added a comment to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.

Thanks for highlighting that. Producing the appropriate result for the hardware was what I meant, so based on that I would have to rework this to handle different targets.

Jan 12 2022, 6:45 AM · Restricted Project, Restricted Project

Jan 10 2022

dcandler requested review of D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.
Jan 10 2022, 9:15 AM · Restricted Project, Restricted Project

May 14 2021

dcandler committed rG3d59f9d22440: [ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature (authored by dcandler).
[ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature
May 14 2021, 6:26 AM
dcandler closed D102406: [ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature.
May 14 2021, 6:26 AM · Restricted Project

May 13 2021

dcandler requested review of D102406: [ARM][AArch64] Correct __ARM_FEATURE_CRYPTO macro and crypto feature.
May 13 2021, 8:20 AM · Restricted Project

Apr 28 2021

dcandler committed rGb8baa2a91324: [ARM][AArch64] Require appropriate features for crypto algorithms (authored by dcandler).
[ARM][AArch64] Require appropriate features for crypto algorithms
Apr 28 2021, 8:28 AM
dcandler closed D99079: [ARM][AArch64] Require appropriate features for crypto algorithms.
Apr 28 2021, 8:27 AM · Restricted Project, Restricted Project
dcandler added inline comments to D99079: [ARM][AArch64] Require appropriate features for crypto algorithms.
Apr 28 2021, 8:26 AM · Restricted Project, Restricted Project

Apr 16 2021

dcandler updated the diff for D99079: [ARM][AArch64] Require appropriate features for crypto algorithms.

Removed one duplicated line.

Apr 16 2021, 8:26 AM · Restricted Project, Restricted Project
dcandler updated the diff for D99079: [ARM][AArch64] Require appropriate features for crypto algorithms.

I've updated the patch to fix the test failures, and slightly reworked the driver code to avoid the above iterator invalidation. I've also added a comment there to clarify what it is doing: individually determining whether the sha2 and aes features should be enabled and explicitly setting them, since they can be controlled both by crypto and their specific feature. Using the last occurance of either in the vector ensures whatever options are passed to -mcpu/-march are evaluated in the correct order.

Apr 16 2021, 3:16 AM · Restricted Project, Restricted Project

Mar 22 2021

dcandler requested review of D99079: [ARM][AArch64] Require appropriate features for crypto algorithms.
Mar 22 2021, 8:01 AM · Restricted Project, Restricted Project

Oct 31 2019

dcandler committed rG92aa0c2dbcb7: [cfi] Add flag to always generate .debug_frame (authored by dcandler).
[cfi] Add flag to always generate .debug_frame
Oct 31 2019, 2:58 AM
dcandler closed D67216: [cfi] Add flag to always generate .debug_frame.
Oct 31 2019, 2:58 AM · Restricted Project, Restricted Project

Oct 23 2019

dcandler updated the diff for D67216: [cfi] Add flag to always generate .debug_frame.

Updated with the new name for the option.

Oct 23 2019, 9:00 AM · Restricted Project, Restricted Project

Oct 22 2019

dcandler added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

I think -f[no-]force-dwarf-frame suitably describes the behavior, and looks in line with other options. I'll update the patch shortly unless anyone else has any other input.

Oct 22 2019, 8:48 AM · Restricted Project, Restricted Project

Oct 17 2019

dcandler added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

I added the negative option more as a way to disable the flag, since I'm currently looking at cases where it may want to be turned on by default (and a negative option would then allow you to only get .eh_frame in cases where you'd get both .debug_frame/.eh_frame).

Oct 17 2019, 9:28 AM · Restricted Project, Restricted Project
dcandler added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

I already spotted the line in CommandFlags.inc needs formatting with a couple of breaks. Also the help text in Options.td could be clearer. In particular, -gno-dwarf-frame shouldn't suggest .debug_frame won't be generated at all (since -g might still emit it). It should probably be more along the lines of:

Oct 17 2019, 2:35 AM · Restricted Project, Restricted Project

Oct 11 2019

dcandler committed rL374563: Request commit access for dcandler.
Request commit access for dcandler
Oct 11 2019, 8:05 AM
dcandler updated the diff for D67216: [cfi] Add flag to always generate .debug_frame.

I've modified the patch so that the new flag will ensure the cfi instructions are actually present to be emitted as well. I went ahead and renamed the flag -gdwarf-frame too, to better reflect that it's dealing with the debug information you'd otherwise get with -g, and is meant to specifically put the information in a .debug_frame section and not .eh_frame.

Oct 11 2019, 6:22 AM · Restricted Project, Restricted Project

Sep 6 2019

dcandler added a comment to D67216: [cfi] Add flag to always generate .debug_frame.

I was actually torn myself on whether to put the flag in the g group or not, so I'm happy to rename it. As far as I could find, no compiler has an existing option to control this: instead armcc always includes a debug_frame section by default to follow Arm's Dwarf specification. Having it as an option seems more flexible than forcing a different behavior.

Sep 6 2019, 8:12 AM · Restricted Project, Restricted Project

Sep 5 2019

dcandler committed rGa59bffb57695: [ARM] Add support for the s,j,x,N,O inline asm constraints (authored by dcandler).
[ARM] Add support for the s,j,x,N,O inline asm constraints
Sep 5 2019, 8:17 AM
dcandler committed rL371079: [ARM] Add support for the s,j,x,N,O inline asm constraints.
[ARM] Add support for the s,j,x,N,O inline asm constraints
Sep 5 2019, 8:17 AM
dcandler closed D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.
Sep 5 2019, 8:17 AM · Restricted Project, Restricted Project
dcandler created D67216: [cfi] Add flag to always generate .debug_frame.
Sep 5 2019, 2:22 AM · Restricted Project, Restricted Project

Aug 15 2019

dcandler added a comment to D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.

Ping. @compnerd any other changes before this could be accepted?

Aug 15 2019, 6:28 AM · Restricted Project, Restricted Project

Aug 8 2019

dcandler updated the diff for D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.

Adjusted the formatting on some comment lines, and added FIXMEs for all the constraints that require additional validation to clarify what is still needed and where.

Aug 8 2019, 12:10 PM · Restricted Project, Restricted Project
dcandler added inline comments to D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.
Aug 8 2019, 12:10 PM · Restricted Project, Restricted Project

Aug 7 2019

dcandler created D65863: [ARM] Add support for the s,j,x,N,O inline asm constraints.
Aug 7 2019, 5:13 AM · Restricted Project, Restricted Project

Aug 2 2019

dcandler committed rG7eacefedab6f: [NFC] Test commit, corrected some spelling in comment (authored by dcandler).
[NFC] Test commit, corrected some spelling in comment
Aug 2 2019, 7:45 AM
dcandler committed rL367685: [NFC] Test commit, corrected some spelling in comment.
[NFC] Test commit, corrected some spelling in comment
Aug 2 2019, 7:43 AM
dcandler closed D65516: [NFC] Test commit, corrected some spelling in comment.
Aug 2 2019, 7:43 AM · Restricted Project

Jul 31 2019

dcandler created D65516: [NFC] Test commit, corrected some spelling in comment.
Jul 31 2019, 7:58 AM · Restricted Project