Page MenuHomePhabricator

ab (Ahmed Bougacha)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 15 2014, 9:44 AM (402 w, 6 d)

Recent Activity

Thu, Jun 9

ab added a comment to D126505: [AArch64][SVE] Don't crash on pre-legalized types in extload combine..

Yep, committed c68b469e0788, thanks!

Thu, Jun 9, 10:33 AM · Restricted Project, Restricted Project
ab committed rGc68b469e0788: [AArch64][SVE] Don't crash on pre-legalizer types in extload combine. (authored by ab).
[AArch64][SVE] Don't crash on pre-legalizer types in extload combine.
Thu, Jun 9, 10:33 AM · Restricted Project, Restricted Project
ab closed D126505: [AArch64][SVE] Don't crash on pre-legalized types in extload combine..
Thu, Jun 9, 10:33 AM · Restricted Project, Restricted Project

May 26 2022

ab requested review of D126505: [AArch64][SVE] Don't crash on pre-legalized types in extload combine..
May 26 2022, 3:06 PM · Restricted Project, Restricted Project

May 20 2022

ab committed rG362b4066f0c6: [ObjCARC] Drop nullary clang.arc.attachedcall bundles in autoupgrade. (authored by ab).
[ObjCARC] Drop nullary clang.arc.attachedcall bundles in autoupgrade.
May 20 2022, 3:28 PM · Restricted Project, Restricted Project
ab closed D123811: [ObjCARC] Drop nullary clang.arc.attachedcall bundles in autoupgrade..
May 20 2022, 3:27 PM · Restricted Project, Restricted Project

May 11 2022

Herald added a project to D119432: [FastISel] Reuse register for bitcast that does not change MVT: Restricted Project.

Hi @nikic, I may have hit an issue with this change: when the noop-bitcast result is already used in other (potentially already selected) blocks, we already assigned a vreg for the value, and it may be too late to change it when selecting this bitcast. Concretely, this repro fails for x86_64 with -verify-machineinstrs, because the second use of %tmp1 uses a never-defined vreg:

May 11 2022, 12:44 PM · Restricted Project, Restricted Project

Apr 20 2022

ab accepted D119137: Replace Steve Klabnik with Josh Stone as one of the Rust Security Response WG representatives.
Apr 20 2022, 10:50 AM · Restricted Project, Restricted Project

Apr 14 2022

ab requested review of D123811: [ObjCARC] Drop nullary clang.arc.attachedcall bundles in autoupgrade..
Apr 14 2022, 12:28 PM · Restricted Project, Restricted Project
ab added a comment to D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..

Sure, filed 54914 to cherry-pick into 14.0.2

Apr 14 2022, 11:09 AM · Restricted Project, Restricted Project

Apr 12 2022

ab added a comment to D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..

D'oh, this fell through the cracks, sorry folks! I committed the fix I had in mind (cfa4fe7c5187). Long story short: this change exposed an old bug in the LOH pass: it wasn't honoring regmasks in bundled MIs, but since we used to split the bundle and emit the attached call separately, the (unbundled) latter was still visible to the pass. That's not true as of this change. I think for the sort of code that uses bundles on aarch64 it's usually selectors that get corrupted in a later msgSend, and that ends up exploding in dyld the way we're seeing in both cases.

Apr 12 2022, 10:41 AM · Restricted Project, Restricted Project
ab committed rGcfa4fe7c5187: [AArch64][LOH] Don't ignore regmasks in bundles by iterating over instrs. (authored by ab).
[AArch64][LOH] Don't ignore regmasks in bundles by iterating over instrs.
Apr 12 2022, 10:35 AM · Restricted Project, Restricted Project
ab committed rGf3e76dcae3dc: [AArch64] Cleanup call-rv-marker.ll test. NFC. (authored by ab).
[AArch64] Cleanup call-rv-marker.ll test. NFC.
Apr 12 2022, 10:35 AM · Restricted Project, Restricted Project

Mar 23 2022

ab accepted D119788: [AArch64] Add support for -march=native for Apple M1 CPU.

