ab (Ahmed Bougacha)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Jul 31 2018

ab accepted D50068: [AArch64][ARM] Add Armv8.4-A tests.

LGTM, thanks!

Jul 31 2018, 12:51 PM

Jul 26 2018

ab added a comment to D49791: [AArch64] - Generate pointer authentication instructions.

A few minor comments inline, and one question: it sounds like this is based on a GCC feature; what's the expected behavior for __builtin_returnaddress ? Shouldn't it xpaci the result?

Jul 26 2018, 10:41 AM

Jul 19 2018

ab accepted D49524: Avoid generating FGETSIGN for f16.

LGTM. Not the biggest fan of CodeGen/Generic tests, but it gets the job done, I suppose ;) I wouldn't be surprised if it failed on some target that can't even handle half parameters, so you might want to load it instead, put it in x86, or wait and see - your pick.

Jul 19 2018, 1:39 PM

Jun 28 2018

ab committed rCXX335899: [CMake] Rename cxx_headers back to cxx-headers..
[CMake] Rename cxx_headers back to cxx-headers.
Jun 28 2018, 11:40 AM
ab committed rL335899: [CMake] Rename cxx_headers back to cxx-headers..
[CMake] Rename cxx_headers back to cxx-headers.
Jun 28 2018, 11:40 AM
ab closed D48701: [CMake] Rename cxx_headers back to cxx-headers..
Jun 28 2018, 11:40 AM
ab committed rC335898: [CMake] Make bootstrap and compiler-rt depend on cxx-headers..
[CMake] Make bootstrap and compiler-rt depend on cxx-headers.
Jun 28 2018, 11:40 AM
ab committed rL335898: [CMake] Make bootstrap and compiler-rt depend on cxx-headers..
[CMake] Make bootstrap and compiler-rt depend on cxx-headers.
Jun 28 2018, 11:40 AM
ab closed D48700: [CMake] Make bootstrap and compiler-rt depend on cxx-headers..
Jun 28 2018, 11:40 AM

Jun 27 2018

ab created D48701: [CMake] Rename cxx_headers back to cxx-headers..
Jun 27 2018, 9:07 PM
ab created D48700: [CMake] Make bootstrap and compiler-rt depend on cxx-headers..
Jun 27 2018, 9:00 PM

Jun 13 2018

ab committed rCRT334626: [ASAN] Re-enable fgets_fputs test for darwin..
[ASAN] Re-enable fgets_fputs test for darwin.
Jun 13 2018, 10:51 AM
ab committed rL334626: [ASAN] Re-enable fgets_fputs test for darwin..
[ASAN] Re-enable fgets_fputs test for darwin.
Jun 13 2018, 10:51 AM

Jun 12 2018

ab committed rL334566: Revert "Fix how LLVMOPTIONALCOMPONENTS is passed to llvm-build".
Revert "Fix how LLVMOPTIONALCOMPONENTS is passed to llvm-build"
Jun 12 2018, 7:21 PM
ab committed rC334550: [CMake][Darwin] Match cxx-headers -> cxx_headers libcxx target rename..
[CMake][Darwin] Match cxx-headers -> cxx_headers libcxx target rename.
Jun 12 2018, 2:32 PM
ab committed rL334550: [CMake][Darwin] Match cxx-headers -> cxx_headers libcxx target rename..
[CMake][Darwin] Match cxx-headers -> cxx_headers libcxx target rename.
Jun 12 2018, 2:32 PM

Jun 10 2018

ab committed rL334369: [debuginfo-tests] Always use the system python to invoke llgdb.py..
[debuginfo-tests] Always use the system python to invoke llgdb.py.
Jun 10 2018, 12:43 PM
ab closed D47967: [debuginfo-tests] Always use the system python to invoke llgdb.py..
Jun 10 2018, 12:42 PM

Jun 8 2018

ab added a comment to D47967: [debuginfo-tests] Always use the system python to invoke llgdb.py..

Precisely: /usr/bin/env is recommended as a cross-platform way to find python. But:

  • we're only using lldb on darwin, where we know python (or at least, the xcrun-style shortcut) is in /usr/bin/
  • the python interpreter in LLDB comes from /S/L/F, for instance:
