Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

dcandler (David Candler)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

May 30 2023

dcandler committed rGe256f552c815: [builtins][test] Skip scalbn rounding tests on newlib (authored by dcandler).
[builtins][test] Skip scalbn rounding tests on newlib
May 30 2023, 1:01 AM · Restricted Project, Restricted Project
dcandler closed D150280: [builtins][test] Skip scalbn rounding tests on newlib.
May 30 2023, 1:01 AM · Restricted Project, Restricted Project

May 26 2023

dcandler updated the diff for D150280: [builtins][test] Skip scalbn rounding tests on newlib.

Small formatting fix for the failed pre-merge check.

May 26 2023, 8:08 AM · Restricted Project, Restricted Project

May 25 2023

dcandler updated the diff for D150280: [builtins][test] Skip scalbn rounding tests on newlib.

Updated comment.

May 25 2023, 11:41 AM · Restricted Project, Restricted Project

May 16 2023

dcandler committed rGf2bb57c19455: [builtins][test] Use architecture specific float16 check (authored by dcandler).
[builtins][test] Use architecture specific float16 check
May 16 2023, 6:21 AM · Restricted Project, Restricted Project
dcandler closed D150281: [builtins][test] Use architecture specific float16 check.
May 16 2023, 6:21 AM · Restricted Project, Restricted Project
dcandler added a comment to D150280: [builtins][test] Skip scalbn rounding tests on newlib.

More specifically, the cases where results differ are the tests that use a large exponent and can trigger a underflow/overflow when the rounding mode is changed to FE_UPWARD or FE_DOWNWARD. For example:

May 16 2023, 4:02 AM · Restricted Project, Restricted Project

May 11 2023

dcandler added a comment to D150280: [builtins][test] Skip scalbn rounding tests on newlib.

This was built and tested using the LLVM embedded toolchain for Arm which uses picolibc.

May 11 2023, 4:03 AM · Restricted Project, Restricted Project

May 10 2023

dcandler requested review of D150281: [builtins][test] Use architecture specific float16 check.
May 10 2023, 11:05 AM · Restricted Project, Restricted Project
dcandler requested review of D150280: [builtins][test] Skip scalbn rounding tests on newlib.
May 10 2023, 11:01 AM · Restricted Project, Restricted Project

Mar 15 2023

dcandler added a comment to D125807: [ConstantFolding] Pre-commit tests showing denormal handling during folding.

I'm not sure what is the right protocol for adding review comments to a long-submitted patch.
But, whilst thinking of adding float16 tests, I noticed 4 possible inconsistencies in float32 tests.

Mar 15 2023, 3:20 AM · Restricted Project, Restricted Project

Nov 2 2022

dcandler abandoned D129298: Add denormal-fp-math attribute for f16.

Sorry for the quiet on this. I'm going to abandon this for the moment, as what I eventually found was that there was some ambiguity in the ARM ABI regarding half-floats which would be better to address first, so that the attributes can map directly. There is currently only one ARM build attribute for denormals which reads as though it affects all precisions, but may not have been updated after half-float support was added. Since that maps to denormal-fp-math, which also controls all precisions, both may need splitting rather than just the function level attribute.

Nov 2 2022, 10:01 AM · Restricted Project, Restricted Project, Restricted Project

Jul 8 2022

dcandler added a comment to D129298: Add denormal-fp-math attribute for f16.

There are currently no Arm specific changes, this is just being able to more accurately describe the floating point environment via attributes in the case where singles and doubles should be flushed, but not halves.

Jul 8 2022, 6:34 AM · Restricted Project, Restricted Project, Restricted Project

Jul 7 2022

dcandler requested review of D129298: Add denormal-fp-math attribute for f16.
Jul 7 2022, 8:53 AM · Restricted Project, Restricted Project, Restricted Project

Jun 30 2022

dcandler accepted D128647: [InstructionSimplify] handle denormal constant input for fcmp.

LGTM too, thanks.

Jun 30 2022, 8:00 AM · Restricted Project, Restricted Project

Jun 29 2022

dcandler added inline comments to D128647: [InstructionSimplify] handle denormal constant input for fcmp.
Jun 29 2022, 11:42 AM · Restricted Project, Restricted Project

Jun 28 2022

dcandler added a comment to D128647: [InstructionSimplify] handle denormal constant input for fcmp.

Thanks, I'd started looking at how to include fcmp but you were quicker.

Jun 28 2022, 5:48 AM · Restricted Project, Restricted Project

Jun 23 2022

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

That fneg gets handled differently came up during the review, https://reviews.llvm.org/D116952#3417339 and I found it similarly didn't get flushed on Arm.

Jun 23 2022, 5:14 AM · Restricted Project, Restricted Project
dcandler added a comment to rGd3919a8cc503: [ConstantFolding] Respect denormal handling mode attributes when folding….

That's interesting. Is test_float_fneg_pzero_f32_out() the only one to have a problem? All the fneg tests do the same thing because fneg should not be affected by the denormal-fp-math attribute, so the result should always be the input negated.

Jun 23 2022, 2:43 AM · Restricted Project, Restricted Project

Jun 20 2022

dcandler committed rGd3919a8cc503: [ConstantFolding] Respect denormal handling mode attributes when folding… (authored by dcandler).
[ConstantFolding] Respect denormal handling mode attributes when folding…
Jun 20 2022, 8:43 AM · Restricted Project, Restricted Project
dcandler closed D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.
Jun 20 2022, 8:43 AM · Restricted Project, Restricted Project
dcandler committed rG2e2fdcd0f9c8: [ConstantFolding] Pre-commit tests showing denormal handling during folding (authored by dcandler).
[ConstantFolding] Pre-commit tests showing denormal handling during folding
Jun 20 2022, 7:39 AM · Restricted Project, Restricted Project
dcandler closed D125807: [ConstantFolding] Pre-commit tests showing denormal handling during folding.
Jun 20 2022, 7:38 AM · Restricted Project, Restricted Project

Jun 17 2022

dcandler added a reviewer for D125807: [ConstantFolding] Pre-commit tests showing denormal handling during folding: spatel.
Jun 17 2022, 6:12 AM · Restricted Project, Restricted Project

Jun 16 2022

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

Ping

Jun 16 2022, 7:04 AM · Restricted Project, Restricted Project

May 17 2022

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

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

May 6 2022

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.

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

May 3 2022

dcandler added inline comments to D116952: [ConstantFolding] Respect denormal handling mode attributes when folding instructions.
May 3 2022, 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.

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

Apr 29 2022

dcandler committed rG9e7c9967c3fd: Additionally set f32 mode with denormal-fp-math (authored by dcandler).
Additionally set f32 mode with denormal-fp-math
Apr 29 2022, 7:07 AM · Restricted Project, Restricted Project
dcandler closed D122589: Additionally set f32 mode with denormal-fp-math.
Apr 29 2022, 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