Page MenuHomePhabricator

jcranmer-intel (Joshua Cranmer)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2019, 7:11 AM (189 w, 6 d)

Recent Activity

Thu, Mar 16

jcranmer-intel accepted D143195: ValueTracking: Add start of computeKnownFPClass API.
Thu, Mar 16, 1:41 PM · Restricted Project, Restricted Project

Mon, Mar 13

jcranmer-intel committed rG0ea18a0d5cbe: [lldb] Fix lldb code for renaming of OpenCL AVC types. (authored by jcranmer-intel).
[lldb] Fix lldb code for renaming of OpenCL AVC types.
Mon, Mar 13, 11:55 AM · Restricted Project
jcranmer-intel committed rGbcad161db3e6: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V. (authored by jcranmer-intel).
[Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V.
Mon, Mar 13, 11:21 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel closed D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Mon, Mar 13, 11:21 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 9

jcranmer-intel added inline comments to D143195: ValueTracking: Add start of computeKnownFPClass API.
Thu, Mar 9, 1:47 PM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D143195: ValueTracking: Add start of computeKnownFPClass API.
Thu, Mar 9, 1:39 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D143264: InstCombine: Fold is.fpclass(x, fcZero) to fcmp oeq 0.
Thu, Mar 9, 12:56 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D145150: clang: Emit nofpclass(nan inf) for -ffinite-math-only.

I'm generally okay with the approach of this patch. I'm not sufficiently well-versed in the clang codegen side of things to know if this covers all of the bases, and I'd appreciate someone who is familiar with that side of things to approve this patch.

Thu, Mar 9, 12:52 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D142907: LangRef: Add "dynamic" option to "denormal-fp-math".

I'm studiously ignoring the Clang and LLVM codegen changes here, but otherwise, I think the direction of this change is generally good.

Thu, Mar 9, 12:23 PM · Restricted Project, Restricted Project

Wed, Mar 8

jcranmer-intel added a comment to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Friendly review ping?

Wed, Mar 8, 9:55 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 2

jcranmer-intel added inline comments to D145150: clang: Emit nofpclass(nan inf) for -ffinite-math-only.
Thu, Mar 2, 7:48 AM · Restricted Project, Restricted Project

Wed, Mar 1

jcranmer-intel added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Wed, Mar 1, 11:12 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel updated the diff for D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Documentation tweaks.

Wed, Mar 1, 11:09 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel added inline comments to D144494: [SPIR-V] Support TargetExtType for SPIR-V builtin types.
Wed, Mar 1, 10:26 AM · Restricted Project, Restricted Project

Mon, Feb 27

jcranmer-intel added a comment to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Friendly review ping?

Mon, Feb 27, 12:19 PM · Restricted Project, Restricted Project, Restricted Project

Thu, Feb 23

jcranmer-intel accepted D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type..
Thu, Feb 23, 10:04 AM · Restricted Project, Restricted Project

Wed, Feb 22

jcranmer-intel added a comment to D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type..

Thank you for adding documentation for target("aarch64.svcount"). Otherwise, the only other thing I would comment is the same thing that Nikita said with regards to the unused new methods.

Wed, Feb 22, 12:54 PM · Restricted Project, Restricted Project

Feb 17 2023

jcranmer-intel added inline comments to D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type..
Feb 17 2023, 11:31 AM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type..

I'd ideally like to see discussion of this target extension type somewhere in documentation, but alas, AArch64 is one of the backends that lacks a dedicated target documentation page.

Feb 17 2023, 11:29 AM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Feb 17 2023, 11:10 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel updated the diff for D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Mostly test fixes.

Feb 17 2023, 11:09 AM · Restricted Project, Restricted Project, Restricted Project

Feb 16 2023

jcranmer-intel added a comment to D142907: LangRef: Add "dynamic" option to "denormal-fp-math".

I was thinking of changing the default in general to dynamic. I was going to at least change the strictfp default in a follow up

Feb 16 2023, 11:58 AM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D142907: LangRef: Add "dynamic" option to "denormal-fp-math".

Not entirely sure where the best place to effect this (I think somewhere in the clang driver code?), but on further reflection, it feels like strict fp-model in clang should set the denormal mode to dynamic.

Feb 16 2023, 8:42 AM · Restricted Project, Restricted Project

Feb 14 2023

jcranmer-intel added inline comments to D143195: ValueTracking: Add start of computeKnownFPClass API.
Feb 14 2023, 12:59 PM · Restricted Project, Restricted Project

Feb 8 2023

jcranmer-intel added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Feb 8 2023, 8:41 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel updated the diff for D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

This updates code, and rebases tests on top of trunk.

Feb 8 2023, 8:41 AM · Restricted Project, Restricted Project, Restricted Project

Feb 3 2023

jcranmer-intel added inline comments to D139902: IR: Add nofpclass parameter attribute.
Feb 3 2023, 2:02 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D142996: DAG: Fix broken lowering of is.fplcass fcZero with DAZ.
Feb 3 2023, 1:41 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D141062: LangRef: Clarify behavior of llvm.is.fpclass with "denormal-fp-math".
Feb 3 2023, 1:20 PM · Restricted Project, Restricted Project

Feb 2 2023

jcranmer-intel added a comment to D142907: LangRef: Add "dynamic" option to "denormal-fp-math".

Looking at the attribute logic here, there is conceptual room for both a dynamic and an unknown mode (i.e., you get a top and a bottom value), but I don't think there is value in distinguishing between them, so I'm fine with keeping just a dynamic.

Feb 2 2023, 3:20 PM · Restricted Project, Restricted Project

Feb 1 2023

jcranmer-intel added a comment to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.

What about the original case, when isnan is used in inline function?

inline int get_code(float x) {
  return isnan(x) ? 1 : 2;
}
#pragma STDC FENV_ACCESS ON
void func2(float x) {
  int code1 = get_code(x);
  ...
}

Can this function, defined as non-strictfp, raise Invalid exception when inlined into strictfp function?

Feb 1 2023, 7:19 AM · Restricted Project, Restricted Project

Jan 27 2023

jcranmer-intel added a comment to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.

For the purpose of this change, the exact definition of FENV_ACCESS doesn't matter. This is not something that the context of a single instruction can or should consider. This would have to be managed by implicit mode switches inserted by the frontend to maintain the invariant that non-strict functions don't have to be concerned about it. Our strictfp representation would be totally broken if we had to think about this in a non-strict function

Jan 27 2023, 9:16 AM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.

What about such code?

int get_code(float x) {
  return isnan(x) ? 1 : 2;
}
void func1(float x) {
  int code1 = get_code(x);
  ...
}
#pragma STDC FENV_ACCESS ON
void func2(float x) {
  int code1 = get_code(x);
  ...
}

Acoording to C standard it must work as intended. If compiler replaces isnan with comparison, the code would be broken.

Jan 27 2023, 7:41 AM · Restricted Project, Restricted Project

Jan 26 2023

jcranmer-intel added a comment to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.

If exceptions were turned off, the call was made, and exceptions were turned back on then there would be no correctness issue. Inlining the called function wouldn't change that. The toggling of the exception enablement would be invisible to LLVM. Thus we can't categorically say that a strictfp function calling a !strictfp function is malformed.

On most targets turning off FP exceptions means reading content of FP control register, changing value of mask bits and putting the modified register value back. It is expensive operation and cannot be made invisible to LLVM. Some targets (like RISCV) do not have possibility to mask FP exceptions at all, so at IR level there is no way to turn exception off. Default FP environment supposes that the exceptions are ignored, not disabled. In general case they are raised always.

Jan 26 2023, 4:03 PM · Restricted Project, Restricted Project

Jan 17 2023

jcranmer-intel added a comment to D141899: [IR][X86] Remove X86AMX type in LLVM IR instead of target extension.

From some of the verifier checks and tests, it looks like target("x86.amx") would also require some new type properties, to express its unsuitability for alloca-and-friends, as well as non-intrinsic arguments.

Jan 17 2023, 12:16 PM · Restricted Project, Restricted Project, Restricted Project

Jan 13 2023

jcranmer-intel added inline comments to D141062: LangRef: Clarify behavior of llvm.is.fpclass with "denormal-fp-math".
Jan 13 2023, 1:39 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D140296: ValueTracking: Teach CannotBeOrderedLessThanZero about rounding intrinsics.
Jan 13 2023, 1:35 PM · Restricted Project, Restricted Project

Jan 10 2023

jcranmer-intel updated the diff for D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Fix some of the code review comments.

Jan 10 2023, 12:59 PM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel added a comment to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Jan 10 2023, 12:58 PM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

I'd like to enable the backend infra and propose draft later. To better demonstrate and enable backend target-independent code completely, I'd like to demonstrate with x86_amx that changing x86_amx type to target extension type and make all test passed, if nobody objects. @jcranmer-intel @LuoYuanke @craig.topper @pengfei

Jan 10 2023, 9:07 AM · Restricted Project, Restricted Project

Jan 5 2023

jcranmer-intel committed rG45d9079f7c32: [NFC][IR] Avoid string leak with target extension types. (authored by jcranmer-intel).
[NFC][IR] Avoid string leak with target extension types.
Jan 5 2023, 1:55 PM · Restricted Project, Restricted Project
jcranmer-intel closed D141083: [NFC][IR] Avoid string leak with target extension types..
Jan 5 2023, 1:55 PM · Restricted Project, Restricted Project
jcranmer-intel added reviewers for D141083: [NFC][IR] Avoid string leak with target extension types.: nikic, hctim.
Jan 5 2023, 12:56 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

hi, @jcranmer-intel , could you please propose a backend demo revision to demonstrate how to use targetext type of backend?

Jan 5 2023, 12:55 PM · Restricted Project, Restricted Project
jcranmer-intel requested review of D141083: [NFC][IR] Avoid string leak with target extension types..
Jan 5 2023, 12:55 PM · Restricted Project, Restricted Project

Jan 4 2023

jcranmer-intel added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Jan 4 2023, 2:55 PM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel added a comment to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Most of the testing for this change has been in conjunction with the changes in the SPIRV-LLVM-Translator repository here: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/1799. I haven't updated the in-tree experimental target to support the target-extension types, but I did want to provide more documentation as to how these types work in the existing LLVM documentation for the SPIR-V backend.

Jan 4 2023, 11:48 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel added reviewers for D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V.: Anastasia, iliya-diyachkov, bader, aaron.ballman.
Jan 4 2023, 11:42 AM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel requested review of D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Jan 4 2023, 11:39 AM · Restricted Project, Restricted Project, Restricted Project

Dec 20 2022

jcranmer-intel added inline comments to D139902: IR: Add nofpclass parameter attribute.
Dec 20 2022, 2:53 PM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D139130: InstCombine: Fold and (fcmp), (is.fpclass) into is.fpclass.
Dec 20 2022, 1:27 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D139310: InstCombine: Fold fneg (copysign x, y) -> copysign x, (fneg y).

There might be some cases where we can maintain some fast-math flags that would otherwise be dropped... but it's almost certainly not worth the bother here, since I expect the vast majority of cases will have all the relevant operations have the same fast-math flags.

Dec 20 2022, 1:04 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

@jcranmer-intel
A new build warning:
llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp:296:11: warning: enumeration value 'TargetExtTyID' not handled in switch [-Wswitch]

Dec 20 2022, 10:36 AM · Restricted Project, Restricted Project
jcranmer-intel committed rGaa34a9d108bd: Add TargetExtTyID to switch statements in Hexagon and DXIL backend code. (authored by jcranmer-intel).
Add TargetExtTyID to switch statements in Hexagon and DXIL backend code.
Dec 20 2022, 8:49 AM · Restricted Project, Restricted Project
jcranmer-intel accepted D139903: InstCombine: Fold is.fpclass (fabs x), mask -> is.fpclass x, (fabs mask).
Dec 20 2022, 8:36 AM · Restricted Project, Restricted Project
jcranmer-intel accepted D139895: InstCombine: Fold is.fpclass (fneg x) into the test mask.
Dec 20 2022, 8:35 AM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D139316: ValueTracking: Teach isKnownNeverInfinity about rounding intrinsics.
Dec 20 2022, 8:09 AM · Restricted Project, Restricted Project
jcranmer-intel committed rGe6b02214c68d: [IR] Add a target extension type to LLVM. (authored by jcranmer-intel).
[IR] Add a target extension type to LLVM.
Dec 20 2022, 8:04 AM · Restricted Project, Restricted Project
jcranmer-intel closed D135202: [IR] Add a target extension type to LLVM..
Dec 20 2022, 8:04 AM · Restricted Project, Restricted Project

Dec 19 2022

jcranmer-intel added inline comments to D135202: [IR] Add a target extension type to LLVM..
Dec 19 2022, 2:50 PM · Restricted Project, Restricted Project
jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Fix typo in release notes.

Dec 19 2022, 2:50 PM · Restricted Project, Restricted Project
jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Address review comments (and clang-format issues).

Dec 19 2022, 1:32 PM · Restricted Project, Restricted Project
jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Rebase to trunk, and add release notes.

Dec 19 2022, 10:08 AM · Restricted Project, Restricted Project

Dec 16 2022

jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

the comments and patch description are inconsistent about "opaque" vs "target extension", cleaning this up would be good for avoiding confusion in the future

Dec 16 2022, 7:26 AM · Restricted Project, Restricted Project
jcranmer-intel retitled D135202: [IR] Add a target extension type to LLVM. from [IR] Add an opaque type to LLVM. to [IR] Add a target extension type to LLVM..
Dec 16 2022, 7:25 AM · Restricted Project, Restricted Project

Dec 14 2022

jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Documentation and test tweaks.

Dec 14 2022, 11:15 AM · Restricted Project, Restricted Project

Dec 9 2022

jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Address review comments.

Dec 9 2022, 12:56 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D139316: ValueTracking: Teach isKnownNeverInfinity about rounding intrinsics.

PPC uses double double encoding (https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format), in which a number is represented by a sum of two double precision numbers, where the second just keeps additional mantissa bits. Total number of mantissa bits in ppc_fp128 is about 107 bits. Exponent range is the same as for double numbers: 2^-1022 to 2^1023. So large numbers (above 2^108) are always integers, they do not need rounding and the result of ceil, floor etc is the argument.

Dec 9 2022, 11:25 AM · Restricted Project, Restricted Project

Dec 8 2022

jcranmer-intel added a comment to D139316: ValueTracking: Teach isKnownNeverInfinity about rounding intrinsics.

Are we certain that a value that is very close to infinity won't trip over into infinity after rounding?

Dec 8 2022, 1:42 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D139608: [Clang][NFC] Add default `getBFloat16Mangling` impl.

I don't normally handle name mangling, so I can't comment too much here, but I will note that Itanium ABI is planning on using DF16b for std::bfloat16_t: https://github.com/itanium-cxx-abi/cxx-abi/pull/147

Dec 8 2022, 12:15 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D139317: ValueTracking: Teach isKnownNeverInfinity about sqrt.
Dec 8 2022, 12:08 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D139320: ValueTracking: Document some difficult isKnownNeverInfinity cases.
Dec 8 2022, 11:59 AM · Restricted Project, Restricted Project

Dec 2 2022

jcranmer-intel accepted D139112: APFloat: Simplify makeSmallestNormalized implementation.
Dec 2 2022, 2:16 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D139012: InstCombine: Fold out is_fpclass inf checks from test mask for known finite sources.
Dec 2 2022, 2:14 PM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D138180: InstCombine: Fold negations of is_fpclass intrinsics.
Dec 2 2022, 2:11 PM · Restricted Project, Restricted Project

Nov 30 2022

jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

Friendly review ping?

Nov 30 2022, 3:05 PM · Restricted Project, Restricted Project
jcranmer-intel added a comment to D139032: InstCombine: Handle folding some negated is_fpclass mask test cases.

If DAZ mode is semantically "denormals are non-canonical zero", then isfpclass(denormal, Zero) arguably should be true in DAZ mode, so lowering that to fcmp 0.0 would be legal. On the other hand, the actual lowering of an unoptimized isfpclass is likely to rely on bit patterns which would ignore the current dynamic value of DAZ. On the other other hand, there's no clear indication of what isfpclass returns for noncanonical values... and on the other other other hand, leaving the result of isfpclass as unspecified behavior for noncanonical inputs is incredibly unfriendly to users.

Nov 30 2022, 3:04 PM · Restricted Project, Restricted Project
jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Rebase on trunk.

Nov 30 2022, 2:37 PM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.
Nov 30 2022, 12:27 PM · Restricted Project, Restricted Project

Nov 21 2022

jcranmer-intel added a comment to D138331: ConstantFolding: Fix handling of canonicalize for ppc_fp128 0s.

This strikes me as correct, but I would prefer someone more expert in PowerPC specifically to comment on this.

Nov 21 2022, 8:37 AM · Restricted Project, Restricted Project

Nov 18 2022

jcranmer-intel added inline comments to D137858: ConstantFolding: Constant fold some canonicalizes.
Nov 18 2022, 12:18 PM · Restricted Project, Restricted Project

Nov 16 2022

jcranmer-intel accepted D137719: [clang] Missed rounding mode use in constant evaluation.
Nov 16 2022, 12:56 PM · Restricted Project, Restricted Project
jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Doc tweaks, name tweaks, add some verification code.

Nov 16 2022, 12:40 PM · Restricted Project, Restricted Project

Nov 14 2022

jcranmer-intel added inline comments to D137811: InstCombine: Perform basic isnan combines on llvm.is.fpclass.
Nov 14 2022, 12:22 PM · Restricted Project, Restricted Project

Nov 8 2022

jcranmer-intel added inline comments to D134859: [clang][Interp] Implement basic support for floating point values.
Nov 8 2022, 12:59 PM · Restricted Project, Restricted Project

Nov 4 2022

jcranmer-intel added inline comments to D134859: [clang][Interp] Implement basic support for floating point values.
Nov 4 2022, 1:01 PM · Restricted Project, Restricted Project

Nov 3 2022

jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Major update.

Nov 3 2022, 1:47 PM · Restricted Project, Restricted Project

Oct 28 2022

jcranmer-intel added a comment to D136861: [IR] Add LLVM IR support for target("aarch64.svcount") type..

Ah ok, that's fine then. Although from looking at D135202 it doesn't look like the design has been settled yet? I don't think we should be writing patches upon speculative changes, so unless D135202 is going to land very soon I'd prefer we continued with the traditional approach.

Oct 28 2022, 2:23 PM · Restricted Project, Restricted Project

Oct 27 2022

jcranmer-intel added inline comments to D136568: [Clang] Support constexpr builtin ilogb.
Oct 27 2022, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
jcranmer-intel committed rGa97eab7d39d4: [IR] Allow typed pointers to be used in vector types (authored by sidorovd).
[IR] Allow typed pointers to be used in vector types
Oct 27 2022, 12:26 PM · Restricted Project, Restricted Project
jcranmer-intel closed D136768: Make typed pointers to be yet again recognized as pointers.
Oct 27 2022, 12:25 PM · Restricted Project, Restricted Project
jcranmer-intel accepted D136768: Make typed pointers to be yet again recognized as pointers.
Oct 27 2022, 8:33 AM · Restricted Project, Restricted Project

Oct 26 2022

jcranmer-intel added a comment to D136768: Make typed pointers to be yet again recognized as pointers.

I'm similarly skeptical that this is the best way to go about the problem. Making typed pointers qualify under isPointerTy() potentially breaks a lot of code that assumes isPointerTy() means that it is indeed a PointerType, although this is ameliorated to some degree by the hard prohibition llvm::Value has on construction types with TypedPointerType.

Oct 26 2022, 8:46 AM · Restricted Project, Restricted Project
jcranmer-intel added inline comments to D136568: [Clang] Support constexpr builtin ilogb.
Oct 26 2022, 7:40 AM · Restricted Project, Restricted Project, Restricted Project

Oct 24 2022

jcranmer-intel added a comment to D136568: [Clang] Support constexpr builtin ilogb.

The online documentation (https://en.cppreference.com/w/cpp/numeric/math/ilogb) says:

1. If the correct result is greater than INT_MAX or smaller than INT_MIN, FE_INVALID is raised.
2. If arg is ±0, ±∞, or NaN, FE_INVALID is raised.
3. In all other cases, the result is exact (FE_INEXACT is never raised) and the current rounding mode is ignored

The first point seemingly never occur, because llvm's ilogb return type is int.
The second point is handled as expected (APFloatTest.cpp checks it)

Oct 24 2022, 2:39 PM · Restricted Project, Restricted Project, Restricted Project

Oct 18 2022

jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

I couldn't find where this has been pointed out, could you please link me to it? I don't really get why it wouldn't be feasible, given that your current proposal effectively already does it, just with a hardcoded ptr type.

Oct 18 2022, 12:30 PM · Restricted Project, Restricted Project

Oct 17 2022

jcranmer-intel updated the diff for D135202: [IR] Add a target extension type to LLVM..

Fix some of the nits.

Oct 17 2022, 8:50 AM · Restricted Project, Restricted Project

Oct 14 2022

jcranmer-intel added a comment to D135202: [IR] Add a target extension type to LLVM..

Here's a random thought: what if the types are parameterized using metadata instead of ints?

Oct 14 2022, 11:30 AM · Restricted Project, Restricted Project

Oct 12 2022

jcranmer-intel added a comment to D135446: [libcxxabi] Resync llvm & libcxxabi's demangler.

The libcxxabi copy is the canonical version, right? If so, we could add a test inside LLVM that ensures that re-syncing the files does not produce any difference in output.

Oct 12 2022, 11:21 AM · Restricted Project, Restricted Project, Restricted Project

Oct 10 2022

jcranmer-intel accepted D135493: [Clang] Support constexpr builtin fmin.
Oct 10 2022, 8:07 AM · Restricted Project, Restricted Project