Page MenuHomePhabricator

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

andrew.w.kaylor (Andy Kaylor)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 2 2013, 1:50 PM (559 w, 5 d)

Recent Activity

Wed, Sep 6

andrew.w.kaylor accepted D151834: Include math-errno with fast-math.

lgtm

Wed, Sep 6, 2:57 PM · Restricted Project, Restricted Project

Aug 25 2023

andrew.w.kaylor added a comment to D155672: [JITLink][PowerPC] Correct handling of R_PPC64_REL24_NOTOC.

PLTTableManager::StubKind (which was introduced in this patch) is uninitialized in the constructor. Is the PLTTableManager::visitEdge function guaranteed to be called before any call to PLTTableManager::createEntry?

Aug 25 2023, 10:38 AM · Restricted Project, Restricted Project

Aug 24 2023

andrew.w.kaylor committed rG73738fa504bb: Guard against self-assignment in InputArgList (authored by andrew.w.kaylor).
Guard against self-assignment in InputArgList
Aug 24 2023, 2:45 PM · Restricted Project, Restricted Project
andrew.w.kaylor closed D158134: Guard against self-assignment in InputArgList.
Aug 24 2023, 2:45 PM · Restricted Project, Restricted Project
andrew.w.kaylor committed rG8a407a556f94: Revert some auto-generated checks where a wildcard was needed (authored by andrew.w.kaylor).
Revert some auto-generated checks where a wildcard was needed
Aug 24 2023, 2:40 PM · Restricted Project, Restricted Project
andrew.w.kaylor closed D158758: Revert some auto-generated checks where a wildcard was needed.
Aug 24 2023, 2:40 PM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D158758: Revert some auto-generated checks where a wildcard was needed.

Can you change the constants to values that don't suffer from accuracy problems instead?

Aug 24 2023, 1:57 PM · Restricted Project, Restricted Project
andrew.w.kaylor requested review of D158758: Revert some auto-generated checks where a wildcard was needed.
Aug 24 2023, 10:44 AM · Restricted Project, Restricted Project

Aug 23 2023

andrew.w.kaylor updated the diff for D158134: Guard against self-assignment in InputArgList.

Add unit test and refactor to use early return

Aug 23 2023, 8:29 AM · Restricted Project, Restricted Project

Aug 16 2023

andrew.w.kaylor requested review of D158134: Guard against self-assignment in InputArgList.
Aug 16 2023, 5:06 PM · Restricted Project, Restricted Project
andrew.w.kaylor committed rG6664e80ace08: Fix integer overflow in ConcurrentHashtTableByPtr (authored by andrew.w.kaylor).
Fix integer overflow in ConcurrentHashtTableByPtr
Aug 16 2023, 3:44 PM · Restricted Project, Restricted Project
andrew.w.kaylor closed D158117: Fix integer overflow in ConcurrentHashtTableByPtr.
Aug 16 2023, 3:43 PM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D132455: [ADT] add ConcurrentHashtable class..

I stumbled across a potential integer overflow in this code. A proposed fix is posted as D158117.

Aug 16 2023, 2:13 PM · Restricted Project, Restricted Project
andrew.w.kaylor requested review of D158117: Fix integer overflow in ConcurrentHashtTableByPtr.
Aug 16 2023, 2:12 PM · Restricted Project, Restricted Project

Aug 15 2023

andrew.w.kaylor committed rG7a2dfe2237ec: Avoid unintended integer overflow in bitstream handling (authored by andrew.w.kaylor).
Avoid unintended integer overflow in bitstream handling
Aug 15 2023, 11:16 AM · Restricted Project, Restricted Project
andrew.w.kaylor closed D144661: Avoid unintended integer overflow in bitstream handling.
Aug 15 2023, 11:16 AM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D157938: Fix problem with SCC sort.

lgtm but is a test possible?

Aug 15 2023, 10:11 AM · Restricted Project, Restricted Project

Aug 14 2023

