Page MenuHomePhabricator

compnerd (Saleem Abdulrasool)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 9 2012, 11:41 PM (537 w, 1 d)

Recent Activity

Wed, Mar 22

compnerd committed rG16b7cf245ec0: SymbolFile: ensure that we have a value before invoking `getBitWidth` (authored by compnerd).
SymbolFile: ensure that we have a value before invoking `getBitWidth`
Wed, Mar 22, 11:14 AM · Restricted Project
compnerd closed D146536: SymbolFile: ensure that we have a value before invoking `getBitWidth`.
Wed, Mar 22, 11:14 AM · Restricted Project, Restricted Project
compnerd committed rG893ce5759fe2: docs: add some documentation on Windows SDK search (authored by compnerd).
docs: add some documentation on Windows SDK search
Wed, Mar 22, 6:47 AM · Restricted Project, Restricted Project
compnerd closed D146165: docs: add some documentation on Windows SDK search.
Wed, Mar 22, 6:46 AM · Restricted Project, Restricted Project
compnerd updated the diff for D146536: SymbolFile: ensure that we have a value before invoking `getBitWidth`.

Address feedback

Wed, Mar 22, 6:01 AM · Restricted Project, Restricted Project
compnerd added a comment to D146536: SymbolFile: ensure that we have a value before invoking `getBitWidth`.

Thanks for tackling this! Yes, I hit it as well during development and wondered what is the right thing to do. The effect of the proposed change will be log messages like this right?

... which resolves to a constant value of mismatched width (-1 bits). Ignoring constant.
Wed, Mar 22, 5:35 AM · Restricted Project, Restricted Project

Tue, Mar 21

compnerd requested review of D146536: SymbolFile: ensure that we have a value before invoking `getBitWidth`.
Tue, Mar 21, 9:08 AM · Restricted Project, Restricted Project
compnerd updated the diff for D146165: docs: add some documentation on Windows SDK search.

Update to include additional behaviour and reference INCLUDE and LIB.

Tue, Mar 21, 7:46 AM · Restricted Project, Restricted Project

Mon, Mar 20

compnerd added inline comments to D146165: docs: add some documentation on Windows SDK search.
Mon, Mar 20, 5:05 PM · Restricted Project, Restricted Project
compnerd added a comment to D146165: docs: add some documentation on Windows SDK search.

Looks reasonable I guess - but I think it would be good to mention the env variables INCLUDE and LIB too, for alternative ways of finding the same things - even if it's not strictly the same as what this new section talks about.

Mon, Mar 20, 7:12 AM · Restricted Project, Restricted Project

Wed, Mar 15

compnerd requested review of D146165: docs: add some documentation on Windows SDK search.
Wed, Mar 15, 1:17 PM · Restricted Project, Restricted Project

Tue, Mar 14

compnerd accepted D145474: [RISCV][MC] Adjust conditions to emit R_RISCV_ADD*/R_RISCV_SUB* pairs.

Yeah, I think that we will have to slowly erode the differences, the model for the pair-wise relocations here is a challenge.

Tue, Mar 14, 8:43 AM · Restricted Project, Restricted Project

Mon, Mar 13

compnerd committed rGaf5f46822847: MSVC: support version preference with search (authored by compnerd).
MSVC: support version preference with search
Mon, Mar 13, 9:26 AM · Restricted Project, Restricted Project, Restricted Project
compnerd closed D145517: MSVC: support version preference with search.
Mon, Mar 13, 9:25 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Mar 9

compnerd added a comment to D145517: MSVC: support version preference with search.

Sure thing, I can try to write up some details about that @hans!

Thu, Mar 9, 9:46 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Mar 8

compnerd added inline comments to D145474: [RISCV][MC] Adjust conditions to emit R_RISCV_ADD*/R_RISCV_SUB* pairs.
Wed, Mar 8, 7:53 AM · Restricted Project, Restricted Project

Tue, Mar 7

compnerd requested review of D145517: MSVC: support version preference with search.
Tue, Mar 7, 10:14 AM · Restricted Project, Restricted Project, Restricted Project
compnerd committed rGf1440bf6fd22: Driver: introduce GNU spellings to control MSVC paths (authored by compnerd).
Driver: introduce GNU spellings to control MSVC paths
Tue, Mar 7, 8:42 AM · Restricted Project, Restricted Project
compnerd closed D145007: Driver: introduce GNU spellings to control MSVC paths.
Tue, Mar 7, 8:42 AM · Restricted Project, Restricted Project
compnerd added inline comments to D145474: [RISCV][MC] Adjust conditions to emit R_RISCV_ADD*/R_RISCV_SUB* pairs.
Tue, Mar 7, 7:30 AM · Restricted Project, Restricted Project
compnerd accepted D145492: [libcxxabi][Demangle] Don't drop ctor/dtor name for abi-tagged structures.
Tue, Mar 7, 7:22 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Mar 6

