Page MenuHomePhabricator

andrew.w.kaylor (Andy Kaylor)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 2 2013, 1:50 PM (378 w, 6 d)

Recent Activity

Mon, Mar 30

andrew.w.kaylor added inline comments to D75670: [FPEnv] Intrinsic llvm.roundeven.
Mon, Mar 30, 10:16 AM · Restricted Project

Thu, Mar 26

andrew.w.kaylor accepted D72930: [FEnv] Constfold some unary constrained operations.

Sorry for the delay in approval.

Thu, Mar 26, 2:08 PM · Restricted Project

Thu, Mar 12

andrew.w.kaylor added a comment to D72675: [Clang][Driver] Fix -ffast-math/-ffp-contract interaction.

I may be wrong, but i suspect those failures aren't actually due to the fact
that we pessimize optimizations with this change, but that the whole execution
just fails. Can you try running test-suite locally? Do tests themselves actually pass,
ignoring the question of their performance?

Thu, Mar 12, 3:12 PM · Restricted Project
andrew.w.kaylor accepted D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

OK. Since the behavior for out-of-range evl is target-dependent, undefined makes sense.

Thu, Mar 12, 10:51 AM · Restricted Project

Wed, Mar 11

andrew.w.kaylor added a comment to D75935: Add RET-hardening Support to X86 to mitigate Load Value Injection (LVI) [3/6].

Can you use the "Edit Related Revisions" link to set the parent/child relationships of these patches and put "[1/5]" in the titles?

Wed, Mar 11, 12:29 PM · Restricted Project
andrew.w.kaylor added a comment to D75939: [x86][seses] Introduce SESES pass for LVI.

What is the intention of this set of patches in relation to D75938? It was unclear to me whether you intended to commit this implementation or were just offering it as an alternative for discussion.

Wed, Mar 11, 11:56 AM · Restricted Project
andrew.w.kaylor added a comment to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

I'm satisfied with the functionality, but I'm not sure about the intrinsics having undefined behavior outside the [0, W] range. The way you've implemented it, it seems like the behavior would be predictable. If the evl argument is outside that range, it is ignored. Applying an unsigned value greater than W using the "%mask AND %EVLmask" also has this effect. Why not just make that the defined behavior?

Wed, Mar 11, 10:09 AM · Restricted Project

Tue, Mar 10

andrew.w.kaylor added inline comments to D75932: Move RDF from Hexagon to Codegen [1/6].
Tue, Mar 10, 1:39 PM · Restricted Project

Mar 4 2020

andrew.w.kaylor accepted D74500: clang: Treat ieee mode as the default for denormal-fp-math.

lgtm

Mar 4 2020, 5:59 PM · Restricted Project
andrew.w.kaylor added inline comments to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.
Mar 4 2020, 4:20 PM · Restricted Project

Feb 27 2020

andrew.w.kaylor added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Feb 27 2020, 1:47 PM · Restricted Project

Feb 25 2020

andrew.w.kaylor added inline comments to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.
Feb 25 2020, 3:14 PM · Restricted Project
andrew.w.kaylor added a comment to D72930: [FEnv] Constfold some unary constrained operations.

I may have overstated. The exception behavior of the

Feb 25 2020, 11:24 AM · Restricted Project

Feb 24 2020

andrew.w.kaylor added a comment to D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.

Any more feedback? Should I proceed in this direction?

Feb 24 2020, 4:27 PM · Restricted Project
andrew.w.kaylor added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Feb 24 2020, 10:48 AM · Restricted Project

Feb 21 2020

andrew.w.kaylor added a comment to D63916: [PowerPC] Add exception constraint to FP arithmetic.

I don't know enough about PowerPC to review the check in the tests, but the basic constrained intrinsic handling looks correct.

Feb 21 2020, 2:30 PM · Restricted Project
andrew.w.kaylor added a comment to D74712: Remove *_finite library support, following upstream.

It's a little weird that we're still recognizing these as LibFuncs, but I guess that's necessary to keep the optimizations like constant folding working with them. I see that ConstantFolding already calls the non-finite-restricted versions of the functions when it's doing compile-time evaluation. It would be good to have a comment somewhere (probably in TargetLibraryInfo.cpp below the note about math-finite.h) explaining the handling of these functions.

Feb 21 2020, 10:23 AM · Restricted Project