Reading this again, I have a feeling defaulting to newest will come back to bite us (or, well, apple folks.) But we can reevaluate if we get to that. So, LGTM, thanks!

Mar 23 2022, 1:11 PM · Restricted Project, Restricted Project, Restricted Project
ab accepted D122274: [AArch64] Fix AArch64TargetParser.def to match AArch64.td..

The apple-* bits LGTM, thanks! @pcc caught a couple more in rGa8a3a43792, I still need to go over those as well

Mar 23 2022, 1:04 PM · Restricted Project, Restricted Project
ab added a comment to D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..

Ah, further down, there's a different crash signature in bisect6.txt, in dyld strlen: that one does ring a bell. I assume it's handling a corrupt selector, but there's not much context to know for sure. I have a later change that may take care of that, hopefully that resolves your original crash as well!

Mar 23 2022, 12:06 PM · Restricted Project, Restricted Project
ab added a comment to D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..

@ab We started seeing crashes in Flutter Engine on iOS after the latest Clang roll. We did a bisect and found this change to be a culprit, see https://github.com/flutter/flutter/issues/99488 for more details. Would it be possible to take a look?

Mar 23 2022, 11:55 AM · Restricted Project, Restricted Project

Mar 9 2022

ab committed rG89c94c242c7d: [clang][Driver] Get darwin -Xarch_ working for subtypes, again. (authored by ab).
[clang][Driver] Get darwin -Xarch_ working for subtypes, again.
Mar 9 2022, 6:23 PM · Restricted Project

Mar 7 2022

ab added a comment to D119594: [sancov] Don't instrument calls to bitcast funcs: they're not indirect..

Thanks!

Mar 7 2022, 12:44 PM · Restricted Project, Restricted Project
ab committed rG1067f2177aa6: [sancov] Don't instrument calls to bitcast funcs: they're not indirect. (authored by ab).
[sancov] Don't instrument calls to bitcast funcs: they're not indirect.
Mar 7 2022, 12:44 PM · Restricted Project
ab closed D119594: [sancov] Don't instrument calls to bitcast funcs: they're not indirect..
Mar 7 2022, 12:44 PM · Restricted Project, Restricted Project

Mar 2 2022

ab added a comment to D120455: [CommandLine] Remove `may only occur zero or one times!` error.

I don't have a strong opinion; IMO -mllvm options shouldn't get used (except by compiler developers) since they're unstable, although I'm sure they get used a little anyway. IMO, if this makes it easier for the intended users (compiler developers) then there isn't a real downside to it.

@ab @t.p.northover @Gerolf , any thoughts from you?

Mar 2 2022, 1:43 PM · Restricted Project, Restricted Project, Restricted Project

Feb 18 2022

ab added inline comments to rGa8a3a4379247: [AArch64] Add apple-m1 CPU, and default to it for macOS..
Feb 18 2022, 7:36 PM
ab added a comment to D119788: [AArch64] Add support for -march=native for Apple M1 CPU.

Thanks for the tips! I left the default as generic here, but I totally take your point on defaulting to the newest and I'm happy to update if you feel strongly, lmk what you think

Feb 18 2022, 3:04 PM · Restricted Project, Restricted Project, Restricted Project
ab committed rGdeb73a285b92: [AArch64][GlobalISel] Constrain the right MOs when lowering calls. (authored by ab).
[AArch64][GlobalISel] Constrain the right MOs when lowering calls.
Feb 18 2022, 1:53 PM
ab closed D120161: [AArch64][GlobalISel] Constrain the right MOs when lowering calls..
Feb 18 2022, 1:53 PM · Restricted Project
ab requested review of D120161: [AArch64][GlobalISel] Constrain the right MOs when lowering calls..
Feb 18 2022, 1:16 PM · Restricted Project

Feb 14 2022

ab added a comment to D113685: [IR] Define "ptrauth" operand bundle..

I committed a modified description, happy to make more changes:

Feb 14 2022, 11:37 AM · Restricted Project
ab committed rGc703f852c9dc: [IR] Define "ptrauth" operand bundle. (authored by ab).
[IR] Define "ptrauth" operand bundle.
Feb 14 2022, 11:28 AM
ab closed D113685: [IR] Define "ptrauth" operand bundle..
Feb 14 2022, 11:27 AM · Restricted Project