compnerd added a comment to D145007: Driver: introduce GNU spellings to control MSVC paths.

Just a friendly reminder, I'd like to get this merged to do a follow up change to improve some of the usability of these flags.

Mon, Mar 6, 1:37 PM · Restricted Project, Restricted Project

Wed, Mar 1

compnerd added a comment to D145007: Driver: introduce GNU spellings to control MSVC paths.

Yeah, I suspect that would be difficult. Additionally, these are aliases, so they should already have testing coverage through the existing tests.

Wed, Mar 1, 7:28 AM · Restricted Project, Restricted Project

Tue, Feb 28

compnerd accepted D145003: [builtins] Add option to always build int128 routines.
Tue, Feb 28, 3:06 PM · Restricted Project, Restricted Project
compnerd requested review of D145007: Driver: introduce GNU spellings to control MSVC paths.
Tue, Feb 28, 2:24 PM · Restricted Project, Restricted Project
compnerd added inline comments to D141053: [SwiftError] Use IMPLICIT_DEF as a definition for unreachable VReg uses.
Tue, Feb 28, 10:30 AM · Restricted Project, Restricted Project

Feb 16 2023

compnerd accepted D144178: [CMake] Enforce LLVM_ENABLE_UNWIND_TABLES .

We do have other examples of ternary state options., and making this ternary for the sake of compatibility is an intriguing idea. However, I also ascribe to POLA/POLS. Mapping LLVM_ENABLE_UNWIND_TABLES to -funwind-tables seems pretty reasonable to me. The only time that you would want to disable these is if it is an embedded context where you do not care about debugging or crash analytics, where you should pretty quickly see the size impact. If this plays out to be a problem to be enabled by default we can always revisit the ternary state.

Feb 16 2023, 7:35 AM · Restricted Project, Restricted Project

Feb 3 2023

compnerd updated the summary of D143285: X86: completely refactor `X86FrameLowering::emitPrologue`.
Feb 3 2023, 10:21 AM · Restricted Project, Restricted Project
compnerd requested review of D143285: X86: completely refactor `X86FrameLowering::emitPrologue`.
Feb 3 2023, 10:18 AM · Restricted Project, Restricted Project

Jan 5 2023

compnerd committed rG179d24d764ac: Parse: handle another case of invalid handling for attributes (authored by compnerd).
Parse: handle another case of invalid handling for attributes
Jan 5 2023, 12:54 PM · Restricted Project, Restricted Project
compnerd closed D140507: Parse: handle another case of invalid handling for attributes.
Jan 5 2023, 12:54 PM · Restricted Project, Restricted Project
compnerd added a comment to D140507: Parse: handle another case of invalid handling for attributes.

I think that the current release note should be sufficient. This is handling the same scenario in a different path.

Jan 5 2023, 10:07 AM · Restricted Project, Restricted Project
compnerd added inline comments to D141053: [SwiftError] Use IMPLICIT_DEF as a definition for unreachable VReg uses.
Jan 5 2023, 10:05 AM · Restricted Project, Restricted Project

Jan 4 2023

compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

Use getSignificantBits

Jan 4 2023, 8:11 AM · Restricted Project, Restricted Project

Jan 3 2023

compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Jan 3 2023, 11:11 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Jan 3 2023, 10:26 AM · Restricted Project, Restricted Project

Dec 23 2022

compnerd accepted D138477: MC: Add .data. and .rodata. prefixes to MCContext section classification.
Dec 23 2022, 10:35 AM · Restricted Project, Restricted Project

Dec 22 2022

compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 22 2022, 10:39 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 22 2022, 9:22 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 22 2022, 8:01 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 22 2022, 7:30 AM · Restricted Project, Restricted Project

Dec 21 2022