Jun 8 2018, 6:36 PM
ab created D47967: [debuginfo-tests] Always use the system python to invoke llgdb.py..
Jun 8 2018, 5:24 PM

May 8 2018

ab added inline comments to D46310: [AArch64] Disallow vector operand if FPR128 Q register is required..
May 8 2018, 2:39 PM

May 4 2018

ab added a reviewer for D46396: Optionally simplify basic blocks introduced by AtomicExpandPass: t.p.northover.
May 4 2018, 11:42 AM
ab added a comment to D46042: Cap vector alignment at 16 for all Darwin platforms.

So, this makes sense to me, but on x86, should we also be worried about the fact that the calling convention is based on which features are available? (>128bit ext_vector_types are passed in AVX/AVX-512 registers, if available). Presumably swift is also affected, no?

May 4 2018, 10:46 AM

Jan 4 2018

ab accepted D41723: Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre...

Clang/LLVM pieces LGTM. Thanks for doing this, people.

Jan 4 2018, 5:00 PM

Dec 9 2017

ab committed rCRT320284: Update another sanitizer test for C++14..
Update another sanitizer test for C++14.
Dec 9 2017, 9:51 PM
ab committed rL320284: Update another sanitizer test for C++14..
Update another sanitizer test for C++14.
Dec 9 2017, 9:51 PM

Dec 7 2017

ab committed rC320114: Fix more line endings changed in r320089. NFC..
Fix more line endings changed in r320089. NFC.
Dec 7 2017, 3:09 PM
ab committed rL320114: Fix more line endings changed in r320089. NFC..
Fix more line endings changed in r320089. NFC.
Dec 7 2017, 3:09 PM
ab committed rL320112: Remove line-endings added by r320089. NFC..
Remove line-endings added by r320089. NFC.
Dec 7 2017, 2:58 PM
ab committed rC320112: Remove line-endings added by r320089. NFC..
Remove line-endings added by r320089. NFC.
Dec 7 2017, 2:58 PM

Nov 17 2017

ab committed rL318545: [CodeGen] Compute the objc EH vtable address point using inbounds GEP..
[CodeGen] Compute the objc EH vtable address point using inbounds GEP.
Nov 17 2017, 11:47 AM

Nov 9 2017

ab accepted D39635: [GlobalMerge] Stable sort GlobalSets to fix non-deterministic sort order.

LGTM, thanks!

Nov 9 2017, 9:26 AM

Sep 18 2017

ab committed rL313552: [GlobalISel] Only build expensive remarks if they're enabled. NFC..
[GlobalISel] Only build expensive remarks if they're enabled. NFC.
Sep 18 2017, 11:51 AM

Sep 12 2017

ab committed rL313073: [AArch64][GlobalISel] Select all fptruncs..
[AArch64][GlobalISel] Select all fptruncs.
Sep 12 2017, 2:05 PM
ab committed rL313074: [AArch64][GlobalISel] Select all fpexts..
[AArch64][GlobalISel] Select all fpexts.
Sep 12 2017, 2:05 PM

Aug 17 2017

ab accepted D36741: [AArch64] Remove DecodeAuthLoadWriteback.

Ah, that explains it. LGTM, thanks!

Aug 17 2017, 7:19 AM

Aug 10 2017

ab committed rL310662: Revert "[AsmParser] Hash is not a comment on some targets".
Revert "[AsmParser] Hash is not a comment on some targets"
Aug 10 2017, 2:26 PM

Jul 27 2017

ab committed rL309325: [X86] Don't lie about legality to TLI's demanded bits..
[X86] Don't lie about legality to TLI's demanded bits.
Jul 27 2017, 2:31 PM
ab committed rL309324: [AArch64] Remove outdated comment. NFC..
[AArch64] Remove outdated comment. NFC.
Jul 27 2017, 2:28 PM
ab committed rL309323: [AArch64] Fix legality info passed to demanded bits for TBI opt..
[AArch64] Fix legality info passed to demanded bits for TBI opt.
Jul 27 2017, 2:28 PM

