Page MenuHomePhabricator

courbet (Clement Courbet)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 24 2016, 3:59 AM (234 w, 3 d)

Recent Activity

Fri, Sep 11

courbet added inline comments to D87458: [Clang] Clarify __builtin_memcpy_inline documentation.
Fri, Sep 11, 12:19 AM · Restricted Project
courbet accepted D87458: [Clang] Clarify __builtin_memcpy_inline documentation.
Fri, Sep 11, 12:18 AM · Restricted Project

Wed, Sep 9

courbet added inline comments to D83375: [NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD).
Wed, Sep 9, 7:01 AM · Restricted Project
courbet accepted D87373: [NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD).
Wed, Sep 9, 6:54 AM · Restricted Project
courbet added inline comments to D83375: [NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD).
Wed, Sep 9, 6:51 AM · Restricted Project

Aug 17 2020

courbet added inline comments to D85868: DAG: Don't pass 0 alignment value to allowsMisalignedMemoryAccesses.
Aug 17 2020, 11:58 PM · Restricted Project

Jul 17 2020

courbet committed rG6bddd099ac14: Revert "[llvm-exegesis] Add benchmark latency option on X86 that uses LBR for… (authored by courbet).
Revert "[llvm-exegesis] Add benchmark latency option on X86 that uses LBR for…
Jul 17 2020, 7:55 AM
courbet added a comment to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..

If you're not using llvm-exegesis you can disable this with the LLVM_ENABLE_LIBPFM cmake option.
But I'll revert this until @oontvoo can fix llvm/cmake/modules/FindLibpfm.cmake

Jul 17 2020, 7:49 AM · Restricted Project

Jul 10 2020

courbet added a comment to D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper.

I have no idea what the policy is WRT size for compiler-rt. How big is the diff if you take code size into consideration ?

Jul 10 2020, 5:43 AM · Restricted Project
courbet committed rG68c011aa085a: [builtins] Optimize udivmodti4 for many platforms. (authored by danlark).
[builtins] Optimize udivmodti4 for many platforms.
Jul 10 2020, 1:04 AM
courbet closed D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 10 2020, 1:03 AM · Restricted Project
courbet accepted D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 10 2020, 12:45 AM · Restricted Project
courbet added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Sorry for taking that long, this is a dense review. Overall this looks good, and the renaming and splitting actually also improve the readability of the non-x86 part.
I only have style comments.

Jul 10 2020, 12:36 AM · Restricted Project

Jul 9 2020

courbet accepted D83533: [Alignment][NFC] Update Bitcodewriter to use Align.
Jul 9 2020, 11:47 PM · Restricted Project

Jul 8 2020

courbet accepted D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Jul 8 2020, 10:59 PM · Restricted Project
courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Jul 8 2020, 1:07 AM · Restricted Project

Jul 7 2020

courbet added a comment to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..

Only style comments left

Jul 7 2020, 8:18 AM · Restricted Project
courbet accepted D83202: [Bitfields][NFC] Make sure bitfields are contiguous.
Jul 7 2020, 4:14 AM · Restricted Project
courbet accepted D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.
Jul 7 2020, 2:41 AM
courbet added a comment to D83192: Fix off by one error in Bitfields.

Can you add a unit test for this ?

I'll add the following test as a separate commit if it LGTY.
Note: I can't use EXPECT_EQ because it takes the arguments by const & and the properties are static constexpr, the compiler complains about undefined reference.

TEST(BitfieldsTest, Properties) {
  using A = Bitfield::Element<bool, 0, 1>;
  EXPECT_TRUE(A::FirstBit == 0U);
  EXPECT_TRUE(A::LastBit == 0U);
  EXPECT_TRUE(A::Shift == 0U);
  EXPECT_TRUE(A::Bits == 1U);

  using B = Bitfield::Element<unsigned, 3, 4>;
  EXPECT_TRUE(B::FirstBit == 3U);
  EXPECT_TRUE(B::LastBit == 6U);
  EXPECT_TRUE(B::Shift == 3U);
  EXPECT_TRUE(B::Bits == 4U);
}
Jul 7 2020, 12:36 AM · Restricted Project

Jul 6 2020

courbet added inline comments to D83202: [Bitfields][NFC] Make sure bitfields are contiguous.
Jul 6 2020, 11:26 PM · Restricted Project
courbet added a comment to D83192: Fix off by one error in Bitfields.

Can you add a unit test for this ?

Jul 6 2020, 11:10 PM · Restricted Project

Jul 3 2020

courbet accepted D83119: [Alignment][NFC] Use 5 bits to store Instructions Alignment.