Feb 19 2020

andrew.w.kaylor added a comment to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

After I made that suggestion @craig.topper pointed out to me that the "experimental" qualifier has a tendency to never go away. See, for example, vector add/reduce intriniscs. All this is to say that my suggestion is just a suggestion and I could be convinced to drop it if that is the consensus.

How about we stick with llvm.vp.fadd and go for llvm.vp.fadd.v2, etc when/if the intrinsics are updated?

Feb 19 2020, 3:59 PM · Restricted Project

Feb 14 2020

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

You're right, -O0 shouldn't generate FMA. I'm preparing to revert this now -- just verifying the build.

Perhaps this should be
off with no optimization
on with -O1/-O2/-O3/-Os/-Oz
fast with fast math

Just a suggestion, I'm not sure whether that would be the best breakdown. Perhaps we can also see what the defaults are for GCC and unify with those?

Feb 14 2020, 3:07 PM · Restricted Project
andrew.w.kaylor added a comment to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

Perhaps this would be cleared up if I had a better understanding of what you were saying.

appreciated. if it's ok, can we schedule that for when it's part of a (new) proposal?

Feb 14 2020, 2:57 PM · Restricted Project
andrew.w.kaylor added a comment to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

MMX does use the X87 FP register file, but they can't coexist at the same. The first use of MMX marks the X87 register stack as occupied. I can't remember if it alters the data or not. An explicit emms instruction has to be done at the end of the MMX code to erase the MMX data and make the registers usable for X87 again.

craig, thank you for correcting me. that makes a lot of sense as i can just imagine the x87 designers going "argh, how are we going to avoid a pipeline clash / mess, here" :)

you get the principle i am sure, even though MMX is not a suitable example.

