Page MenuHomePhabricator

kpn (Kevin P. Neal)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 20 2018, 9:31 AM (111 w, 6 h)

Recent Activity

Fri, Apr 3

kpn committed rG9f1c35d8b14f: Revert "[PowerPC] Replace subtract-from-zero float in version with fneg in… (authored by kpn).
Revert "[PowerPC] Replace subtract-from-zero float in version with fneg in…
Fri, Apr 3, 1:01 PM
kpn added a reverting change for rGba87430cadb2: [PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC…: rG9f1c35d8b14f: Revert "[PowerPC] Replace subtract-from-zero float in version with fneg in….
Fri, Apr 3, 1:01 PM
kpn added a comment to D76928: [InstCombine][X86] Simplify demanded elts in SSE intrinsics with repeated args (PR24523).

Didn't Andy Kaylor have a plan to pass strict FP metadata through using (I think he called it) bundles?

Fri, Apr 3, 12:57 PM · Restricted Project
kpn committed rGd7a0516ddcfe: Fix typo in test. (authored by kpn).
Fix typo in test.
Fri, Apr 3, 12:27 PM
kpn committed rGba87430cadb2: [PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC… (authored by ajwock).
[PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC…
Fri, Apr 3, 12:27 PM
kpn closed D76949: Replace subtract-from-zero float in version with fneg in PowerPC special fma compiler builtins.
Fri, Apr 3, 12:26 PM · Restricted Project, Restricted Project

Thu, Apr 2

kpn added inline comments to D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.
Thu, Apr 2, 7:01 AM · Restricted Project

Wed, Apr 1

kpn added a comment to D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin.

I ran a check myself. I found that there are quite a few existing tests that enter BitcodeReader::materialize() from someplace other than BitcodeReader::materializeModule(). Perhaps one of these would be helpful in coming up with a new test?

Wed, Apr 1, 2:45 PM · Restricted Project

Mon, Mar 30

kpn added a comment to D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.

Note that the AArch64 backend isn't ready for some of these changes. That's why the test is marked XFAIL.

Mon, Mar 30, 10:19 AM · Restricted Project
kpn created D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.
Mon, Mar 30, 10:16 AM · Restricted Project

Fri, Mar 27

kpn added a comment to D72930: [FEnv] Constfold some unary constrained operations.

It looks like a whole bunch of instructions got converted into simple loads. Which is exactly what was expected.

Fri, Mar 27, 12:01 PM · Restricted Project
kpn added a comment to D72930: [FEnv] Constfold some unary constrained operations.
Fri, Mar 27, 9:41 AM · Restricted Project

Feb 28 2020

kpn added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Feb 28 2020, 5:53 AM · Restricted Project

Feb 12 2020

kpn added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Feb 12 2020, 5:45 AM · Restricted Project

Feb 11 2020

kpn added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Feb 11 2020, 9:30 AM · Restricted Project
kpn added a comment to D72685: [PowerPC] Exploit VSX rounding instrs for rint.

Correct me if I'm wrong. rint(x) returns x if x is an NaN. However, intruction like XSRDPIC may turn SNAN to QNAN. Does it matter?

Feb 11 2020, 9:21 AM · Restricted Project

Feb 6 2020

kpn committed rGad0e03fd4c80: Revert "[FPEnv][X86] Platform-specific builtin constrained FP enablement" (authored by kpn).
Revert "[FPEnv][X86] Platform-specific builtin constrained FP enablement"
Feb 6 2020, 4:24 PM
kpn added a reverting change for rG208470dd5d0a: [FPEnv][X86] Platform-specific builtin constrained FP enablement: rGad0e03fd4c80: Revert "[FPEnv][X86] Platform-specific builtin constrained FP enablement".
Feb 6 2020, 4:23 PM
kpn added a reverting change for rG80e17e5fcc09: [FPEnv][X86] Speculative fix for failures introduced by eda495426.: rGad0e03fd4c80: Revert "[FPEnv][X86] Platform-specific builtin constrained FP enablement".
Feb 6 2020, 4:23 PM
kpn committed rG80e17e5fcc09: [FPEnv][X86] Speculative fix for failures introduced by eda495426. (authored by kpn).
[FPEnv][X86] Speculative fix for failures introduced by eda495426.
Feb 6 2020, 12:33 PM
kpn committed rG208470dd5d0a: [FPEnv][X86] Platform-specific builtin constrained FP enablement (authored by kpn).
[FPEnv][X86] Platform-specific builtin constrained FP enablement
Feb 6 2020, 11:26 AM
kpn closed D73570: [FPEnv][X86] Platform-specific builtin constrained FP enablement.
Feb 6 2020, 11:26 AM · Restricted Project

Jan 31 2020

kpn updated the diff for D73570: [FPEnv][X86] Platform-specific builtin constrained FP enablement.

Address review comments: FMA tests are now run optimized. This changes where the FIXME lines are located.

Jan 31 2020, 10:54 AM · Restricted Project

Jan 29 2020

kpn added inline comments to D73570: [FPEnv][X86] Platform-specific builtin constrained FP enablement.
Jan 29 2020, 5:49 AM · Restricted Project

Jan 28 2020

kpn created D73570: [FPEnv][X86] Platform-specific builtin constrained FP enablement.
Jan 28 2020, 11:46 AM · Restricted Project

Jan 24 2020

kpn added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Jan 24 2020, 9:17 AM · Restricted Project, Restricted Project
kpn added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Jan 24 2020, 5:02 AM · Restricted Project, Restricted Project

Jan 22 2020

kpn added a comment to D73201: [FPEnv][AArch64] Add lowering and instruction selection for STRICT_FP_ROUND.

We want to remove all the mutation code once the in tree targets all support STRICT_ nodes properly. It's a hack to enable targets to limp along a little bit, but in hindsight may have been a bad idea since it creates the illusion of things working when they really don't.

Jan 22 2020, 11:10 AM · Restricted Project

Jan 21 2020

kpn committed rG2e667d07c773: [FPEnv][SystemZ] Platform-specific builtin constrained FP enablement (authored by kpn).
[FPEnv][SystemZ] Platform-specific builtin constrained FP enablement
Jan 21 2020, 9:49 AM
kpn closed D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.
Jan 21 2020, 9:48 AM · Restricted Project
kpn updated the diff for D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.

Eliminate a blank line I thought I had already had gotten.

Jan 21 2020, 7:52 AM · Restricted Project
kpn updated the diff for D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.

Update for review comments.

Jan 21 2020, 7:50 AM · Restricted Project
kpn added inline comments to D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.
Jan 21 2020, 7:47 AM · Restricted Project

Jan 17 2020

kpn added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Jan 17 2020, 10:32 AM · Restricted Project
kpn committed rG0bcfafc5e71d: [SeparateConstOffsetFromGEP] Fix: sext(a) + sext(b) -> sext(a + b) matches add… (authored by ajwock).
[SeparateConstOffsetFromGEP] Fix: sext(a) + sext(b) -> sext(a + b) matches add…
Jan 17 2020, 9:25 AM
kpn closed D65967: [SeparateConstOffsetFromGEP][PowerPC] Fix: sext(a) + sext(b) -> sext(a + b) matches add and sub instructions with one another.
Jan 17 2020, 9:25 AM · Restricted Project

Jan 15 2020

kpn added a comment to D65967: [SeparateConstOffsetFromGEP][PowerPC] Fix: sext(a) + sext(b) -> sext(a + b) matches add and sub instructions with one another.

Excellent! Thanks Matt!

Jan 15 2020, 7:35 AM · Restricted Project

Jan 14 2020

kpn created D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.
Jan 14 2020, 10:32 AM · Restricted Project

Jan 7 2020

kpn added a comment to D72224: [LegalizeVectorOps] Improve handling of multi-result operations..

Looks like the test case didn't make it over.

Jan 7 2020, 6:55 AM · Restricted Project

Jan 6 2020

kpn added a comment to D72224: [LegalizeVectorOps] Improve handling of multi-result operations..

I'm happy to see the uses of ReplaceAllUsesOfValueWith() gone. Having nodes be only halfway spliced into the tree for a while seemed like it could cause bugs later. I imagine the scalar legalizer might could benefit from similar changes at some point in the future.

Jan 6 2020, 10:44 AM · Restricted Project

Jan 2 2020

kpn committed rG89d6c288ba5a: [SystemZ] Use FNeg in s390x clang builtins (authored by kpn).
[SystemZ] Use FNeg in s390x clang builtins
Jan 2 2020, 9:21 AM
kpn closed D71854: [SystemZ] Use FNeg in s390x clang builtins.

My pleasure!

Jan 2 2020, 9:19 AM · Restricted Project
kpn updated the diff for D71854: [SystemZ] Use FNeg in s390x clang builtins.

Update now-failing tests.

Jan 2 2020, 8:04 AM · Restricted Project

Dec 24 2019

kpn committed rG0293b5d67123: [NFC] Remove some dead code from CGBuiltin.cpp. (authored by kpn).
[NFC] Remove some dead code from CGBuiltin.cpp.
Dec 24 2019, 6:41 AM
kpn created D71854: [SystemZ] Use FNeg in s390x clang builtins.
Dec 24 2019, 6:14 AM · Restricted Project

Dec 23 2019

kpn added a comment to D69272: Enable '#pragma STDC FENV_ACCESS' in frontend.

Putting restriction on use of the pragma is of course, a temporary solution, it is not usable in all cases. But for some cases it is usable in production code. Where small pieces of code may be extracted into separate functions, this solution can provide tolerable performance loss, if most part of the program doesn't use constrained intrinsics. Warning prevents users from false expectations. Use in production code ensures further development of the feature.

Full-fledged solution requires full support of constrained intrinsics in optimizations. It is not clear how large this work is, but odd are that it would require substantial efforts. It this case usable implementation of 'pragma STDC FE_ACCESS' would postponed. The restricted solution can be implemented much faster and it does not impede development of the full-fledged one.

Dec 23 2019, 10:13 AM · Restricted Project
kpn added a comment to D69798: Implement inlining of strictfp functions.

Imagine a case where some function "X()" under the #pragma and a non-default FP environment calls a function "Y()" in a different TU and not under the #pragma. Then the programmer moves "Y()" into a header file. Under your proposal Y() would get different FP environments at run time simply because it was moved from a different TU into a header file. Surprise!

Dec 23 2019, 9:43 AM · Restricted Project
kpn added a comment to D69798: Implement inlining of strictfp functions.
In D69798#1793237, @kpn wrote:
Dec 23 2019, 6:21 AM · Restricted Project
kpn added a comment to D71742: Added intrinsics for access to FP environment.
In D71742#1793243, @kpn wrote:

I don't see the need. Changing the FP environment in a mixed environment program is the responsibility of the programmer, and standard calls already exist for this.

This is about inlining. In the code like this:

double f1(double x, double y) {
  return x + y;
}
double f2(double x, double y) {
  #pragma STDC FENV_ACCESS ON
  ...
  return f1(x, y);
}

compiler might inline call to f1 in f2. However the inlined function f1 expects default FP environment but is called in some other one.

Dec 23 2019, 6:12 AM · Restricted Project

Dec 20 2019

kpn added a comment to D71742: Added intrinsics for access to FP environment.

I don't see the need. Changing the FP environment in a mixed environment program is the responsibility of the programmer, and standard calls already exist for this.

Dec 20 2019, 12:11 PM · Restricted Project
kpn added a comment to D69798: Implement inlining of strictfp functions.

When function that uses default FP environment is inlined into strictfp function, code of the former will be executed in the FP environment set in the strictfp function. To fix this behavior the FP environment should be saved upon entry to the inlined function, FP environment reset to default state, and the saved state must be restored upon leaving the inlined function.

So if the function is inlined it would use the reset state, but if it doesn't get inlined it would use the caller's state. Doesn't that mean whether or not the compiler inlines the function changes the behavior of the program?

It is so now. If a code in which #pargma STDC FENV_ACCESS ON acts calls an external function, it would be executed in caller's FP environment. This is wrong if the callee expects default one. We could put get_fenv, reset_fenv and set_fenv, introduced in D71742, around all calls, unless the called function has strictfp attribute, or we know that it does not use FP operation. It however could create unneeded code, which is bad for performance. We need to elaborate proper solution.

Dec 20 2019, 12:11 PM · Restricted Project
kpn added a comment to D69272: Enable '#pragma STDC FENV_ACCESS' in frontend.
In D69272#1717021, @kpn wrote:

Is there a way forward to support having the #pragma at the start of any block inside a function? The effect won't be restricted to that block, true, but the standard does say the #pragma is allowed.

Please clarify: I understand that the backend wants all floating point operations to be built using Floating Point Constrained Intrinsics if any operations use constrained intrinsic. But I thought that, if the constraint were only to apply to a block within the function, that the operations outside the block would be written with the default setting for rounding mode and exception behavior, and the operations inside the constrained block would be created with different settings. Like this

Dec 20 2019, 8:09 AM · Restricted Project

Dec 19 2019

kpn accepted D71723: ConstrainedFP: use API compatible with opaque pointers..

LGTM. Thanks for the fix!

Dec 19 2019, 12:43 PM · Restricted Project, Restricted Project

Dec 18 2019

kpn added inline comments to D71624: [FPEnv] Strict versions of llvm.minimum/llvm.maximum.
Dec 18 2019, 9:26 AM · Restricted Project

Dec 17 2019

kpn committed rG2f40f5681d0d: [FPEnv] IRBuilder support for constrained sitofp/uitofp. (authored by kpn).
[FPEnv] IRBuilder support for constrained sitofp/uitofp.
Dec 17 2019, 9:35 AM
kpn committed rGb1d8576b0a9f: This adds constrained intrinsics for the signed and unsigned conversions of… (authored by kpn).
This adds constrained intrinsics for the signed and unsigned conversions of…
Dec 17 2019, 7:09 AM
kpn closed D69275: Add constrained int->FP intrinsics.
Dec 17 2019, 7:09 AM · Restricted Project

Dec 16 2019

kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Address review comments.

Dec 16 2019, 12:53 PM · Restricted Project
kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Dec 16 2019, 10:53 AM · Restricted Project
kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Address review comments. I've eliminated the need to call SelectionDAG::UnrollVectorOp() and therefore eliminated the changes to that function.

Dec 16 2019, 10:43 AM · Restricted Project

Dec 13 2019

kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Dec 13 2019, 11:28 AM · Restricted Project

Dec 12 2019

kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Dec 12 2019, 5:56 AM · Restricted Project

Dec 11 2019

kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Address review comments, with changes to LegalizeDAG.cpp and LegalizeVectorOps.cpp.

Dec 11 2019, 1:05 PM · Restricted Project
kpn added a comment to D69275: Add constrained int->FP intrinsics.

Huh. I forgot to submit my comments earlier.

Dec 11 2019, 1:05 PM · Restricted Project

Dec 10 2019

kpn updated the diff for D68233: [FPEnv] [WIP] Verify strictfp attribute correctness.

Rebase. Add missing tests.

Dec 10 2019, 10:55 AM · Restricted Project
kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Eliminate write-only variable.

Dec 10 2019, 10:46 AM · Restricted Project
kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Dec 10 2019, 10:46 AM · Restricted Project
kpn added a child revision for D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin: D68233: [FPEnv] [WIP] Verify strictfp attribute correctness.
Dec 10 2019, 10:46 AM · Restricted Project
kpn added a parent revision for D68233: [FPEnv] [WIP] Verify strictfp attribute correctness: D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin.
Dec 10 2019, 10:46 AM · Restricted Project
kpn committed rG6515c524b0ae: [FPEnv] clang support for constrained FP builtins (authored by kpn).
[FPEnv] clang support for constrained FP builtins
Dec 10 2019, 10:09 AM
kpn closed D70256: [FPEnv] clang support for constrained FP builtins.
Dec 10 2019, 10:09 AM · Restricted Project, Restricted Project
kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Update for review comments.

Dec 10 2019, 6:11 AM · Restricted Project
kpn updated the diff for D70256: [FPEnv] clang support for constrained FP builtins.

Update for review comments.

Dec 10 2019, 6:11 AM · Restricted Project, Restricted Project
kpn commandeered D69275: Add constrained int->FP intrinsics.

Prep to update patch.

Dec 10 2019, 6:04 AM · Restricted Project

Dec 9 2019

kpn added a comment to D71218: [FPEnv] Remove unnecessary rounding mode argument for constrained intrinsics.

I think this is a good idea.

Dec 9 2019, 11:20 AM · Restricted Project, Restricted Project
kpn abandoned D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.

Redundant now.

Dec 9 2019, 7:19 AM · Restricted Project
kpn added a comment to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.

@mibintc: This ticket is redundant now, correct? This was solved in the re-push of the command line option changes?

Dec 9 2019, 7:01 AM · Restricted Project
kpn added a comment to D69275: Add constrained int->FP intrinsics.

The calls DAG.UnrollVectorOp() can't be used in place of DAGTypeLegalizer::ReplaceValueWith() because then the replaced node doesn't get properly deleted. This then results in an assertion failure later because the replaced node wasn't legal. And having SelectionDAG call into DAGTypeLegalizer doesn't seem like a winning idea, at least not without some plumbing. So today I'm going to punt on merging those functions together and just post what I've got. After breakfast sometime.

Dec 9 2019, 5:00 AM · Restricted Project

Dec 6 2019

kpn added a comment to D69275: Add constrained int->FP intrinsics.

I'm still working on this ticket daily! I'm trying to merge the two vector unrolling functions like Ulrich suggested. But I ran into problems that lead me to think we may have a serious issue lurking that we'll need to fix. That's what I've been working on: trying to understand the issue and see if it needs further investigation.

Dec 6 2019, 5:07 AM · Restricted Project

Dec 2 2019

kpn added inline comments to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
Dec 2 2019, 12:53 PM · Restricted Project, Restricted Project
kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Dec 2 2019, 6:37 AM · Restricted Project

Nov 27 2019

kpn added inline comments to D69275: Add constrained int->FP intrinsics.
Nov 27 2019, 12:10 PM · Restricted Project
kpn updated the diff for D69275: Add constrained int->FP intrinsics.

Update for review comments. Use MERGE_VALUES node. Eliminate hacks to avoid x86 custom lowering. This means more x86 target support.

Nov 27 2019, 11:13 AM · Restricted Project

Nov 19 2019

kpn added inline comments to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 19 2019, 12:34 PM · Restricted Project
kpn added a comment to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.

It works for me too. I need to send an update for my new test case fpconstrained.cpp

Nov 19 2019, 11:56 AM · Restricted Project
kpn added a comment to D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.

This seems like a much more reasonable approach in general. Frontend authors who intend to use constrained FP need to be making broader changes to how they emit IR in order to satisfy the requirements of the intrinsics.

Have we been able to extract a test case which causes the insertion into an unparented basic block? If that's happening in Clang IRGen, I consider that a bug. I can't speak for LLVM passes, though; they do silly things for obscure reasons.

Nov 19 2019, 10:34 AM · Restricted Project
kpn created D70451: [FPEnv] IRBuilder should not put strictfp on function definitions automatically.
Nov 19 2019, 10:06 AM · Restricted Project
kpn 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, 6:13 AM · Restricted Project, Restricted Project

Nov 18 2019

kpn added inline comments to D70256: [FPEnv] clang support for constrained FP builtins.
Nov 18 2019, 1:15 PM · Restricted Project, Restricted Project
kpn added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
In D62731#1750412, @kpn wrote:

Does anyone think a warning is appropriate because the new flags are exercising experimental, incomplete code in both clang and llvm? The warning would be removed when we believe the feature is complete and ready to use.

@kpn Can you say more about "incomplete code in ... clang". I don't know what's missing from clang.

Nov 18 2019, 1:15 PM · Restricted Project, Restricted Project
kpn added a comment to D70256: [FPEnv] clang support for constrained FP builtins.

D62731 is required for testing this patch.

Nov 18 2019, 12:30 PM · Restricted Project, Restricted Project
kpn added a parent revision for D70256: [FPEnv] clang support for constrained FP builtins: D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.
Nov 18 2019, 12:30 PM · Restricted Project, Restricted Project
kpn added a child revision for D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior: D70256: [FPEnv] clang support for constrained FP builtins.
Nov 18 2019, 12:30 PM · Restricted Project, Restricted Project
kpn added a comment to D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior.

Does anyone think a warning is appropriate because the new flags are exercising experimental, incomplete code in both clang and llvm? The warning would be removed when we believe the feature is complete and ready to use.

Nov 18 2019, 12:21 PM · Restricted Project, Restricted Project

Nov 14 2019

kpn committed rGd2b6cc7ff6d8: Document more specifically the rounding for "llvm.round". (authored by kpn).
Document more specifically the rounding for "llvm.round".
Nov 14 2019, 10:25 AM
kpn closed D68810: Document rounding for llvm.lround and llvm.lrint.
Nov 14 2019, 10:25 AM · Restricted Project
kpn created D70256: [FPEnv] clang support for constrained FP builtins.
Nov 14 2019, 10:24 AM · Restricted Project, Restricted Project
kpn committed rG56ae3e2692ed: Make the language more consistent since I'm about to commit a content change… (authored by kpn).
Make the language more consistent since I'm about to commit a content change…
Nov 14 2019, 10:15 AM
kpn added a comment to D70096: [strictfp] Replace dangling strictfp attrs with nobuiltin.
In D70096#1744035, @kpn wrote:

Does strictfp need to be on function declarations? Currently it isn't.

Nov 14 2019, 8:07 AM · Restricted Project

Nov 13 2019

kpn added inline comments to D68810: Document rounding for llvm.lround and llvm.lrint.
Nov 13 2019, 1:00 PM · Restricted Project