Feb 11 2022

ab accepted D119572: Add virtual mem size when setting RSS limit on Apple platforms..
Feb 11 2022, 3:07 PM
ab added inline comments to D119572: Add virtual mem size when setting RSS limit on Apple platforms..
Feb 11 2022, 2:50 PM
ab requested review of D119594: [sancov] Don't instrument calls to bitcast funcs: they're not indirect..
Feb 11 2022, 2:06 PM · Restricted Project, Restricted Project

Feb 8 2022

ab committed rGca9f0ec1a30b: [clang] Document objc_unsafeClaimAutoreleasedReturnValue. (authored by ab).
[clang] Document objc_unsafeClaimAutoreleasedReturnValue.
Feb 8 2022, 2:31 PM
ab committed rG6ba68a5fc342: [clang][Driver] Use a VersionTuple for darwin linker version checks. (authored by ab).
[clang][Driver] Use a VersionTuple for darwin linker version checks.
Feb 8 2022, 2:30 PM

Jan 28 2022

ab committed rG634ca7349d4a: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle. (authored by ab).
[ObjCARC] Require the function argument in the clang.arc.attachedcall bundle.
Jan 28 2022, 12:42 PM
ab closed D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..
Jan 28 2022, 12:42 PM · Restricted Project, Restricted Project
ab added a comment to D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..