andrew.w.kaylor requested review of D157938: Fix problem with SCC sort.
Aug 14 2023, 5:17 PM · Restricted Project, Restricted Project
andrew.w.kaylor committed rG33af74d6a02d: Fix "use after move" in iterator_range (authored by andrew.w.kaylor).
Fix "use after move" in iterator_range
Aug 14 2023, 11:04 AM · Restricted Project, Restricted Project
andrew.w.kaylor closed D157453: Fix "use after move" in iterator_range.
Aug 14 2023, 11:04 AM · Restricted Project, Restricted Project

Aug 8 2023

andrew.w.kaylor added inline comments to D152891: [ADT] Add deduction guide for iterator_range.
Aug 8 2023, 4:20 PM · Restricted Project, Restricted Project
andrew.w.kaylor requested review of D157453: Fix "use after move" in iterator_range.
Aug 8 2023, 4:19 PM · Restricted Project, Restricted Project

Jul 31 2023

andrew.w.kaylor added a comment to rG76c22b18eafd: [FPEnv][AMDGPU] Correct strictfp tests..

As is mentioned in D67839, there is a concern about architecture-specific intrinsics that perform floating-point operations. I think it's better to simply require the attribute on all intrinsics rather than try to figure out which ones need it and which ones don't. Since downstream consumers of LLVM IR can add their own intrinsics, it's not even possible in principle to have a comprehensive list of those which need the strictfp attribute.

Jul 31 2023, 4:34 PM · Restricted Project, Restricted Project

Jun 13 2023

andrew.w.kaylor added inline comments to D151834: Include math-errno with fast-math.
Jun 13 2023, 4:04 PM · Restricted Project, Restricted Project

Jun 2 2023

andrew.w.kaylor added inline comments to D151834: Include math-errno with fast-math.
Jun 2 2023, 2:48 PM · Restricted Project, Restricted Project

Apr 11 2023

andrew.w.kaylor accepted D147733: Set rounding_mode to tonearest in presence of a #pragma STDC FENV_ACCESS OFF..

Looks good to me.

Apr 11 2023, 4:22 PM · Restricted Project, Restricted Project

Apr 10 2023

andrew.w.kaylor added inline comments to D147733: Set rounding_mode to tonearest in presence of a #pragma STDC FENV_ACCESS OFF..
Apr 10 2023, 4:25 PM · Restricted Project, Restricted Project

Apr 7 2023

andrew.w.kaylor added inline comments to D147733: Set rounding_mode to tonearest in presence of a #pragma STDC FENV_ACCESS OFF..
Apr 7 2023, 10:01 AM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D147733: Set rounding_mode to tonearest in presence of a #pragma STDC FENV_ACCESS OFF..
Apr 7 2023, 9:54 AM · Restricted Project, Restricted Project

Feb 24 2023

andrew.w.kaylor added inline comments to D143882: [ADT] Add llvm::rotl and llvm::rotr to bit.h.
Feb 24 2023, 5:24 PM · Restricted Project, Restricted Project

Feb 23 2023

andrew.w.kaylor requested review of D144661: Avoid unintended integer overflow in bitstream handling.
Feb 23 2023, 11:28 AM · Restricted Project, Restricted Project

Feb 21 2023

andrew.w.kaylor accepted D144454: Add builtin for llvm set rounding.

This looks good to me. I'm adding @rjmccall as a reviewer to make sure someone with front end expertise sees this.

Feb 21 2023, 10:15 AM · Restricted Project, Restricted Project
andrew.w.kaylor added a reviewer for D144454: Add builtin for llvm set rounding: rjmccall.
Feb 21 2023, 10:11 AM · Restricted Project, Restricted Project

Feb 10 2023

andrew.w.kaylor added a comment to D142907: LangRef: Add "dynamic" option to "denormal-fp-math".