Jul 5 2017

ab updated subscribers of D34438: [FastISel] fix a fallback diagnostic..

There's a test for the call side in r294970, and I added some tests in r299093, you can probably make either check the generic fastisel fallback diagnostic too?

Jul 5 2017, 3:33 PM

Jun 27 2017

ab accepted D33764: [globalisel][tablegen] Added instruction emission to the state-machine-based matcher..

This looks OK too.

Jun 27 2017, 12:02 PM
ab accepted D33766: [globalisel][tablegen] Finish fixing compile-time regressions by merging the matcher and emitter state machines..

Can you emit a single table for all patterns? I'm fine with doing that separately; looks OK otherwise.

Jun 27 2017, 12:02 PM
ab added a comment to D33596: [globalisel][tablegen] Add support for EXTRACT_SUBREG..

Can you add a tablegen testcase? If nothing else, it's a good way to document the tablegen backend.

Jun 27 2017, 11:51 AM
ab accepted D33758: [globalisel][tablegen] Partially fix compile-time regressions by converting matcher to state-machine(s).

With the non-optimization comments addressed, I'm OK with this.

Jun 27 2017, 11:48 AM

Jun 26 2017

ab committed rL306299: [X86][AVX-512] Don't raise inexact in ceil, floor, round, trunc..
[X86][AVX-512] Don't raise inexact in ceil, floor, round, trunc.
Jun 26 2017, 9:00 AM

Jun 16 2017

ab added inline comments to D33758: [globalisel][tablegen] Partially fix compile-time regressions by converting matcher to state-machine(s).
Jun 16 2017, 10:37 AM

Jun 15 2017

ab committed rL305527: Revert "[DAG] Allow truncated and extend memory operations in Store Merge. NFCI..
Revert "[DAG] Allow truncated and extend memory operations in Store Merge. NFCI.
Jun 15 2017, 4:30 PM
ab added a comment to D33596: [globalisel][tablegen] Add support for EXTRACT_SUBREG..

Can you add a tablegen testcase?

Jun 15 2017, 3:48 PM
ab accepted D33590: [globalisel][tablegen] Add support for COPY_TO_REGCLASS..

LGTM without the pattern changes.

Jun 15 2017, 2:32 PM

Jun 2 2017

ab committed rL304590: [X86] Correctly broadcast NaN-like integers as float on AVX..
[X86] Correctly broadcast NaN-like integers as float on AVX.
Jun 2 2017, 1:03 PM

May 15 2017

ab added a comment to D33149: Avoid a UB pointer overflow in the ArrayRef unit test.

Huh, interesting.. Not a big deal, but can you avoid the #ifdef? Where was the overflow?

May 15 2017, 9:38 AM

May 9 2017

ab committed rL302612: [CodeGen] Don't require AA in TwoAddress at -O0..
[CodeGen] Don't require AA in TwoAddress at -O0.
May 9 2017, 6:09 PM
ab abandoned D31642: [CodeGen] Add a 'NoAAResultsWrapperPass', and use it in SDAG/2Addr..

D32766 replaced this; closing.