compnerd requested review of D140507: Parse: handle another case of invalid handling for attributes.
Dec 21 2022, 3:09 PM · Restricted Project, Restricted Project
compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 21 2022, 1:48 PM · Restricted Project, Restricted Project
compnerd retitled D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE from TargetLowering: Teach DemandedBits about VSCALE to SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 21 2022, 1:45 PM · Restricted Project, Restricted Project
compnerd committed rG6c3a2902f1f8: Headers: further refine the `stdatomic.h` MSVC inclusion (authored by compnerd).
Headers: further refine the `stdatomic.h` MSVC inclusion
Dec 21 2022, 11:09 AM · Restricted Project, Restricted Project
compnerd added a comment to D139266: Headers: tweak inclusion condition for stdatomic.h.

@thakis and https://github.com/llvm/llvm-project/issues/59640

Dec 21 2022, 7:28 AM · Restricted Project, Restricted Project

Dec 20 2022

compnerd added a comment to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

There is as trySextValue in APInt: https://reviews.llvm.org/D139683. Maybe you need a tryMul.

Dec 20 2022, 1:41 PM · Restricted Project, Restricted Project
compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

Further reduce the test case. We create the splat and shuffle, offset it by vlenb and return the generated splat. This reduces down to the minimal assembly sequence that would exhibit the issue. If we were to accidentally truncate the scale, we would drop the read of vlenb and the adjustment for the shuffle.

Dec 20 2022, 1:21 PM · Restricted Project, Restricted Project
compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

Further reduce test case by creating a hand written synthetic test case. We can get away with a 2-iteration unrolled loop avoiding any phi branches. The previous overflow would improperly remove the increment in between the two iterations.

Dec 20 2022, 11:11 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 20 2022, 11:08 AM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 20 2022, 9:57 AM · Restricted Project, Restricted Project
compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

Partially address feedback from Craig, address feedback from Jessica.

Dec 20 2022, 8:58 AM · Restricted Project, Restricted Project
compnerd added a comment to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.

BTW, why is this in SimplifyDemandedBits instead of computeKnownBits? It doesn't use the DemandedBits.

Dec 20 2022, 8:57 AM · Restricted Project, Restricted Project

Dec 19 2022

compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 19 2022, 3:06 PM · Restricted Project, Restricted Project
compnerd added inline comments to D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 19 2022, 3:04 PM · Restricted Project, Restricted Project
compnerd added a reviewer for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE: benmxwl-arm.
Dec 19 2022, 2:36 PM · Restricted Project, Restricted Project
compnerd updated the diff for D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 19 2022, 2:26 PM · Restricted Project, Restricted Project
compnerd added a reverting change for rG9b92f70d4758: Revert "Reland "[TargetLowering] Teach DemandedBits about VSCALE"": D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 19 2022, 1:28 PM · Restricted Project, Restricted Project
compnerd requested review of D140347: SelectionDAG: Teach ComputeKnownBits about VSCALE.
Dec 19 2022, 1:27 PM · Restricted Project, Restricted Project
compnerd added a comment to D138508: [TargetLowering] Teach DemandedBits about VSCALE.

Given the UB and potential miscompile, reverted in 9b92f70d4758f75903ce93feaba5098130820d40.

Dec 19 2022, 10:53 AM · Restricted Project, Restricted Project
compnerd added a reverting change for rG3010f60381bc: Reland "[TargetLowering] Teach DemandedBits about VSCALE": rG9b92f70d4758: Revert "Reland "[TargetLowering] Teach DemandedBits about VSCALE"".
Dec 19 2022, 10:53 AM · Restricted Project, Restricted Project
compnerd committed rG9b92f70d4758: Revert "Reland "[TargetLowering] Teach DemandedBits about VSCALE"" (authored by compnerd).
Revert "Reland "[TargetLowering] Teach DemandedBits about VSCALE""
Dec 19 2022, 10:53 AM · Restricted Project, Restricted Project
compnerd added a reverting change for D138508: [TargetLowering] Teach DemandedBits about VSCALE: rG9b92f70d4758: Revert "Reland "[TargetLowering] Teach DemandedBits about VSCALE"".
Dec 19 2022, 10:53 AM · Restricted Project, Restricted Project
compnerd added a comment to D138508: [TargetLowering] Teach DemandedBits about VSCALE.

I'm seeing a potential miscompilation on RISCV64 with this particular change: https://github.com/llvm/llvm-project/issues/59594

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

Dec 15 2022

compnerd committed rGe0c3142af075: Headers: tweak inclusion condition for stdatomic.h (authored by compnerd).
Headers: tweak inclusion condition for stdatomic.h
Dec 15 2022, 1:51 PM · Restricted Project, Restricted Project
compnerd closed D139266: Headers: tweak inclusion condition for stdatomic.h.
Dec 15 2022, 1:51 PM · Restricted Project, Restricted Project
compnerd added a comment to D139749: Headers: use C++ inline semantics in C++ mode.