Feb 14 2020, 2:20 PM · Restricted Project
andrew.w.kaylor updated subscribers of D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.
  1. Rename to llvm.experimental.vp.* - Inserting experimental is the preferred way to introduce new intrinsics until they are stable (for technical reasons brought up by @chandlerc - https://reviews.llvm.org/D69891#1852795 ).
Feb 14 2020, 11:26 AM · Restricted Project
andrew.w.kaylor updated subscribers of D74436: Change clang option -ffp-model=precise to select ffp-contract=on.

However you are right we don't want the frontend to create FMA when optimizations are disabled -O0

Feb 14 2020, 10:12 AM · Restricted Project

Feb 13 2020

andrew.w.kaylor updated subscribers of D74436: Change clang option -ffp-model=precise to select ffp-contract=on.

The revert of this breaks tests everywhere, as far as I can tell.

Feb 13 2020, 6:19 PM · Restricted Project

Feb 12 2020

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

lgtm

Feb 12 2020, 8:51 AM · Restricted Project

Feb 11 2020

andrew.w.kaylor added inline comments to D74436: Change clang option -ffp-model=precise to select ffp-contract=on.
Feb 11 2020, 2:13 PM · Restricted Project

Feb 7 2020

andrew.w.kaylor accepted D73889: [Doc] Proposal for vector predication.

lgtm

Feb 7 2020, 1:57 PM · Restricted Project

Feb 6 2020

andrew.w.kaylor added a comment to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

Basically, I want to actively discourage front ends and optimizations from using the %evl argument in cases where it won't be optimal.

TTI would tell front ends and optimizations that %evl is a no-go for your target. Is this enough discouragement?

Feb 6 2020, 11:10 AM · Restricted Project

Feb 4 2020

andrew.w.kaylor added a comment to D73889: [Doc] Proposal for vector predication.

I feel like the bar should be fairly low for committing this. The proposal itself will notify those who are interested (agree or disagree) where they can join the discussion.

Feb 4 2020, 5:35 PM · Restricted Project
andrew.w.kaylor added a comment to D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.

ping

Feb 4 2020, 11:35 AM · Restricted Project
andrew.w.kaylor added a comment to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

OK. I was picturing MVL as some sort of maximum supported by the hardware in some sense or context. I think(?) I've got it now.

Feb 4 2020, 10:58 AM · Restricted Project
andrew.w.kaylor added a comment to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

I like your first proposal for optional parameters. It "feels right" to me, and I agree that it is an improvement on operand bundles. Obviously it would take some time to build consensus for something like that as a new IR construct. I can live with the explicit parameter for now if we can agree on rules for how it is defined to behave on targets where it does not apply.

Feb 4 2020, 9:35 AM · Restricted Project

Feb 3 2020

andrew.w.kaylor added a comment to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

Exactly. The VE target strictly requires VL <= MVL or you'll get a hardware exception. Enforcing strict UB here means VP-users have to explicitly drop instructions that keep the VL within bounds. This means that we can optimize the VL computation code and that it can be factored into cost calculations, etc. With Options 2 & 3 this would happen only very late in the backend when most scalar optimizations are already done.

Feb 3 2020, 6:04 PM · Restricted Project
andrew.w.kaylor added inline comments to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.
Feb 3 2020, 5:27 PM · Restricted Project
andrew.w.kaylor added a comment to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

I'm not entirely clear where this value comes from, but it seems like whatever generated it must know that we're generating SVE code, right?

This is not architecture specific, and thus this is not assuming SVE. In the case of SVE, the vector length is unknown at compile time (it is a multiple of something), and constant at run-time. In the RISC-V vector extension, I believe it can be changed at any point. Thus, the way to obtain this value is by reading/writing a status register, or something similar, but relying on querying the architecture features. And whether it is constant at runtime, or can be changed at any point, this API seems to cover the different cases.

Feb 3 2020, 5:17 PM · Restricted Project

Jan 31 2020

andrew.w.kaylor added a comment to D69891: [VP,Integer,#1] Vector-predicated integer intrinsics.

I know it's very late for me to be bringing this up, but I have a couple of broad questions -- one minor, one less minor.

Jan 31 2020, 3:58 PM · Restricted Project
andrew.w.kaylor added inline comments to D57504: RFC: Prototype & Roadmap for vector predication in LLVM.
Jan 31 2020, 2:07 PM · Restricted Project
andrew.w.kaylor updated subscribers of D57504: RFC: Prototype & Roadmap for vector predication in LLVM.

Btw, I guess that https://reviews.llvm.org/D71432 shows that op+select folding can be cleanly implemented in isel and that's also in line with my experiments for the VE target.

This needs a caveat. Keeping the select glued to the operation takes some careful effort. Especially in the undef passthru case, there are a bunch of peeps that will incorrectly fold away the select. E.g. this transform from InstSimplify:

if (isa<UndefValue>(FalseVal))   // select ?, X, undef -> X
  return TrueVal;

The VP intrinsics will certainly be immune to these, but if the plan is to eventually replace the VP select intrinsics with IR selects, then this problem will need to be solved. Just a heads up...

Jan 31 2020, 2:07 PM · Restricted Project
andrew.w.kaylor accepted D69978: Separately track input and output denormal mode.

lgtm

Jan 31 2020, 11:49 AM · Restricted Project

Jan 30 2020

andrew.w.kaylor added a comment to D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin.

Thanks for the review!

Jan 30 2020, 3:16 PM · Restricted Project
andrew.w.kaylor updated the diff for D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin.

Rebase and fix typo

Jan 30 2020, 1:05 PM · Restricted Project

Jan 29 2020

andrew.w.kaylor added inline comments to D69978: Separately track input and output denormal mode.
Jan 29 2020, 5:54 PM · Restricted Project
andrew.w.kaylor accepted D72906: [X86] Improve X86 cmpps/cmppd/cmpss/cmpsd intrinsics with strictfp.

I have a couple of comments, but nothing that couldn't be addressed in a later patch.

Jan 29 2020, 1:13 PM · Restricted Project

Jan 27 2020

andrew.w.kaylor added a comment to D72841: [RFC] Add support for pragma float_control, to control precision and exception behavior at the source level.

It's not clear to me from reading this how the "precise" control is going to work with relation to the fast math flags. I don't think MSVC allows the granularity of control over these flags that we have in clang, so maybe they don't have this problem.

Jan 27 2020, 11:54 AM · Restricted Project, Restricted Project

Jan 24 2020

andrew.w.kaylor added inline comments to D72675: [Clang][Driver] Fix -ffast-math/-ffp-contract interaction.
Jan 24 2020, 4:36 PM · Restricted Project
andrew.w.kaylor added a comment to D72675: [Clang][Driver] Fix -ffast-math/-ffp-contract interaction.
  1. Should we enable FMA "by default" at (for example) '-O2'?
Jan 24 2020, 2:11 PM · Restricted Project
andrew.w.kaylor committed rGb35b7da46084: [PGO] Attach appropriate funclet operand bundles to value profiling… (authored by andrew.w.kaylor).
[PGO] Attach appropriate funclet operand bundles to value profiling…
Jan 24 2020, 11:22 AM
andrew.w.kaylor closed D73221: [PGO] Attach appropriate funclet operand bundles to value profiling instrumentation calls.
Jan 24 2020, 11:22 AM · Restricted Project
andrew.w.kaylor committed rGa33accde954f: [PGO] Early detection regarding whether pgo counter promotion is possible (authored by andrew.w.kaylor).
[PGO] Early detection regarding whether pgo counter promotion is possible
Jan 24 2020, 9:57 AM
andrew.w.kaylor closed D73222: [PGO] Early detection regarding whether pgo counter promotion is possible.
Jan 24 2020, 9:56 AM · Restricted Project

Jan 23 2020

andrew.w.kaylor committed rGc467faf23c7a: [WinEH] Ignore lifetime.end PHI nodes in empty cleanuppads (authored by andrew.w.kaylor).
[WinEH] Ignore lifetime.end PHI nodes in empty cleanuppads
Jan 23 2020, 6:23 PM
andrew.w.kaylor closed D72540: [WinEH] Ignore lifetime.end PHI nodes in empty cleanuppads.
Jan 23 2020, 6:23 PM · Restricted Project
andrew.w.kaylor updated the diff for D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.

Updated to incorporate review suggestions

Jan 23 2020, 12:46 PM · Restricted Project

Jan 17 2020

andrew.w.kaylor added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Jan 17 2020, 3:30 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Jan 17 2020, 11:58 AM · Restricted Project
andrew.w.kaylor accepted D69878: Consoldiate internal denormal flushing controls.

I don't know if there were other reviewers who haven't commented on how you addressed their concerns, but this looks good to me.

Jan 17 2020, 11:30 AM · Restricted Project

Jan 16 2020

andrew.w.kaylor added a comment to D72871: [FPEnv] Divide macro INSTRUCTION into INSTRUCTION and DAG_INSTRUCTION, and macro FUNCTION likewise. NFCI..

Could you make this a standalone patch that only modifies the table without adding the FP_CONTRACT support? Then the other patch can just be refactored to use this.

Jan 16 2020, 2:24 PM · Restricted Project
andrew.w.kaylor added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Jan 16 2020, 2:15 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D69878: Consoldiate internal denormal flushing controls.
Jan 16 2020, 1:45 PM · Restricted Project
andrew.w.kaylor added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Jan 16 2020, 12:08 PM · Restricted Project, Restricted Project

Jan 10 2020

andrew.w.kaylor created D72540: [WinEH] Ignore lifetime.end PHI nodes in empty cleanuppads.
Jan 10 2020, 2:06 PM · Restricted Project
andrew.w.kaylor added inline comments to D69878: Consoldiate internal denormal flushing controls.
Jan 10 2020, 11:09 AM · Restricted Project

Jan 9 2020

andrew.w.kaylor added inline comments to D69878: Consoldiate internal denormal flushing controls.
Jan 9 2020, 6:44 PM · Restricted Project

Jan 8 2020

andrew.w.kaylor added a comment to D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.

As Francis mentioned it before it would be good derive the pass name from the remark type (diag::remark_gvn_load_elim -> gvn) . I.e. I would drop the DEBUG_TYPE argument.

Jan 8 2020, 5:10 PM · Restricted Project
andrew.w.kaylor added a comment to D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.

I like this general idea; couple of thoughts...

  1. Clang has a similar system, and one disadvantage is that any time you change/add any message, it seems to trigger a large rebuild. Could we have this TG system generate separate .inc files for each category of things, so we don't have the same kind of rebuild problem.
Jan 8 2020, 5:01 PM · Restricted Project
andrew.w.kaylor created D72425: [OptRemark] RFC: Introduce a message table for OptRemarks.
Jan 8 2020, 4:05 PM · Restricted Project

Jan 6 2020

andrew.w.kaylor added inline comments to D69878: Consoldiate internal denormal flushing controls.
Jan 6 2020, 11:13 AM · Restricted Project
andrew.w.kaylor added inline comments to D69878: Consoldiate internal denormal flushing controls.
Jan 6 2020, 10:06 AM · Restricted Project

Jan 3 2020

andrew.w.kaylor accepted D72193: [LegalizeTypes] Add widening support for STRICT_FSETCC/FSETCCS.

lgtm

Jan 3 2020, 6:31 PM · Restricted Project

Dec 23 2019

andrew.w.kaylor added inline comments to D71841: [FPEnv] Default NoFPExcept SDNodeFlag to false.
Dec 23 2019, 1:40 PM · Restricted Project
andrew.w.kaylor added inline comments to D71841: [FPEnv] Default NoFPExcept SDNodeFlag to false.
Dec 23 2019, 1:22 PM · Restricted Project

Dec 18 2019

andrew.w.kaylor added a comment to D71635: [clang] Rename -frounding-math to -fexperimental-rounding-math and add -frounding-math back as a gcc-compat arg..

Before:

% clang -frounding-math -fsyntax-only -x c /dev/null
clang-10: warning: Support for floating point control option frounding-math is incomplete and experimental [-Wexperimental-float-control]

CC1 will do rounding math things.

After

% clang -frounding-math -fsyntax-only -x c /dev/null
clang-10: warning: optimization flag '-frounding-math' is not supported [-Wignored-optimization-argument]

CC1 will not do rounding math things. -fexperimental-rounding-math if the user really wants to use the feature.

Is my understanding correct? If yes, this patch seems pretty reasonable to me, because -frounding-math is currently incomplete/unsafe.

You may consider not changing CC1 options as they are not user facing.

Dec 18 2019, 5:40 PM · Restricted Project

Dec 17 2019

andrew.w.kaylor added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

It seems the discussion of whether or not this is incomplete died out -- I'd prefer to assume it is incomplete if there is no consensus. Mailed D71635 to rename -frounding-math to -fexperimental-rounding-math.

Alternatively we could remove the warning. I still don't see a good argument for the middle ground of having it called -frounding-math but also generate a warning.

Dec 17 2019, 4:59 PM · Restricted Project, Restricted Project

Dec 13 2019

andrew.w.kaylor added a comment to D71238: Align non-fused branches within 32-Byte boundary (basic case).

I'm late jumping into the discussion of these patches and may not have seen all comments, so go easy on me if I say something that has already been covered.

Dec 13 2019, 5:25 PM · Restricted Project
andrew.w.kaylor added inline comments to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
Dec 13 2019, 4:13 PM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

... The big problem is that intrinsic calls are not arbitrary code: the vast majority of intrinsics (e.g. all the ARM vector intrinsics, many of which can be floating-point) are marked IntrNoMem (which I believe corresponds to readnone), which means calls to those intrinsics can be reordered with other code whether or not that code has arbitrary side-effects.

Dec 13 2019, 4:13 PM · Restricted Project, Restricted Project
andrew.w.kaylor added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

Hmm. The target-specific intrinsics thing does concern me, since I assume many targets have a bunch of vector intrinsics that may be sensitive to rounding. Do we have an idea of how we'd fix that? If it's a short-term incorrectness that we have a plan to fix, I don't mind the risk, but if we don't know how we'd even start to address it...

Dec 13 2019, 1:09 PM · Restricted Project, Restricted Project

Dec 12 2019

andrew.w.kaylor added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

Currently we emit a warning if you use -frounding-math, saying that the option is ignored. That should have alerted users that they're not getting the correct behavior now. This patch removes the warning and (IIUC) implements the correct behavior but is over-conservative. If that's correct, I think that's acceptable and we don't need an "experimental" flag or a warning.

Dec 12 2019, 5:37 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
Dec 12 2019, 1:31 PM · Restricted Project, Restricted Project

Dec 11 2019

andrew.w.kaylor added a comment to D59780: Support Intel Control-flow Enforcement Technology.

Hmm, I'm sorry but I'm confused. IIRC I had a discussion in the LLVM dev meeting that we were going to submit a change with a single PLT scheme rather than IPLT, so when I said that I'm going to submit a patch, I meant that I'm going to submit a patch for the 1PLT scheme rather than the 2PLT scheme. But this is for the 2PLT scheme. This is not something I want.

What was the decision that was made at the developer meeting? Will lld support the 2PLT scheme defined in the psABI?

Dec 11 2019, 7:58 AM · Restricted Project

Dec 4 2019

andrew.w.kaylor added a comment to D67105: [TargetLowering] Fix another potential FPE in expandFP_TO_UINT.

I'm afraid we may have made a mess of this for X86 in D70214. We noticed the problem that you're fixing here, but I didn't realize you had a solution for it. I guess I hadn't looked at this patch. I'm sorry about that. Your solution looks good to me.

Dec 4 2019, 12:26 PM · Restricted Project
andrew.w.kaylor abandoned D57970: [WinEH] Allocate unique stack slots for xmm CSRs in funclets.

This was fixed in a different way.

Dec 4 2019, 12:06 PM · Restricted Project
andrew.w.kaylor added a comment to D65921: [X86] Add DSB subtarget feature. NFC.

Can this patch be abandoned?

Dec 4 2019, 11:59 AM · Restricted Project
andrew.w.kaylor abandoned D70261: [strictfp] Add token support for FP constraints.

I think we've agreed that this isn't a good use of tokens. The operand bundle approach may still be useful, but that can be attempted in a new revision.

Dec 4 2019, 11:59 AM · Restricted Project

Nov 27 2019

andrew.w.kaylor added a comment to D69281: [FPEnv] Constrained FCmp intrinsics.

To clarify, I was suggesting a single intrinsic with quiet/signaling encoded in the predicate. I think the IR definition is a bit cleaner this way and it maps to both the IEEE specification and at least the most common way (I think) this is implemented in x86 hardware and probably others. That said, if doing it this way makes the implementation more complicated I could go along with separate intrinsics and ISD opcodes.

Nov 27 2019, 11:42 AM · Restricted Project

Nov 26 2019

andrew.w.kaylor added inline comments to D69281: [FPEnv] Constrained FCmp intrinsics.
Nov 26 2019, 11:35 AM · Restricted Project

Nov 25 2019

andrew.w.kaylor added a comment to D69281: [FPEnv] Constrained FCmp intrinsics.

I would prefer a single intrinsic/opcode with additional predicates to handle signalling vs. quiet. My main reason is consistency with how the IEEE-754 spec describes comparisons, but that's a weak argument. @craig.topper mentioned to me that there are some additional opcodes that might need to be duplicated if you treat signalling and quiet as separate operations.

Nov 25 2019, 2:37 PM · Restricted Project

Nov 20 2019

andrew.w.kaylor added inline comments to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 20 2019, 3:01 PM · Restricted Project

Nov 19 2019

andrew.w.kaylor accepted D70220: [LegalizeDAG][X86] Enable STRICT_FP_TO_SINT/UINT to be promoted.

lgtm

Nov 19 2019, 3:56 PM · Restricted Project
andrew.w.kaylor accepted D70214: [X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT.

lgtm

Nov 19 2019, 3:46 PM · Restricted Project
andrew.w.kaylor added inline comments to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 19 2019, 3:27 PM · Restricted Project
andrew.w.kaylor added inline comments to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 19 2019, 2:33 PM · Restricted Project
andrew.w.kaylor added inline comments to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
Nov 19 2019, 12:24 PM · Restricted Project, Restricted Project
andrew.w.kaylor added inline comments to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 19 2019, 12:15 PM · Restricted Project

Nov 15 2019

andrew.w.kaylor added inline comments to D70214: [X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT.
Nov 15 2019, 5:27 PM · Restricted Project
andrew.w.kaylor added a comment to D70261: [strictfp] Add token support for FP constraints.

As referenced in Simon's reply, I have started a mailing list discussion about this.

Nov 15 2019, 1:04 PM · Restricted Project

Nov 14 2019

andrew.w.kaylor added inline comments to D70214: [X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT.
Nov 14 2019, 2:55 PM · Restricted Project
andrew.w.kaylor accepted D69552: Move floating point related entities to namespace level.

This looks good to me. I like the header file name and location you have here.

Nov 14 2019, 11:57 AM · Restricted Project, Restricted Project
andrew.w.kaylor added a reviewer for D70261: [strictfp] Add token support for FP constraints: simoll.
Nov 14 2019, 11:20 AM · Restricted Project
andrew.w.kaylor added inline comments to D69281: [FPEnv] Constrained FCmp intrinsics.
Nov 14 2019, 11:20 AM · Restricted Project