May 9 2017, 5:56 PM
ab committed rL302611: [CodeGen] Don't require AA in SDAGISel at -O0..
[CodeGen] Don't require AA in SDAGISel at -O0.
May 9 2017, 5:53 PM
ab committed rL302610: [CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC..
[CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC.
May 9 2017, 5:52 PM
ab closed D32766: [CodeGen] Don't require AA in SDAG/2Addr at CodeGenOpt::None. by committing rL302611: [CodeGen] Don't require AA in SDAGISel at -O0..
May 9 2017, 5:52 PM
ab committed rL302609: [CodeGen] Split SafeStack into a LegacyPass and a utility. NFC..
[CodeGen] Split SafeStack into a LegacyPass and a utility. NFC.
May 9 2017, 5:52 PM
ab closed D31302: [CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC. by committing rL302610: [CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC..
May 9 2017, 5:52 PM
ab committed rL302608: [CodeGen] Add an -O0 backend pipeline test. NFC..
[CodeGen] Add an -O0 backend pipeline test. NFC.
May 9 2017, 5:52 PM
ab closed D31303: [CodeGen] Split SafeStack into a LegacyPass and a utility. NFC. by committing rL302609: [CodeGen] Split SafeStack into a LegacyPass and a utility. NFC..
May 9 2017, 5:52 PM

May 3 2017

ab committed rL302081: [AArch64] Fix variable name ambiguity in r302078..
[AArch64] Fix variable name ambiguity in r302078.
May 3 2017, 2:04 PM
ab added a comment to D32780: [AArch64] Make the TargetParser add CPU exts provided by the arch..

Thanks Renato!

May 3 2017, 2:00 PM
ab committed rL302079: [Driver] Update AArch64 testcase to match llvm r302078..
[Driver] Update AArch64 testcase to match llvm r302078.
May 3 2017, 1:47 PM
ab committed rL302078: [AArch64] Make the TargetParser add CPU exts provided by the arch..
[AArch64] Make the TargetParser add CPU exts provided by the arch.
May 3 2017, 1:47 PM
ab closed D32780: [AArch64] Make the TargetParser add CPU exts provided by the arch. by committing rL302078: [AArch64] Make the TargetParser add CPU exts provided by the arch..
May 3 2017, 1:47 PM
ab committed rL302077: [AArch64] armv8-A doesn't have CRC..
[AArch64] armv8-A doesn't have CRC.
May 3 2017, 1:47 PM

May 2 2017

ab created D32780: [AArch64] Make the TargetParser add CPU exts provided by the arch..
May 2 2017, 6:01 PM
ab added a comment to D31642: [CodeGen] Add a 'NoAAResultsWrapperPass', and use it in SDAG/2Addr..

After looking at the uses of AA in both passes here, I think I like the alternative idea of making AA optional directly in the passes. Then, for the old PM, we can use something like getAnalysisIfAvailable and just not mark the analysis as required when not optimizing codegen. What do you think? Would it be helpful if I hack up a patch?

May 2 2017, 3:47 PM
ab created D32766: [CodeGen] Don't require AA in SDAG/2Addr at CodeGenOpt::None..
May 2 2017, 3:44 PM
ab added a comment to D31787: [TLI] Add declarations for various math header file routines from math-finite.h that create '__<func>_finite as functions.

This looks fine; the TLI unittest is the best place for testing this. (for instance, no-proto.ll wouldn't help, because the pass doesn't know about these libfuncs and can't modify them anyway, regardless of the prototype)

May 2 2017, 2:35 PM

May 1 2017

ab committed rL301890: [AArch64] armv8-A doesn't have LSE..
[AArch64] armv8-A doesn't have LSE.
May 1 2017, 5:58 PM

Apr 26 2017

ab committed rL301510: [Support] Fix overflow in SLEB128 decoding..
[Support] Fix overflow in SLEB128 decoding.
Apr 26 2017, 7:22 PM
ab committed rL301509: [Support] clang-format LEB128.h. NFC..
[Support] clang-format LEB128.h. NFC.
Apr 26 2017, 7:22 PM

Apr 25 2017

ab committed rL301373: [Support] Avoid UB in sys::fs::perms::operator~. NFC..
[Support] Avoid UB in sys::fs::perms::operator~. NFC.
Apr 25 2017, 6:01 PM

Apr 21 2017

ab committed rL301065: [cfi] Disable thinlto tests on Darwin..
[cfi] Disable thinlto tests on Darwin.
Apr 21 2017, 5:20 PM

Apr 20 2017

ab committed rL300929: Revert "Enable lsan test suite on Darwin x86_64 builds".
Revert "Enable lsan test suite on Darwin x86_64 builds"
Apr 20 2017, 5:15 PM
ab added a comment to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
In D32275#732358, @ab wrote:

and also have a test that fails when we add more (maybe something trivial like the number of emitted patterns?)

I'm not sure I understand this bit. Is the intent to prompt us to look at the new rules?

Apr 20 2017, 12:01 PM
ab added inline comments to D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 11:29 AM
ab accepted D31761: [globalisel][tablegen] Revise API for ComplexPattern operands to improve flexibility..

Nice, LGTM!

Apr 20 2017, 10:59 AM
ab accepted D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..

One thing to mention for this patch is that G_ICMP and G_FCMP are not included due to a difference in operand order between G_ICMP/G_FCMP in GlobalISel and setcc in SelectionDAG (predicate, lhs, rhs vs lhs, rhs, predicate). I can support those in a later patch by adding more information to GINodeEquiv or by changing G_ICMP/G_FCMP.

Apr 20 2017, 10:52 AM
ab added inline comments to D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 10:31 AM
ab accepted D32229: [globalisel][tablegen] Add support for RegisterOperand..

LGTM

Apr 20 2017, 10:11 AM

Apr 19 2017

ab committed rL300801: Revert "[libFuzzer] XFAIL fuzzer-oom.test on Darwin.".
Revert "[libFuzzer] XFAIL fuzzer-oom.test on Darwin."
Apr 19 2017, 5:29 PM

Apr 17 2017

ab committed rL300460: Revert "Add a test for debug info with the safestack sanitizer enabled.".
Revert "Add a test for debug info with the safestack sanitizer enabled."
Apr 17 2017, 10:12 AM
ab committed rL300459: Revert "Add an end-to-end testcase for address sanitizer.".
Revert "Add an end-to-end testcase for address sanitizer."
Apr 17 2017, 10:12 AM
ab committed rL300458: Revert "Add a test for __block variables + asan.".
Revert "Add a test for __block variables + asan."
Apr 17 2017, 10:12 AM

Apr 14 2017

ab accepted D31934: [GlobalISel] Support vector-of-pointers in LLT.

LGTM, thanks for taking care of this!

Apr 14 2017, 10:39 AM

Apr 13 2017

ab accepted D32058: Add a section about simplifying .mir tests.

Makes sense to me. I wish we didn't need this, but progress is made one step at a time

Apr 13 2017, 4:24 PM
ab accepted D32028: [AArch64] Avoid partial register writes on lane 0 of BUILD_VECTOR for i8/i16/f16.

Nice, LGTM

Apr 13 2017, 4:20 PM
ab added inline comments to D31934: [GlobalISel] Support vector-of-pointers in LLT.
Apr 13 2017, 9:23 AM
ab added a comment to D31302: [CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC..

Thanks folks! No objections for D31303 then?

Apr 13 2017, 2:05 AM
ab accepted D31902: Use correct registers for "A" inline asm constraint.

16-bit is weird, but it'd be great if you could add a testcase for that.

Apr 13 2017, 1:59 AM
ab accepted D31807: Fix signed multiplication with overflow fallback..

Nice catch, LGTM.

Apr 13 2017, 1:19 AM

Apr 12 2017

ab added a comment to D31934: [GlobalISel] Support vector-of-pointers in LLT.

You're right, this is probably the best path forward. A few nits inline

Apr 12 2017, 12:04 PM

Apr 10 2017

ab added a comment to D31761: [globalisel][tablegen] Revise API for ComplexPattern operands to improve flexibility..

I'm slightly worried that this makes the selector functions a bit harder to read, but this seems like a nice simplification otherwise.

Apr 10 2017, 1:16 PM
ab added a comment to D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..

Does this really depend on D31329? Can you invert the dependency and put the tblgen emission bits in that patch?

Apr 10 2017, 12:56 PM

Apr 6 2017

ab accepted D31503: [GlobalISel]: Fix bug where we can report GISelFailure on erased instructions.

I'm not a big fan of this approach (because the iterative logic seems like it does belong in the helper), but it's mostly fine (we don't have users other than Legalizer), and it sounds like Tim and Quentin are on board. So, LGTM.

Apr 6 2017, 4:35 PM
ab accepted D31711: [GlobalISel] LegalizerInfo: Enable legalization of non-power-of-2 types.

LGTM after removing the whole check and adding a good explanation in the commit message.

Apr 6 2017, 11:53 AM

Apr 4 2017

ab committed rL299490: [X86] Relax assert in broadcast-of-subvector lowering..
[X86] Relax assert in broadcast-of-subvector lowering.
Apr 4 2017, 5:27 PM