Thanks @fsb4000 (and @CaseyCarter)! I think that due to the shipped version, it makes sense to do this still. Using standard semantics in general I think is preferable, since nothing prevents another compiler implementation to still do something similar.

Dec 15 2022, 8:50 AM · Restricted Project, Restricted Project

Dec 14 2022

compnerd requested review of D139749: Headers: use C++ inline semantics in C++ mode.
Dec 14 2022, 9:40 PM · Restricted Project, Restricted Project
compnerd updated the diff for D139749: Headers: use C++ inline semantics in C++ mode.
Dec 14 2022, 9:40 PM · Restricted Project, Restricted Project
compnerd added a comment to D139749: Headers: use C++ inline semantics in C++ mode.

Seems that this alone is insufficient as some build does run into issues, so I may need to refine this further.

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

Dec 13 2022

compnerd updated subscribers of D139749: Headers: use C++ inline semantics in C++ mode.
Dec 13 2022, 7:35 AM · Restricted Project, Restricted Project
compnerd updated subscribers of D139749: Headers: use C++ inline semantics in C++ mode.

@fsb4000 is my reading correct that MSVC will look into trying to handle static inline even though it is a GNUism? I wonder if we should consider limiting the use of static inline to C mode rather than including C++. I also wonder if I can loosen it similarly to avoid the issue I'm running into (which @STL_MSFT correctly identified - modules).

Dec 13 2022, 7:35 AM · Restricted Project, Restricted Project

Dec 11 2022

compnerd updated the summary of D139749: Headers: use C++ inline semantics in C++ mode.
Dec 11 2022, 7:34 PM · Restricted Project, Restricted Project
compnerd accepted D139585: [compiler-rt][builtins] Do not use ldrexd or strexd on ARMv6.

Thanks! This looks good. Personally, I'd use 0x8 instead of 8, which might make it more obvious that this is intentional (and that it is a bitmask).

Dec 11 2022, 5:07 PM · Restricted Project, Restricted Project

Dec 9 2022

compnerd added a comment to D138477: MC: Add .data. and .rodata. prefixes to MCContext section classification.

Could you please also add a test case for .rodata.suffix as that is added as a case as well.

Dec 9 2022, 7:24 PM · Restricted Project, Restricted Project
compnerd added a comment to D139585: [compiler-rt][builtins] Do not use ldrexd or strexd on ARMv6.

No, __ARM_ARCH_6__ is only defined on base ARMv6. __ARM_ARCH_6K__ is defined instead on ARMv6K. I can't find this clearly documented anywhere, but I have confirmed this behavior through experimentation with GCC and by examination with clang (see implementation here)

On the other hand, there is the __ARM_FEATURE_LDREX macro, which provides the exact functionality we want here. The only problem is that it is deprecated in the ARM C Language Extensions specification, although it is still defined even in the latest versions of the ACLE. This macro was not used in https://reviews.llvm.org/D5490 in part because it was deprecated, but mostly because clang did not implement it at the time.

What do you think about using that macro instead, despite the deprecation?

Dec 9 2022, 4:56 PM · Restricted Project, Restricted Project
compnerd requested review of D139749: Headers: use C++ inline semantics in C++ mode.
Dec 9 2022, 4:38 PM · Restricted Project, Restricted Project
compnerd added inline comments to D137337: Replace LLVM_LIBDIR_SUFFIX by CMAKE_INSTALL_LIBDIR.
Dec 9 2022, 11:21 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
compnerd added a comment to D139585: [compiler-rt][builtins] Do not use ldrexd or strexd on ARMv6.