Cool ! Only minor comments.

Jul 3 2020, 1:35 AM · Restricted Project
courbet accepted D83082: [Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode.
Jul 3 2020, 1:03 AM · Restricted Project

Jul 2 2020

courbet accepted D82981: [Alignment][NFC] VectorLayout now uses Align internally.
Jul 2 2020, 4:15 AM · Restricted Project
courbet added inline comments to D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.
Jul 2 2020, 3:10 AM
courbet accepted D82977: [Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment.
Jul 2 2020, 3:10 AM · Restricted Project

Jul 1 2020

courbet accepted D82962: [Alignment][NFC] Use Align for BPFAbstractMemberAccess::RecordAlignment.
Jul 1 2020, 8:05 AM · Restricted Project
courbet accepted D82958: [Alignment] TargetLowering::hasPairedLoad must use Align for RequiredAlignment.
Jul 1 2020, 7:32 AM · Restricted Project
courbet accepted D82956: [Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment.
Jul 1 2020, 7:00 AM · Restricted Project
courbet accepted D82939: [Alignment][NFC] Migrate TargetTransformInfo::CreateVariableSizedObject to Align.
Jul 1 2020, 4:17 AM · Restricted Project
courbet accepted D82934: [Alignment][NFC] Migrate MachineFrameInfo::CreateSpillStackObject to Align.
Jul 1 2020, 1:02 AM · Restricted Project

Jun 30 2020

courbet accepted D82894: [Alignment][NFC] Migrate MachineFrameInfo::CreateStackObject to Align.
Jun 30 2020, 11:57 PM · Restricted Project
courbet added inline comments to D82876: [Alignment][NFC] Migrate TargetTransformInfo::allowsMisalignedMemoryAccesses to Align.
Jun 30 2020, 11:57 PM · Restricted Project
courbet accepted D81372: [Alignment][NFC] TargetLowering::allowsMemoryAccessForAlignment.
Jun 30 2020, 8:06 AM · Restricted Project
courbet added inline comments to D82876: [Alignment][NFC] Migrate TargetTransformInfo::allowsMisalignedMemoryAccesses to Align.
Jun 30 2020, 8:06 AM · Restricted Project
courbet accepted D82850: [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemmove to Align.
Jun 30 2020, 3:14 AM · Restricted Project
courbet accepted D82851: [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemset to Align.
Jun 30 2020, 3:14 AM · Restricted Project
courbet accepted D82849: [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align.
Jun 30 2020, 3:14 AM · Restricted Project
courbet accepted D82749: [Alignment][NFC] Migrate AArch64, ARM, Hexagon, MSP and NVPTX backends to Align.
Jun 30 2020, 12:30 AM · Restricted Project
courbet accepted D82779: [Alignment][NFC] Migrate PPC, X86 and XCore backends to Align.
Jun 30 2020, 12:30 AM · Restricted Project
courbet accepted D82785: [Alignment][NFC] TargetLowering::allowsMemoryAccess.
Jun 30 2020, 12:30 AM · Restricted Project

Jun 29 2020

courbet accepted D82454: [ADT] Add Bitfield utilities - design #3.
Jun 29 2020, 5:54 AM · Restricted Project
courbet accepted D82648: [NFC] Introduce a helper in BasicTTIImpl.h to cast to T.
Jun 29 2020, 5:21 AM · Restricted Project
courbet added inline comments to D82749: [Alignment][NFC] Migrate AArch64, ARM, Hexagon, MSP and NVPTX backends to Align.
Jun 29 2020, 4:49 AM · Restricted Project
courbet accepted D82743: [Alignment][NFC] Migrate AMDGPU backend to Align.
Jun 29 2020, 4:49 AM · Restricted Project
courbet accepted D82752: [Alignment][NFC] migrate DataLayout::getPreferredAlignment.
Jun 29 2020, 4:17 AM · Restricted Project

Jun 26 2020

courbet accepted D82653: [Alignment][NFC] Migrate TTI::isLegalToVectorize{Load,Store}Chain to Align.
Jun 26 2020, 7:03 AM · Restricted Project
courbet accepted D82573: [Alignment][NFC] Migrate TTI::getInterleavedMemoryOpCost to Align.
Jun 26 2020, 3:13 AM · Restricted Project
courbet accepted D82577: [Alignment][NFC] Migrate TTI::getGatherScatterOpCost to Align.
Jun 26 2020, 3:13 AM · Restricted Project
courbet accepted D82569: [Alignment][NFC] Migrate TTI::getMaskedMemoryOpCost to Align.
Jun 26 2020, 3:13 AM · Restricted Project
courbet accepted D81050: [llvm-exegesis] Let Counter returns up to 16 entries..
Jun 26 2020, 12:31 AM · Restricted Project

Jun 25 2020

courbet accepted D82307: [Alignment][NFC] Use Align for TargetCallingConv::OrigAlign.
Jun 25 2020, 6:20 AM · Restricted Project
courbet added inline comments to D82454: [ADT] Add Bitfield utilities - design #3.
Jun 25 2020, 2:30 AM · Restricted Project
courbet added a comment to D82307: [Alignment][NFC] Use Align for TargetCallingConv::OrigAlign.

OK but this changes the meaning of getOrigAlign(), which some downstream targets might depend on. What about doing this dynamically in getNonZeroOrigAlign() until getOrigAlign() is fully removed ?

Jun 25 2020, 1:35 AM · Restricted Project
courbet added inline comments to D81050: [llvm-exegesis] Let Counter returns up to 16 entries..
Jun 25 2020, 12:29 AM · Restricted Project

Jun 22 2020

courbet added a comment to D82307: [Alignment][NFC] Use Align for TargetCallingConv::OrigAlign.

I see several places that never call setOrigAlign(), e.g. in GlobalISel CallLowering:

Jun 22 2020, 11:25 PM · Restricted Project

Jun 19 2020

courbet added inline comments to D81050: [llvm-exegesis] Let Counter returns up to 16 entries..
Jun 19 2020, 5:53 AM · Restricted Project

Jun 18 2020

courbet added inline comments to D82058: [ADT] Add Bitfield utilities - design #2.
Jun 18 2020, 5:24 AM · Restricted Project
courbet added inline comments to D82058: [ADT] Add Bitfield utilities - design #2.
Jun 18 2020, 2:41 AM · Restricted Project

Jun 17 2020

courbet added inline comments to D81580: [ADT] Add Bitfield utilities - design #1.
Jun 17 2020, 7:31 AM · Restricted Project

Jun 16 2020

courbet accepted D81580: [ADT] Add Bitfield utilities - design #1.

I have not seen any concerns raised on the mailing lists after your proposal. Let's give it a couple more days before submitting.

Jun 16 2020, 10:58 PM · Restricted Project
courbet accepted D81922: [llvm] Disable linking llvm-exegesis to dylib.
Jun 16 2020, 4:23 AM · Restricted Project

Jun 14 2020

courbet added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Nice. I have not looked at the code yet, but I think it would make sense to add your benchmark to the compiler-rt unit tests.

Jun 14 2020, 11:58 PM · Restricted Project

Jun 11 2020

courbet added a comment to D81580: [ADT] Add Bitfield utilities - design #1.

Can you create an example patch rebased on this to show how this changes the bit twiddling code for an example instruction ? Maybe this could go through an RFC ? I'm personally, this would make the code much cleaner.

Jun 11 2020, 1:50 AM · Restricted Project

Jun 9 2020

courbet added inline comments to D81372: [Alignment][NFC] TargetLowering::allowsMemoryAccessForAlignment.
Jun 9 2020, 2:09 AM · Restricted Project
courbet accepted D81374: [Alignment][NFC] TargetLowering::allowsMisalignedMemoryAccesses.
Jun 9 2020, 2:09 AM · Restricted Project
courbet accepted D81379: [Alignment][NFC] Migrate TargetLowering::allowsMemoryAccess.
Jun 9 2020, 2:09 AM · Restricted Project

Jun 8 2020

courbet accepted D81362: [Alignment][NFC] Deprecate dead code from CallingConvLower.h.
Jun 8 2020, 5:57 AM · Restricted Project
courbet added a comment to D81362: [Alignment][NFC] Deprecate dead code from CallingConvLower.h.

Shouldn't this undergo a deprecation cycle ? This is a public header.

Jun 8 2020, 3:46 AM · Restricted Project
courbet accepted D81365: [Alignment][NFC] Migrate HandleByVal to Align.
Jun 8 2020, 2:40 AM · Restricted Project

Jun 7 2020

courbet accepted D81278: [Alignment][NFC] Migrate the rest of backends.
Jun 7 2020, 11:57 PM · Restricted Project
courbet accepted D81268: [Alignment][NFC] Migrate CallingConv tablegen code.
Jun 7 2020, 11:57 PM · Restricted Project
courbet accepted D81274: [Alignment][NFC] Migrate part of Arm/AArch64 backend.
Jun 7 2020, 11:57 PM · Restricted Project

Jun 5 2020

courbet accepted D81196: [Alignment][NFC] Migrate CallingConv tablegen code.
Jun 5 2020, 5:27 AM · Restricted Project

Jun 2 2020

courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Jun 2 2020, 11:58 PM · Restricted Project
courbet added inline comments to D81050: [llvm-exegesis] Let Counter returns up to 16 entries..
Jun 2 2020, 11:58 PM · Restricted Project
courbet committed rG5b8c1ed2c802: [llvm-exegesis] Fix D80610. (authored by courbet).
[llvm-exegesis] Fix D80610.
Jun 2 2020, 1:39 AM
courbet closed D80982: [llvm-exegesis] Fix D80610..
Jun 2 2020, 1:38 AM · Restricted Project
courbet added a comment to D80982: [llvm-exegesis] Fix D80610..

Thanks

Jun 2 2020, 1:38 AM · Restricted Project
courbet created D80982: [llvm-exegesis] Fix D80610..
Jun 2 2020, 1:04 AM · Restricted Project

May 29 2020

courbet closed D76056: [MemFunctions] Add validity check..

Actually this was submitted but did not get updated for some reason.

May 29 2020, 5:23 AM · Restricted Project
courbet added a comment to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..

OK, I think this is in good shape now, but we still need a test for it. The only issue is that not all buildbots support LBR, so we need a mechanism for skipping the test when not available. You can create a subdir llvm-project/llvm/test/tools/llvm-exegesis/X86/lbr with a custom lit similar to llvm-project/llvm/test/tools/llvm-exegesis/X86/lit.local.cfg to check lbr support before running the test.

May 29 2020, 4:50 AM · Restricted Project

May 28 2020

courbet accepted D80610: [llvm-exegesis] Make createCounter a virtual method on Target to allow targets to create target-specific counters.

LGTM modulo one comment.

May 28 2020, 1:02 AM · Restricted Project

May 26 2020

courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
May 26 2020, 11:22 PM · Restricted Project
courbet added a comment to D80610: [llvm-exegesis] Make createCounter a virtual method on Target to allow targets to create target-specific counters.

Can you also include making the Counter virtual, and the use of this new function in FunctionExecutorImpl::runAndMeasure ? This would remove more unrelated changes from the other patch.

May 26 2020, 11:22 PM · Restricted Project

May 25 2020

courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
May 25 2020, 11:57 PM · Restricted Project

May 18 2020

courbet committed rG521b21609434: [TargetLibraryInfo] memcpy and memset have optimized codegen. (authored by courbet).
[TargetLibraryInfo] memcpy and memset have optimized codegen.
May 18 2020, 1:02 AM
courbet closed D78991: [TargetLibraryInfo] memcpy and memset have optimized codegen..
May 18 2020, 1:02 AM · Restricted Project

May 5 2020

courbet added a reviewer for D78991: [TargetLibraryInfo] memcpy and memset have optimized codegen.: xbolva00.
May 5 2020, 11:09 PM · Restricted Project

Apr 28 2020

courbet updated the diff for D78991: [TargetLibraryInfo] memcpy and memset have optimized codegen..

Add memmove

Apr 28 2020, 4:47 AM · Restricted Project
courbet created D78991: [TargetLibraryInfo] memcpy and memset have optimized codegen..
Apr 28 2020, 3:43 AM · Restricted Project

Apr 10 2020

courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Apr 10 2020, 6:25 AM · Restricted Project

Apr 8 2020

courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Apr 8 2020, 11:57 PM · Restricted Project
courbet committed rG7c6514bc22c4: [llvm-exegesis] Fix build with !HAS_LIBPFM. (authored by courbet).
[llvm-exegesis] Fix build with !HAS_LIBPFM.
Apr 8 2020, 7:03 AM
courbet committed rG9fb871866e2b: [llvm-exegesis][NFC] Let the pfm::Counter own the PerfHelper. (authored by courbet).
[llvm-exegesis][NFC] Let the pfm::Counter own the PerfHelper.
Apr 8 2020, 7:02 AM
courbet added inline comments to D77422: [llvm-exegesis] Add benchmark mode that uses LBR for more precise measurements..
Apr 8 2020, 7:02 AM · Restricted Project
courbet committed rGd2d808d2efa4: [llvm-exegesis][NFC] Remove dead code. (authored by courbet).
[llvm-exegesis][NFC] Remove dead code.
Apr 8 2020, 5:57 AM

Apr 6 2020

courbet accepted D77599: [AArch64] Don't expand memcmp in strict align mode..
Apr 6 2020, 11:25 PM · Restricted Project
courbet accepted D77538: [Alignment][NFC] Assume AlignmentFromAssumptions::getNewAlignment is always set..
Apr 6 2020, 8:06 AM · Restricted Project