Are there any users who need the changes in autoupgrade? clang.arc.attachedcall bundles without operands are emitted only after ARC contract (ARC optimizer does't remove the operand), so it seems safe not to upgrade the IR.

Jan 28 2022, 11:49 AM · Restricted Project, Restricted Project

Jan 26 2022

ab committed rGecb502342cf2: [ObjC] Emit selector load right before msgSend call. (authored by ab).
[ObjC] Emit selector load right before msgSend call.
Jan 26 2022, 8:53 PM

Jan 25 2022

ab updated the summary of D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..
Jan 25 2022, 9:01 PM · Restricted Project, Restricted Project
ab requested review of D118214: [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle..
Jan 25 2022, 9:00 PM · Restricted Project, Restricted Project

Jan 24 2022

ab committed rGe7298464c5d0: [ObjCARC] Use "UnsafeClaimRV" to refer to unsafeClaim in enums. NFC. (authored by ab).
[ObjCARC] Use "UnsafeClaimRV" to refer to unsafeClaim in enums. NFC.
Jan 24 2022, 7:37 PM
ab committed rG03e9ba274072: [ObjCARC] Remove unused RetainRVDep dependency kind. NFC. (authored by ab).
[ObjCARC] Remove unused RetainRVDep dependency kind. NFC.
Jan 24 2022, 7:37 PM
ab accepted D117782: [AArch64] Removing redundant PAuth flag.

Same, makes sense, thanks!

Jan 24 2022, 5:18 PM · Restricted Project

Jan 18 2022

ab added inline comments to D105169: [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default.
Jan 18 2022, 2:02 PM · Restricted Project

Dec 13 2021

ab accepted D114906: [MemoryLocation] Handle memset_pattern{4,8,16} in getForDest..
Dec 13 2021, 12:37 PM · Restricted Project

Dec 8 2021

ab accepted D114905: [MemoryLocation] Support memset_pattern{4,8} in getForArgument..
Dec 8 2021, 10:23 AM · Restricted Project

Dec 1 2021

ab accepted D114883: [BuildLibCalls] Add support for memset_pattern{4,8}..

Quite the old TODO, nice ;) LGTM!

Dec 1 2021, 10:24 AM · Restricted Project
ab accepted D114881: [TLI] Add memset_pattern4, memset_pattern8 lib functions..

Makes sense, LGTM!

Dec 1 2021, 10:22 AM · Restricted Project

Nov 18 2021

ab committed rGe3a7f0e2f9ab: [AArch64][PAC] Select llvm.ptrauth.sign/sign.generic to PAC*. (authored by ab).
[AArch64][PAC] Select llvm.ptrauth.sign/sign.generic to PAC*.
Nov 18 2021, 3:22 PM
ab closed D91087: [AArch64] Select PAC/PACGA for ptrauth.sign/sign_generic..
Nov 18 2021, 3:22 PM · Restricted Project

Nov 14 2021

ab added a comment to D90868: [IR] Define @llvm.ptrauth intrinsics..

Thanks all for the reviews! 68854f4e572a

Nov 14 2021, 8:06 AM · Restricted Project
ab committed rG68854f4e572a: [IR] Define ptrauth intrinsics. (authored by ab).
[IR] Define ptrauth intrinsics.
Nov 14 2021, 8:06 AM
ab closed D90868: [IR] Define @llvm.ptrauth intrinsics..
Nov 14 2021, 8:05 AM · Restricted Project

Nov 11 2021

ab requested review of D113685: [IR] Define "ptrauth" operand bundle..
Nov 11 2021, 9:08 AM · Restricted Project
ab added a comment to D90868: [IR] Define @llvm.ptrauth intrinsics..

Hey folks! Any more comments?

Nov 11 2021, 9:01 AM · Restricted Project

Nov 8 2021

ab added inline comments to D112941: [clang] Add support for the new pointer authentication builtins..
Nov 8 2021, 1:41 PM · Restricted Project

Nov 4 2021

ab added a comment to D91087: [AArch64] Select PAC/PACGA for ptrauth.sign/sign_generic..

I wonder if we could have these tests be generic for aarch64 target.
These intrinsics implementation don't have anything dependent on Apple ABI.

Nov 4 2021, 11:35 AM · Restricted Project
ab added a comment to D112941: [clang] Add support for the new pointer authentication builtins..

The original ptrauth.h has the same comment style. Would doxygen style be an improvement?

Nov 4 2021, 11:31 AM · Restricted Project
ab updated the diff for D112941: [clang] Add support for the new pointer authentication builtins..
Nov 4 2021, 11:29 AM · Restricted Project
ab updated the diff for D112941: [clang] Add support for the new pointer authentication builtins..

Simplify err_ptrauth_disabled diagnostic, rebase.

Nov 4 2021, 11:28 AM · Restricted Project

Nov 1 2021

ab requested review of D112941: [clang] Add support for the new pointer authentication builtins..
Nov 1 2021, 11:12 AM · Restricted Project
ab added a comment to D90868: [IR] Define @llvm.ptrauth intrinsics..

Shouldn't we add a reference for the AArch64 PAuth ELF ABI document: https://github.com/ARM-software/abi-aa/tree/main/pauthabielf64
I only see reference to Darwin arm64e ABI documentation.

Nov 1 2021, 10:26 AM · Restricted Project
ab updated the diff for D90868: [IR] Define @llvm.ptrauth intrinsics..

Link to ELF PAuth ABI Extension. Refer to ISA extension as "PAuth" (and clarify relationship with "Armv8.3-a" and "Pointer Authentication Code")

Nov 1 2021, 10:13 AM · Restricted Project

Oct 28 2021

ab committed rGbef777206ef9: [AArch64] Rename some timm predicates for consistency. NFC. (authored by ab).
[AArch64] Rename some timm predicates for consistency. NFC.
Oct 28 2021, 11:44 AM

Oct 25 2021

ab added inline comments to D90868: [IR] Define @llvm.ptrauth intrinsics..
Oct 25 2021, 2:41 PM · Restricted Project
ab updated the diff for D90868: [IR] Define @llvm.ptrauth intrinsics..

Rebased; updated docs following Pablo's comments.

Oct 25 2021, 2:06 PM · Restricted Project

Oct 11 2021

ab committed rGc30a52852ba5: [Driver] Re-enable aarch64-cpus.c test for arm64-apple. (authored by ab).
[Driver] Re-enable aarch64-cpus.c test for arm64-apple.
Oct 11 2021, 6:53 PM

Sep 15 2021

ab committed rGe159d3cbfc25: [AArch64][GlobalISel] Use MI::getIntrinsicID in more spots. NFC. (authored by ab).
[AArch64][GlobalISel] Use MI::getIntrinsicID in more spots. NFC.
Sep 15 2021, 4:46 PM
ab committed rG94a2f9cdb6f9: [GlobalISel] Fix CombinerHelper::isPredecessor for same def/use MI. (authored by ab).
[GlobalISel] Fix CombinerHelper::isPredecessor for same def/use MI.
Sep 15 2021, 4:46 PM

Aug 17 2021

ab accepted D106906: [Nomination] Adding an Nvidia representative to security group.
Aug 17 2021, 10:18 AM · Restricted Project

Jul 26 2021

ab added a comment to D90868: [IR] Define @llvm.ptrauth intrinsics..

Thanks all so far! Any other suggestions or comments?

Jul 26 2021, 8:46 AM · Restricted Project
ab updated the diff for D90868: [IR] Define @llvm.ptrauth intrinsics..

Rebase; describe auth/resign as side-effect-free (matching IntrNoMem) and mention they can be eliminated.

Jul 26 2021, 8:42 AM · Restricted Project

May 25 2021

ab updated the diff for D90868: [IR] Define @llvm.ptrauth intrinsics..
May 25 2021, 2:40 PM · Restricted Project
ab added a comment to D90868: [IR] Define @llvm.ptrauth intrinsics..

Rewrote a good chunk of the document following reviews, responded inline to some. Thanks all for the comments!

May 25 2021, 2:40 PM · Restricted Project

May 19 2021

ab added a comment to D100873: [docs] Describe reporting security issues on the chromium tracker..

Thanks all, now landed! I still need to find some time to rewrite the bits about the mailing lists and mention ours.

May 19 2021, 3:24 PM · Restricted Project
ab committed rGc9dbaa4c86d2: [docs] Describe reporting security issues on the chromium tracker. (authored by ab).
[docs] Describe reporting security issues on the chromium tracker.
May 19 2021, 3:23 PM
ab closed D100873: [docs] Describe reporting security issues on the chromium tracker..
May 19 2021, 3:22 PM · Restricted Project

May 17 2021

ab updated the diff for D91087: [AArch64] Select PAC/PACGA for ptrauth.sign/sign_generic..

Rebased, split tests by intrinsic rather than by GISel vs SDAG (since GISel is now always built and we don't need the separate test directory)

May 17 2021, 2:30 PM · Restricted Project

May 11 2021

ab added inline comments to D100142: [compiler-rt][aarch64] Add PAC-RET/BTI support to TSan..
May 11 2021, 10:47 AM
ab accepted D94597: [X86] Lower calls with clang.arc.attachedcall bundle.

Ah sorry, I didn't see you tried that already! I don't think we want to weaken the verifier check, this is probably the only case where it makes sense to take the address. I guess we've meandered through the same decision process, thanks for the patience ;) But it might be worth explaining these decisions in the commit message. Also in the langref paragraph for the bundle, it says the call is always emitted for the bundle.
Which brings another idea: how about emitting the call when lowering the bundle on AArch64 as well? There's not much room for better regalloc or other optimizations in the sequence anyway, right?

May 11 2021, 10:12 AM · Restricted Project

May 3 2021

ab added a comment to D100873: [docs] Describe reporting security issues on the chromium tracker..

Thanks for the comments! Tweaks inline

May 3 2021, 1:44 PM · Restricted Project
ab updated the diff for D100873: [docs] Describe reporting security issues on the chromium tracker..
  • mention public discussions on lists/in sync-up, link to sync-up page
  • describe Github workflow as potentially useful for publicly disclosing resolved issues
May 3 2021, 1:40 PM · Restricted Project

Apr 27 2021

ab added a comment to D100864: Replace Apple representative to security group..

Thanks all! I'll add Kate to the group and issue tracker.

Apr 27 2021, 11:02 AM · Restricted Project
ab committed rG6a2e29851738: [docs] Replace Apple representative to security group. (authored by ab).
[docs] Replace Apple representative to security group.
Apr 27 2021, 11:01 AM
ab closed D100864: Replace Apple representative to security group..
Apr 27 2021, 11:01 AM · Restricted Project
ab added a comment to D94597: [X86] Lower calls with clang.arc.attachedcall bundle.

Unfortunately the ObjC runtime matches different sequences on AArc64 and X86. This is documented here https://github.com/opensource-apple/objc4/blob/master/runtime/objc-object.h#L974

On AArch64, the callee only checks for mov x29, x29 in the caller and the position of the claim/autorelease runtime call does not matter, which makes things much simpler. On X86_64, it specifically looks for the marker instructions, immediately followed by the runtime call. So we want to make sure that it is very hard to break up this specific sequence, to avoid missing out on the runtime optimization.

Apr 27 2021, 10:42 AM · Restricted Project

Apr 26 2021

ab accepted D100807: [clang][driver] Use the canonical Darwin arch name when printing out the triple for a Darwin target.

Neat, thanks!

Apr 26 2021, 10:46 AM · Restricted Project

Apr 20 2021

ab added a comment to D100807: [clang][driver] Use the canonical Darwin arch name when printing out the triple for a Darwin target.

This sounds nice! One idea, maybe more dangerous, not sure which is better: in setTripleTypeForMachOArchName, we already have a couple setArchName calls, I think that's why arm64e is left alone in the aarch64-cpus.c test. Maybe we can do the setArchName call for every arch there?

Apr 20 2021, 12:33 PM · Restricted Project
ab requested review of D100873: [docs] Describe reporting security issues on the chromium tracker..
Apr 20 2021, 10:56 AM · Restricted Project
ab requested review of D100864: Replace Apple representative to security group..
Apr 20 2021, 9:23 AM · Restricted Project
ab committed rGa0573b6c1003: [AArch64] Bump apple-latest CPU alias to apple-a14. (authored by ab).
[AArch64] Bump apple-latest CPU alias to apple-a14.
Apr 20 2021, 8:42 AM
ab committed rGcedb5b06df1b: [AArch64] Don't always override CPU for arm64e. (authored by ab).
[AArch64] Don't always override CPU for arm64e.
Apr 20 2021, 8:42 AM
ab committed rGa8a3a4379247: [AArch64] Add apple-m1 CPU, and default to it for macOS. (authored by ab).
[AArch64] Add apple-m1 CPU, and default to it for macOS.
Apr 20 2021, 8:42 AM

Apr 12 2021

ab added a reverting change for rG3842de49f655: [lldb] [gdb-remote client] Refactor handling qSupported: rG6c4f2508e427: Revert "[lldb] [gdb-remote client] Refactor handling qSupported".
Apr 12 2021, 6:06 PM
ab committed rG6c4f2508e427: Revert "[lldb] [gdb-remote client] Refactor handling qSupported" (authored by ab).
Revert "[lldb] [gdb-remote client] Refactor handling qSupported"
Apr 12 2021, 6:06 PM
ab added a reverting change for D100146: [lldb] [gdb-remote client] Refactor handling qSupported: rG6c4f2508e427: Revert "[lldb] [gdb-remote client] Refactor handling qSupported".
Apr 12 2021, 6:06 PM · Restricted Project

Mar 25 2021

ab accepted D99232: [Nomination] Adding new Google representative to security group.

Thanks George, and welcome!

Mar 25 2021, 11:22 AM · Restricted Project

Mar 17 2021

ab added a comment to D94597: [X86] Lower calls with clang.arc.attachedcall bundle.

Can you (or @ahatanak) explain why/how this needs to be different from aarch64? In particular I don't think I understand why you need to emit the retainARV/claimARV calls this late, that seems like quite a drastic difference in behavior for the bundle.
I read through the discussion in D92808 but it sounds like that predates the x86_64-specific behavior, right? But skimming around the various passes involved I'm not actually sure who emits the retainARV/claimARV calls on aarch64.

Mar 17 2021, 1:33 PM · Restricted Project
ab accepted D98739: [Object][MachO] Handle end iterator in getSymbolType().
Mar 17 2021, 12:36 PM · Restricted Project