That's not quite right though, since that excludes ARMv6K and ARMv6Z (which is a superset of ARMv6K). The only ARMv6 variant that doesn't support these instructions is base ARMv6 (and technically ARMv6J, but LLVM doesn't appear to consider that as a separate target). __ARM_ARCH_6__ is defined only when targeting base ARMv6, not any of the other variants.

According to https://reviews.llvm.org/D95891, these instruction are not supported in ARMv8-M either, so we don't want to use __ARM_ARCH > 7.

Dec 9 2022, 9:07 AM · Restricted Project, Restricted Project
compnerd closed D138514: Sema: diagnose PMFs passed through registers to inline assembly.
Dec 9 2022, 9:03 AM · Restricted Project, Restricted Project
compnerd accepted D138514: Sema: diagnose PMFs passed through registers to inline assembly.

(Accepting Revision for Closing)
I missed the trailing number of the differential revision, and it failed to tie it to this. The commit is at https://github.com/llvm/llvm-project/commit/707cc06e1570b5966efcd6a9124191c80fa7a754
@rnk is going to be out for a while, so any concerns can be addressed in a follow up.

Dec 9 2022, 9:03 AM · Restricted Project, Restricted Project
compnerd committed rG707cc06e1570: Sema: diagnose PMFs passed through registers to inline assembly (authored by compnerd).
Sema: diagnose PMFs passed through registers to inline assembly
Dec 9 2022, 8:59 AM · Restricted Project, Restricted Project
Herald added projects to D13851: [X86][XOP] Add support for lowering vector rotations: Restricted Project, Restricted Project.
Dec 9 2022, 8:59 AM · Restricted Project, Restricted Project

Dec 8 2022

compnerd added inline comments to D137337: Replace LLVM_LIBDIR_SUFFIX by CMAKE_INSTALL_LIBDIR.
Dec 8 2022, 11:15 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
compnerd added a comment to D139585: [compiler-rt][builtins] Do not use ldrexd or strexd on ARMv6.

Might be useful to add a reference to https://developer.arm.com/documentation/dht0008/a/ch01s02s01 in the commit message.

Dec 8 2022, 10:52 AM · Restricted Project, Restricted Project
compnerd added inline comments to D138166: [compiler-rt][builtins] Add AVR __udivmodsi4 and __divmodsi4.
Dec 8 2022, 10:38 AM · Restricted Project, Restricted Project
compnerd accepted D137128: [libc++][Android] Include cstdlib to define __BIONIC__.

Seems like a straightforward change for the tests to repair them on Android.

Dec 8 2022, 10:30 AM · Restricted Project, Restricted Project
compnerd added inline comments to D139493: [libc++abi] Optionally move __cxa_demangle into libc++demangle.a.
Dec 8 2022, 10:28 AM · Restricted Project, Restricted Project
compnerd requested changes to D138951: Move several exception derived classes to c++abi library.
Dec 8 2022, 10:26 AM · Restricted Project, Restricted Project, Restricted Project

Dec 6 2022

compnerd accepted D139368: [libunwind] Use .irp directives. NFC.

This is definitely a nice cleanup. There is a way to use .irp to have it count, but this is fine for now.

Dec 6 2022, 9:50 AM · Restricted Project, Restricted Project, Restricted Project
compnerd updated the diff for D139266: Headers: tweak inclusion condition for stdatomic.h.

Update to avoid use of the -0 trick.

Dec 6 2022, 9:45 AM · Restricted Project, Restricted Project
compnerd added inline comments to D139266: Headers: tweak inclusion condition for stdatomic.h.
Dec 6 2022, 9:34 AM · Restricted Project, Restricted Project
compnerd updated the diff for D138514: Sema: diagnose PMFs passed through registers to inline assembly.

Add a test case for member data.

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

Dec 3 2022

compnerd requested review of D139266: Headers: tweak inclusion condition for stdatomic.h.
Dec 3 2022, 7:02 PM · Restricted Project, Restricted Project

Dec 2 2022

compnerd added inline comments to D138514: Sema: diagnose PMFs passed through registers to inline assembly.
Dec 2 2022, 3:03 PM · Restricted Project, Restricted Project
compnerd updated the diff for D138514: Sema: diagnose PMFs passed through registers to inline assembly.

Address feedback from review

Dec 2 2022, 2:58 PM · Restricted Project, Restricted Project
compnerd added inline comments to D138514: Sema: diagnose PMFs passed through registers to inline assembly.
Dec 2 2022, 12:36 PM · Restricted Project, Restricted Project
compnerd added inline comments to D138514: Sema: diagnose PMFs passed through registers to inline assembly.
Dec 2 2022, 10:14 AM · Restricted Project, Restricted Project

Nov 23 2022

compnerd accepted D138463: [windows-itanium] Propagate DLL storage class to Initialisation Guard Variables.
Nov 23 2022, 7:44 AM · Restricted Project, Restricted Project

Nov 22 2022

compnerd requested review of D138514: Sema: diagnose PMFs passed through registers to inline assembly.
Nov 22 2022, 10:55 AM · Restricted Project, Restricted Project