In general, it seems like the denormal mode should be considered part of the floating point environment (though as far as I know the C standard, at least, doesn't document it as such). If it were considered part of the floating point environment, the LLVM rules would tell us we could assume the default setting, which I'd assume to be IEEE, and it would only be legal to change this mode in strict mode. However, for your use case preserving the behavior of fpclass seems like what users would want, even in fast-math modes. In this sense, this is a lot like the problem we have with preserving isnan() behavior when fast-math is enabled. Our rules allow it, but it's not what most people would want.

Feb 10 2023, 12:43 PM · Restricted Project, Restricted Project

Jan 30 2023

andrew.w.kaylor added a comment to D138867: [RFC] Add new intrinsics and attribute to control accuracy of FP calls.

Here is a link to the pull request in the SYCL development fork: https://github.com/intel/llvm/pull/8134

Jan 30 2023, 4:08 PM · Restricted Project, Restricted Project

Jan 26 2023

andrew.w.kaylor added a comment to D138867: [RFC] Add new intrinsics and attribute to control accuracy of FP calls.

This doesn't seem to have drawn a lot of support, perhaps because the use cases for the accuracy control are rather abstract right now. I'm going to move this over to the repository we use for SYCL development (https://github.com/intel/llvm) because I need to make progress with the implementation there. Hopefully once we have some open source libraries that leverage the interfaces I'm adding I'll be able to bring it back here with a bit of momentum behind it. I'll post a link here once I have a pull request up.

Jan 26 2023, 1:10 PM · Restricted Project, Restricted Project

Dec 14 2022

andrew.w.kaylor updated subscribers of D139629: clang: Stop emitting "strictfp".
Dec 14 2022, 11:58 AM · Restricted Project

Dec 5 2022

andrew.w.kaylor added inline comments to D138867: [RFC] Add new intrinsics and attribute to control accuracy of FP calls.
Dec 5 2022, 11:41 AM · Restricted Project, Restricted Project

Dec 1 2022

andrew.w.kaylor updated the diff for D138867: [RFC] Add new intrinsics and attribute to control accuracy of FP calls.

Add Language Reference documentation for the new intrinsics and attribute.

Dec 1 2022, 6:11 PM · Restricted Project, Restricted Project

Nov 30 2022

andrew.w.kaylor added a comment to D97854: [RFC][nsan] A Floating-point numerical sanitizer..

This looks very interesting. I had a discussion with someone at the recent LLVM Dev Meeting about the possibility of something like this. However, rather than tracking error based on data precision, I am interested in tracking errors introduced by fast-math based optimizations. For instance, someone has a program with has been verified within accuracy requirements, but they want it to run faster so they enable fast-math. Sometimes this works, but other times the fast-math optimizations introduce an unacceptable amount of error. What I'd like is to be able to trace the problem back to which part of the original source was sensitive to this error so that I can disable fast-math locally for just that operation.

Nov 30 2022, 3:54 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 28 2022

andrew.w.kaylor requested review of D138867: [RFC] Add new intrinsics and attribute to control accuracy of FP calls.
Nov 28 2022, 2:36 PM · Restricted Project, Restricted Project

Oct 31 2022

andrew.w.kaylor added a comment to D136786: Fix `unsafe-fp-math` attribute emission..

The fact that "unsafe-fp-math"="true" implies -ffp-contract=fast is quite unfortunate, and it is something that in principle should be addressed.
My understanding is that the floating point math function attributes are a quite old concept that predates the per-instruction fast-math flags. Ideally we should get rid of the flooding point math function attribute since we do have a finer grain representation.
A while back the main issue was that all the backends code (e.g. DAGCombiner) were only using the TargetOptions properties (hence the function attributes) to control the floating point related transformations, hence there would have been regressions.

Oct 31 2022, 10:10 AM · Restricted Project, Restricted Project

Oct 28 2022

andrew.w.kaylor added a comment to D136786: Fix `unsafe-fp-math` attribute emission..

I'm not following entirely, but -funsafe-math-optimizations is just a subset of -ffast-math, so checking only the properties that contribute to -funsafe-math-optimizations should be enough.
I think it is way simpler to reason in these terms than enumerating all the possible scenarios.

Exactly my point Since -funsafe-math-optimizations is a subset of -ffast-math, shouldn't it be the "minimal" option to trigger the unsafe-fp-math attribute for functions?
I agree with the second part of the condition; it should be
updated with (LangOpts.getDefaultFPContractMode() == LangOptions::FPModeKind::FPM_Fast || LangOpts.getDefaultFPContractMode() == LangOptions::FPModeKind::FPM_FastHonorPragmas)
but I am still hesitant about the change you are proposing for the first part of the condition.
@andrew.w.kaylor Can you please weigh in on this?

Oct 28 2022, 4:38 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D136786: Fix `unsafe-fp-math` attribute emission..
Oct 28 2022, 12:36 PM · Restricted Project, Restricted Project

Oct 5 2022

andrew.w.kaylor accepted D135230: Fix warnings in build done by clang-based compiler.

Looks good to me

Oct 5 2022, 11:06 AM · Restricted Project, Restricted Project

Jul 22 2022

andrew.w.kaylor abandoned D129154: Use TuningFastScalarFSQRT for default X86 tuning.

Superseded by D129647

Jul 22 2022, 11:34 AM · Restricted Project, Restricted Project

Jul 13 2022

andrew.w.kaylor added a comment to D129647: [X86] Use generic tuning for "x86-64" if "tune-cpu" is not specified.

This patch will make my proposed change in D129154 unnecessary, but can you copy the sqrt-fastmath-tunecpu-attr.ll (with a change to the @f32_tune_x86_64 test to reflect the current tuning when "tune-cpu"="x86-64" is used)?

Jul 13 2022, 11:00 AM · Restricted Project, Restricted Project

Jul 5 2022

andrew.w.kaylor requested review of D129154: Use TuningFastScalarFSQRT for default X86 tuning.
Jul 5 2022, 10:54 AM · Restricted Project, Restricted Project

Apr 12 2022

andrew.w.kaylor added inline comments to D123531: [GlobalsModRef][FIX] Ensure we honor synchronizing effects of intrinsics.
Apr 12 2022, 5:29 PM · Restricted Project, Restricted Project

Mar 29 2022

andrew.w.kaylor accepted D69798: Implement inlining of strictfp functions.

lgtm

Mar 29 2022, 9:39 AM · Restricted Project, Restricted Project
andrew.w.kaylor accepted D69562: Mapping of FP operations to constrained intrinsics.

This looks good. I have just a couple of minor nits.

Mar 29 2022, 9:23 AM · Restricted Project, Restricted Project

Mar 25 2022

andrew.w.kaylor added inline comments to D118426: [InstCombine] Remove side effect of replaced constrained intrinsics.
Mar 25 2022, 5:23 PM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D69798: Implement inlining of strictfp functions.

@sepavloff I apologize for having lost track of this for so long. Do you have time to rebase this and the dependent patch?

Mar 25 2022, 2:20 PM · Restricted Project, Restricted Project
Herald added a project to D69798: Implement inlining of strictfp functions: Restricted Project.

I had forgotten that this patch never landed, but I was investigating a bug yesterday that I think this will help with (https://github.com/llvm/llvm-project/issues/48669).

Mar 25 2022, 11:00 AM · Restricted Project, Restricted Project

Mar 22 2022

andrew.w.kaylor added inline comments to D122155: Add warning when eval-method is set in the presence of value unsafe floating-point calculations..
Mar 22 2022, 1:32 PM · Restricted Project, Restricted Project

Mar 11 2022

andrew.w.kaylor accepted D121410: Have cpu-specific variants set 'tune-cpu' as an optimization hint.

This looks good to me. Thanks for the patch!

Mar 11 2022, 11:02 AM · Restricted Project, Restricted Project, Restricted Project

Mar 10 2022

andrew.w.kaylor added inline comments to D121410: Have cpu-specific variants set 'tune-cpu' as an optimization hint.
Mar 10 2022, 3:21 PM · Restricted Project, Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D121410: Have cpu-specific variants set 'tune-cpu' as an optimization hint.

This example illustrates the problem this patch intends to fix: https://godbolt.org/z/j445sxPMc

Mar 10 2022, 2:53 PM · Restricted Project, Restricted Project, Restricted Project

Mar 8 2022

andrew.w.kaylor added a comment to D121122: Set FLT_EVAL_METHOD to -1 when fast-math is enabled..

The fix for the eval_method crash should be moved to a separate patch. Otherwise, this looks good. I have only minor comments.

Mar 8 2022, 10:21 AM · Restricted Project, Restricted Project

Mar 7 2022

andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

I don't agree. Unlike __fp16, __bf16 is simple an ARM specific type.

Mar 7 2022, 2:41 PM · Restricted Project, Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

m256bh should not have been a new type. It should have been an alias of m256i. We don't have load/store intrinsics for m256bh so if you can even get the m256bh type in and out of memory using load/store intrinsics, it is only because we allow lax vector conversion by default. -fno-lax-vector-conversions will probably break any code trying to load/store it using a load/store intrinsic. If __m256bh was made a struct as at one point proposed, this would have been broken.

If we want m256bh to be a unique type using bf16, we must define load, store, and cast intrinsics for it. We would probably want insert/extract element intrinsics as well.

Mar 7 2022, 2:30 PM · Restricted Project, Restricted Project, Restricted Project

Mar 3 2022

andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

Good question! This is actually the scope of ABI. Unfortunately, we don't have the BF16 ABI at the present. We can't assume what are the physical registers the arguments been passed and returned before we have such a hardware. For example, ARM has soft FP ABI that supports FP arithmetic operations and passes and returns arguments by integer registers. When we enabling some ISA set whose type doesn't have ABI representation, e.g., F16C, we borrowed such conception. And as a trade off, we used integer rather than introducing a new IR type, since we don't need to support the arithmetic operations.

Mar 3 2022, 3:49 PM · Restricted Project, Restricted Project, Restricted Project

Mar 2 2022

Herald added a project to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`: Restricted Project.

There's a lot of churn around proposed "solutions" on this and related PR, but not a very clear analysis of what the problem we're trying to solve is.

Mar 2 2022, 6:21 PM · Restricted Project, Restricted Project, Restricted Project

Feb 25 2022

andrew.w.kaylor requested changes to D120411: [X86] Replace __m[128|256|512]bh with __m[128|256|512]i and mark the former deprecated.

Replacing __m128bh with __m128i does not prevent arithmetic operations on the type.

Feb 25 2022, 1:05 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.
Feb 25 2022, 12:57 PM · Restricted Project, Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

Disscussed with GCC folks. We think it's better to use the same way as D120411 that replacing it with short int.

Feb 25 2022, 11:07 AM · Restricted Project, Restricted Project, Restricted Project

Feb 24 2022

andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

These intrinsics pre-date the existence of the bfloat type in LLVM. To use bfloat we have to make __bf16 a legal type in C. This means we need to support loads, stores, and arguments of that type. I think that would create bunch of backend complexity because we don't have could 16-bit load/store support to XMM registers. I think we only have load that inserts into a specific element. It's doable, but I'm not sure what we gain from it.

Feb 24 2022, 11:29 AM · Restricted Project, Restricted Project, Restricted Project

Feb 23 2022

andrew.w.kaylor added a comment to D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`.

Update LangRef. We use i16 type to represent bfloat16.

Feb 23 2022, 10:26 AM · Restricted Project, Restricted Project, Restricted Project

Jan 18 2022

andrew.w.kaylor accepted D114564: Fix the use of -fno-approx-func along with -Ofast or -ffast-math.

lgtm

Jan 18 2022, 10:46 AM · Restricted Project

Dec 13 2021

andrew.w.kaylor added reviewers for D115657: [Nomination] Adding Intel representatives to security group: ab, apilipenko, dim, emaste, george.burgess.iv, kristof.beyls, mattdr, nikhgupt, ojhunt, probinson, peter.smith, pietroalbini, serge-sans-paille, Shayne, steveklabnik, tpenge.
Dec 13 2021, 11:59 AM · Restricted Project
andrew.w.kaylor requested review of D115657: [Nomination] Adding Intel representatives to security group.
Dec 13 2021, 11:55 AM · Restricted Project

Dec 3 2021

andrew.w.kaylor added a comment to D96646: [NFC] update LangRef for D88645.

I'm not trying to be difficult, but I genuinely still don't understand the additional arguments pointer. Is it intended to allow proprietary extensions? Is there an example somewhere?

If these intrinsics are meant as a general mechanism to enable arbitrary communication between custom front ends and custom optimization passes, that's fine. I'd just like to see something explicitly explaining that.

the pointer is to a global struct containing the the provided arguments. I use it to communicate from source code to custom passes. but the front-end doesn't need to be custom. since the code to generate theses extra arguments is in clang trunk.
here is a basic example: https://godbolt.org/z/Tavcv9.
how the passes use this information is not defined it can be used for many things.
the major benefit I see is that it can pass arbitrary information and works well with template and constexpr programing. but the front-end does not do any semantic checking on the meaning of the information.

Dec 3 2021, 12:13 PM · Restricted Project, Restricted Project

Nov 24 2021

andrew.w.kaylor added a comment to D114564: Fix the use of -fno-approx-func along with -Ofast or -ffast-math.

Thanks for the patch! This looks mostly good. I have just a few suggestions.

Nov 24 2021, 3:08 PM · Restricted Project

Nov 2 2021

andrew.w.kaylor added a comment to D112760: Require 'contract' fast-math flag for FMA generation.

This attribute has never been handled consistently in the backend. We have attributes approximately corresponding to each of the individual fast math flags, so the mirror of the IR controls would be to just set all of those attributes. I've never been sure how unsafe-fp-math fits in here, other than just a convenience to avoid setting all the others. I would also like to get rid of it, since you should be checking the individual properties anyway.

Nov 2 2021, 3:39 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D112760: Require 'contract' fast-math flag for FMA generation.
Nov 2 2021, 3:02 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D112760: Require 'contract' fast-math flag for FMA generation.
Nov 2 2021, 11:34 AM · Restricted Project, Restricted Project

Nov 1 2021

andrew.w.kaylor added a comment to D112760: Require 'contract' fast-math flag for FMA generation.

I would rephrase the description as removing the global flag for contraction

Nov 1 2021, 2:59 PM · Restricted Project, Restricted Project

Oct 28 2021

andrew.w.kaylor requested review of D112760: Require 'contract' fast-math flag for FMA generation.
Oct 28 2021, 2:35 PM · Restricted Project, Restricted Project

Sep 29 2021

andrew.w.kaylor abandoned D110589: [IntelJITListener] Generalize JIT listener test.

Instead of generalizing the test, I re-ordered the checks to match what's currently happening. It appears to be stable and the test was broken by an explicit change to the object symbol ordering.

Sep 29 2021, 4:53 PM · Restricted Project
andrew.w.kaylor committed rGe49c0c5100b9: [IntelJITListener] Fix order in JitListener/multiple.ll (authored by andrew.w.kaylor).
[IntelJITListener] Fix order in JitListener/multiple.ll
Sep 29 2021, 4:49 PM

Sep 27 2021

andrew.w.kaylor requested review of D110589: [IntelJITListener] Generalize JIT listener test.
Sep 27 2021, 2:14 PM · Restricted Project

Sep 7 2021

andrew.w.kaylor committed rG34528c32d23f: Copy Elementtype Attribute to IR at Link step (authored by andrew.w.kaylor).
Copy Elementtype Attribute to IR at Link step
Sep 7 2021, 11:47 AM
andrew.w.kaylor closed D108796: Copy Elementtype Attribute to IR at Link step.
Sep 7 2021, 11:47 AM · Restricted Project

Aug 23 2021

andrew.w.kaylor added a comment to D105895: [FPEnv][EarlyCSE] Add support for CSE of constrained FP intrinsics.

This patch may be overkill. If the reading of the floating point status register is restricted to "fpexcept.strict" then perhaps we don't need all of this code. But if we want to allow checking the status register after "fpexcept.maytrap" instructions then we do need all this. The LangRef restricts those reads to "fpexcept.strict". Are we certain we want to stick with that language?

Aug 23 2021, 3:06 PM · Restricted Project
andrew.w.kaylor added inline comments to D106362: [FPEnv][InstSimplify] Enable more folds for constrained fadd.
Aug 23 2021, 1:05 PM · Restricted Project, Restricted Project

Aug 5 2021

andrew.w.kaylor added a comment to D74436: Change clang option -ffp-model=precise to select ffp-contract=on.

FWIW, fp-contract=on has been the documented default for clang since version 5.

Aug 5 2021, 10:13 AM · Restricted Project

Aug 4 2021

andrew.w.kaylor accepted D104551: Delay initialization of OptBisect.

lgtm

Aug 4 2021, 10:13 AM · Restricted Project

Jul 29 2021

andrew.w.kaylor added a comment to D104551: Delay initialization of OptBisect.

Yes, that's exactly what happens. The project uses LLVM as a code generator for multiple targets. The OptBisector object is constructed the first time it's queried by shouldRunPass, which happened during the code generation for the first target. We set up the second target by passing some extra flags to ParseCommandLineOptions, but passing -opt-bisect-limit at this time no longer has any effect (i.e. the setting from the construction time remains).

Jul 29 2021, 6:11 PM · Restricted Project
andrew.w.kaylor committed rGb4d945bacdaf: Fixing an infinite loop problem in InstCombine (authored by andrew.w.kaylor).
Fixing an infinite loop problem in InstCombine
Jul 29 2021, 1:05 PM
andrew.w.kaylor closed D106950: Fixing an infinite loop problem in InstCombine.
Jul 29 2021, 1:05 PM · Restricted Project

Jul 27 2021

andrew.w.kaylor added a comment to D104551: Delay initialization of OptBisect.

Sorry for the non-response, I hadn't notice this review earlier.

Jul 27 2021, 2:14 PM · Restricted Project
andrew.w.kaylor committed rGb373b5990d59: Enabling the copy-constant-to-alloca optimization in more instances (authored by andrew.w.kaylor).
Enabling the copy-constant-to-alloca optimization in more instances
Jul 27 2021, 10:23 AM
andrew.w.kaylor closed D106573: Enabling the copy-constant-to-alloca optimization in more instances.
Jul 27 2021, 10:23 AM · Restricted Project

Jul 26 2021

andrew.w.kaylor accepted D106573: Enabling the copy-constant-to-alloca optimization in more instances.

lgtm

Jul 26 2021, 3:35 PM · Restricted Project

Jun 30 2021

andrew.w.kaylor added a comment to D104935: Update the Polybench tests to check relative error.

I think having a more robust library for FP comparisons in the test suite would be great. In fact, I thought about moving even the simple comparison I did in this patch to some common location where it could be included by other tests. Maybe that's a good starting point for an incremental change in the direction you're suggesting. A robust library of such checks is beyond the scope of what I have time to do at the moment, but I would certainly support that direction.

Jun 30 2021, 7:37 AM

Jun 25 2021

andrew.w.kaylor set the repository for D104935: Update the Polybench tests to check relative error to rT test-suite.
Jun 25 2021, 1:14 PM
andrew.w.kaylor requested review of D104935: Update the Polybench tests to check relative error.
Jun 25 2021, 11:17 AM

Jun 10 2021

andrew.w.kaylor committed rG41555eaf65b1: Preserve more MD_mem_parallel_loop_access and MD_access_group in SROA (authored by andrew.w.kaylor).
Preserve more MD_mem_parallel_loop_access and MD_access_group in SROA
Jun 10 2021, 3:47 PM
andrew.w.kaylor closed D103254: Preserve more MD_mem_parallel_loop_access and MD_access_group in SROA.
Jun 10 2021, 3:47 PM · Restricted Project

May 21 2021

andrew.w.kaylor added a comment to D102861: Suppress FP_CONTRACT due to planned command line changes.

This seems OK as a short term solution, but it is also problematic in that it prevents FMA from being used in these performance measurements. I understand that it's not trivial to allow FP-related error tolerance in the test, but (as a future patch) it would be nice to at least have a way to turn off the exact result checking on FP tests so that the performance could be measured with fast-math and fp-contract enabled, and that would require having a way to re-enable FMA for these tests.

May 21 2021, 11:49 AM