Page MenuHomePhabricator
Feed Advanced Search

Today

serge-sans-paille added inline comments to D99299: Normalize interaction with boolean attributes.
Thu, Apr 22, 1:16 AM · Restricted Project, Restricted Project

Tue, Apr 20

serge-sans-paille committed rGd9806334d1a4: Use SmallVector instead of std::vector to manage storage of llvm::BitVector (authored by serge-sans-paille).
Use SmallVector instead of std::vector to manage storage of llvm::BitVector
Tue, Apr 20, 10:33 PM
serge-sans-paille closed D100744: Use SmallVector instead of std::vector to manage storage of llvm::BitVector.
Tue, Apr 20, 10:33 PM · Restricted Project

Mon, Apr 19

serge-sans-paille added a comment to D92657: Fix interaction between clang and some inline builtins from glibc under _FORTIFY_SOURCE.

@rnk I don't want that patch to bitrot , as it addresses a defect in _FORTIFY_SOURCE, i.e. it fills an (arguably small) security defect. Can you please have a look?

Mon, Apr 19, 1:56 AM · Restricted Project
serge-sans-paille requested review of D100744: Use SmallVector instead of std::vector to manage storage of llvm::BitVector.
Mon, Apr 19, 1:46 AM · Restricted Project

Fri, Apr 16

serge-sans-paille committed rGd6de1e1a7140: Normalize interaction with boolean attributes (authored by serge-sans-paille).
Normalize interaction with boolean attributes
Fri, Apr 16, 11:18 PM
serge-sans-paille closed D99299: Normalize interaction with boolean attributes.
Fri, Apr 16, 11:17 PM · Restricted Project, Restricted Project
serge-sans-paille committed rG550ed575cbbd: Simplify BitVector code (authored by serge-sans-paille).
Simplify BitVector code
Fri, Apr 16, 1:49 PM

Thu, Apr 15

serge-sans-paille added a comment to D100387: Simplify BitVector code.

@saugustine thanks for the revert. I'll investigate that.
@thakis I checked the instruction count and overall execution time and didn't notice much change.
@dexonsmith Yeah that was the plan: switch to SmallVector once that one, hum, validates ;-)

Thu, Apr 15, 4:46 AM · Restricted Project

Wed, Apr 14

serge-sans-paille committed rG82f0e3d3ea6b: Simplify BitVector code (authored by serge-sans-paille).
Simplify BitVector code
Wed, Apr 14, 12:29 PM
serge-sans-paille closed D100387: Simplify BitVector code.
Wed, Apr 14, 12:29 PM · Restricted Project

Tue, Apr 13

serge-sans-paille updated the diff for D100387: Simplify BitVector code.

Take review into account.

Tue, Apr 13, 2:03 PM · Restricted Project
serge-sans-paille added inline comments to D99299: Normalize interaction with boolean attributes.
Tue, Apr 13, 1:22 PM · Restricted Project, Restricted Project
serge-sans-paille updated the diff for D99299: Normalize interaction with boolean attributes.

Fix and test verifier

Tue, Apr 13, 1:17 PM · Restricted Project, Restricted Project
serge-sans-paille requested review of D100387: Simplify BitVector code.
Tue, Apr 13, 7:34 AM · Restricted Project

Thu, Apr 8

serge-sans-paille updated the diff for D99299: Normalize interaction with boolean attributes.

Add verifier step

Thu, Apr 8, 12:39 PM · Restricted Project, Restricted Project
serge-sans-paille committed rG9229465bad85: [NFC] Fix warning introduced in 20105b6b4874a85813f7a4a3d8ad2a0f023dda14 (authored by serge-sans-paille).
[NFC] Fix warning introduced in 20105b6b4874a85813f7a4a3d8ad2a0f023dda14
Thu, Apr 8, 7:11 AM
serge-sans-paille added a comment to D99299: Normalize interaction with boolean attributes.

As you are now asserting that only certain values are allowed, I believe you also need to add a verifier check that checks this. It should not be possible to assert using a valid module.

Thu, Apr 8, 1:50 AM · Restricted Project, Restricted Project
serge-sans-paille committed rG20105b6b4874: [clang] Speedup line offset mapping computation (authored by serge-sans-paille).
[clang] Speedup line offset mapping computation
Thu, Apr 8, 1:12 AM

Wed, Apr 7

serge-sans-paille added inline comments to D99409: [clang] Speedup line offset mapping computation.
Wed, Apr 7, 9:48 AM · Restricted Project, Restricted Project
serge-sans-paille added a comment to D99409: [clang] Speedup line offset mapping computation.

Thanks @thakis, inestigating the issue is likely to take some time as it seems to be arch or system dependent

Wed, Apr 7, 7:19 AM · Restricted Project, Restricted Project
serge-sans-paille committed rG6951b72334bb: [clang] Speedup line offset mapping computation (authored by serge-sans-paille).
[clang] Speedup line offset mapping computation
Wed, Apr 7, 5:10 AM
serge-sans-paille closed D99409: [clang] Speedup line offset mapping computation.
Wed, Apr 7, 5:10 AM · Restricted Project, Restricted Project
serge-sans-paille added a comment to D98405: [cmake] Link to libnetwork on Haiku in llvm-jitlink.

You may need to do the same change in llvm/tools/llvm-jitlink/CMakeLists.txt, which makes me think it may valuable to implement a decent check à la autoconf to check for the actual symbol you're looking for, probably based on a sequence of CHECK_LIBRARY_EXISTS. Would you be ok to do that change?

Wed, Apr 7, 2:38 AM · Restricted Project
serge-sans-paille added a comment to D60380: Also document -arch as -arch is mac specific.

Reading through the source, it's relatively clear that -arch is specific to the Mach0 format, but -target seems applicable to OSX too, see https://godbolt.org/z/j8jvjbo84

Wed, Apr 7, 2:28 AM · Restricted Project
serge-sans-paille added a comment to D99299: Normalize interaction with boolean attributes.

@nikic gentle ping ;-)

Wed, Apr 7, 2:18 AM · Restricted Project, Restricted Project
serge-sans-paille accepted D100021: cmake: Remove unused property on some targets: LLVM_LINK_LIBS.

git grep confirmed!

Wed, Apr 7, 1:41 AM · Restricted Project

Tue, Apr 6

serge-sans-paille updated the diff for D99409: [clang] Speedup line offset mapping computation.

Take @MaskRay comments into account

Tue, Apr 6, 11:39 PM · Restricted Project, Restricted Project
serge-sans-paille updated the diff for D99409: [clang] Speedup line offset mapping computation.

Fix handling of final character

Tue, Apr 6, 8:49 AM · Restricted Project, Restricted Project
serge-sans-paille accepted D99715: [CMake] Fix Python 3 lookup when building LLVM with tests.

LGTM, thanks!

Tue, Apr 6, 2:48 AM · Restricted Project

Mon, Apr 5

serge-sans-paille updated the diff for D99409: [clang] Speedup line offset mapping computation.

After a great deal of benchmarking on different architectures, I finally settled for the bithack version, as advised by @lattner . The usage of llvm::countTrailingZeros makes the implementation faster than the previous version and it's easier to read.

Mon, Apr 5, 11:33 PM · Restricted Project, Restricted Project

Sat, Apr 3

serge-sans-paille added a comment to D99409: [clang] Speedup line offset mapping computation.

For complentess, I must mention another optimization: run a first memchr(Buf, BufLen, '\r') and if it finds nothing, use a fast path. That brings interesting speedup for the ref and seq version, but not for the SSE one. And it makes the code more difficult to read.

Sat, Apr 3, 1:57 PM · Restricted Project, Restricted Project
serge-sans-paille added a comment to D99409: [clang] Speedup line offset mapping computation.

Thanks @lattner for the feedback. I wasn't super happy with the stability of the performance, so I isolated the function in a standalone file, and benchmarked several implementations. All the sources are available there: https://github.com/serge-sans-paille/mapping-line-to-offset

Sat, Apr 3, 12:56 PM · Restricted Project, Restricted Project
serge-sans-paille accepted D99834: Don't check that std::pair is trivially copyable on FreeBSD.

Looks good, thanks for spotting this.

Sat, Apr 3, 9:33 AM · Restricted Project

Thu, Apr 1

serge-sans-paille added a comment to D99409: [clang] Speedup line offset mapping computation.

[EDIT] I updated the bithack link on github, it wasn't the latest version I had, and not the one I benchmarked.

Thu, Apr 1, 1:51 PM · Restricted Project, Restricted Project
serge-sans-paille added a comment to D99409: [clang] Speedup line offset mapping computation.

On a personnal note, I consider the SSE2 version easier to read and maintain, and SSE2 is a *very* widespread instruction set. The way I've split the implementation and the architectural detail should make it easy to port it to other architecture - I can do it for NEON if needs be.

Thu, Apr 1, 1:47 PM · Restricted Project, Restricted Project
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Warn on friend functions. I failed to support friend classes, but they are only declared and not defined, so that should be fine, right?

Thu, Apr 1, 5:55 AM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Do not use lexical parent, as suggested by @rsmith
Add test case for extern function worward-declared in function body, as suggested by @rsmith

Thu, Apr 1, 5:44 AM
serge-sans-paille added a comment to D99715: [CMake] Fix Python 3 lookup when building LLVM with tests.

Did you try just removing that find_package?

Thu, Apr 1, 5:15 AM · Restricted Project

Wed, Mar 31

serge-sans-paille added inline comments to D93095: Introduce -Wreserved-identifier.
Wed, Mar 31, 8:44 AM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Another round of review :-) I addressed both the scattering of warnOnReservedIdentifier and the code split between Decl.cpp and IdentifierInfo.cpp.

Wed, Mar 31, 8:41 AM

Tue, Mar 30

serge-sans-paille added inline comments to D93095: Introduce -Wreserved-identifier.
Tue, Mar 30, 1:37 PM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Address all the needed changes pointed out by @aaron.ballman *except* the most critical one on the call to warnOnReservedIdentifier being spread at several place in Sema. I'll try to find a better approach for that particular point.

Tue, Mar 30, 1:35 PM
serge-sans-paille updated subscribers of D99409: [clang] Speedup line offset mapping computation.

Thanks for pointing me at the former SSE implementation. This got me into deep thoughts, I've been trying various approaches, among which:

  • sequential optimization, basically the one currently in main
  • various optimization involving casting to uint64_t and doing various bit twiddling (damn, bit hacks are fun)
  • SSE / AVX optimization, based on the 2012 version.
Tue, Mar 30, 8:44 AM · Restricted Project, Restricted Project
serge-sans-paille updated subscribers of D99501: ignore -flto= options recognized by GCC.

Please submit a patch with context. @mehdi_amini this looks good to me, any thoughts?

Tue, Mar 30, 12:16 AM · Restricted Project

Mon, Mar 29

serge-sans-paille added a comment to D99299: Normalize interaction with boolean attributes.

@nikic up :-) Before I try to make that part more efficient, at least we now have a nicer interface.

Mon, Mar 29, 7:15 AM · Restricted Project, Restricted Project
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Fix typo

Mon, Mar 29, 4:21 AM
serge-sans-paille added inline comments to D93095: Introduce -Wreserved-identifier.
Mon, Mar 29, 4:12 AM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Adress final(?) comments from @rsmith and @aaron.ballman :
Don't warn on argument (or template argument) of top-level decl.
Extra test cases
Return an enumeration as part of the test

Mon, Mar 29, 4:09 AM

Fri, Mar 26

serge-sans-paille requested review of D99409: [clang] Speedup line offset mapping computation.
Fri, Mar 26, 3:58 AM · Restricted Project, Restricted Project

Wed, Mar 24

serge-sans-paille added a comment to D99080: Normalize usage of StrBoolAttr.

I kept the simplifcation of the API while not chagnign the representation int his alternative review: https://reviews.llvm.org/D99299 It doesn't have the performance gain of this patch, but the representation is unchanged which makes it easier to review. And it's backward compatible, so no need to auto-upgrade

Wed, Mar 24, 2:04 PM · Restricted Project
serge-sans-paille requested review of D99299: Normalize interaction with boolean attributes.
Wed, Mar 24, 2:02 PM · Restricted Project, Restricted Project
serge-sans-paille added a comment to D99080: Normalize usage of StrBoolAttr.

Thanks @nikic for pointing me in the assert direction; i've been prting without much trouble all exisiting test to use the form proposed in this review, and I'm now in an interesting situation; What if the following code:

Wed, Mar 24, 9:14 AM · Restricted Project
serge-sans-paille updated the diff for D99080: Normalize usage of StrBoolAttr.

Fix missing include + add auto upgrade test

Wed, Mar 24, 12:41 AM · Restricted Project

Mar 23 2021

serge-sans-paille updated the diff for D99080: Normalize usage of StrBoolAttr.

Add AutoUpgrade path, plus some extra asserts

Mar 23 2021, 9:26 AM · Restricted Project
serge-sans-paille committed rGe19884cd7462: Introduce a generic operator to apply complex operations to BitVector (authored by serge-sans-paille).
Introduce a generic operator to apply complex operations to BitVector
Mar 23 2021, 6:23 AM
serge-sans-paille closed D98176: Introduce a generic operator to apply complex operations to BitVector.
Mar 23 2021, 6:23 AM · Restricted Project
serge-sans-paille added a comment to D98906: [X86] Improve lowering of the unrolled inline-asm probing.

Besides the accurate uwtables, there's another conflicting use-case here – signal handlers. If we sub and then probe, we may receive a signal (and allocate a stack slot for it) in a potentially invalid stack area. Whereas if we probe and then sub, any signal handlers that occur during probing would still execute on what is significantly more likely to be a valid stack.

Mar 23 2021, 6:19 AM · Restricted Project
serge-sans-paille updated the diff for D98176: Introduce a generic operator to apply complex operations to BitVector.

Fix assertion

Mar 23 2021, 4:01 AM · Restricted Project
serge-sans-paille updated the diff for D98176: Introduce a generic operator to apply complex operations to BitVector.

As suggested by reviewers, limit usage to arrays with the same size and increase test coverage

Mar 23 2021, 1:22 AM · Restricted Project

Mar 22 2021

serge-sans-paille added inline comments to D99080: Normalize usage of StrBoolAttr.
Mar 22 2021, 12:27 PM · Restricted Project
serge-sans-paille added a comment to D99080: Normalize usage of StrBoolAttr.

Looks good conceptually. Only concern I have is that we used to emit some of these attributes with explicit ="false" (I think -- correct me if I'm wrong), in which case existing bitcode would now be interpreted as if the attribute was enabled, not disabled. I think we need some AutoUpgrade handling to drop the attribute from existing bitcode in that case.

Mar 22 2021, 12:26 PM · Restricted Project
serge-sans-paille committed rGe617cf9576c9: [NFC] Restore original SmallString size for X86TargetMachine::getSubtargetImpl… (authored by serge-sans-paille).
[NFC] Restore original SmallString size for X86TargetMachine::getSubtargetImpl…
Mar 22 2021, 11:20 AM
serge-sans-paille requested review of D99080: Normalize usage of StrBoolAttr.
Mar 22 2021, 8:13 AM · Restricted Project
serge-sans-paille added a comment to D98906: [X86] Improve lowering of the unrolled inline-asm probing.

Thanks for proposing this optimization. There's a reason (which is debatable) why we explicitly sub before moving :

Mar 22 2021, 6:17 AM · Restricted Project
serge-sans-paille committed rGf51ab1871655: Make clangd CompletionModel usable even with non-standard (but supported) layout (authored by serge-sans-paille).
Make clangd CompletionModel usable even with non-standard (but supported) layout
Mar 22 2021, 2:06 AM
serge-sans-paille closed D96787: Make clangd CompletionModel usable even with non-standard (but supported) layout.
Mar 22 2021, 2:06 AM · Restricted Project
serge-sans-paille committed rGb2f7ce91a644: [NFC] Simpler and faster key computation for getSubtargetImpl memoization (authored by serge-sans-paille).
[NFC] Simpler and faster key computation for getSubtargetImpl memoization
Mar 22 2021, 2:03 AM

Mar 17 2021

serge-sans-paille added a reviewer for D96787: Make clangd CompletionModel usable even with non-standard (but supported) layout: sylvestre.ledru.
Mar 17 2021, 12:36 AM · Restricted Project

Mar 16 2021

serge-sans-paille committed rGb2e78a061c06: [NFC] Use SmallString instead of std::string for the AttrBuilder (authored by serge-sans-paille).
[NFC] Use SmallString instead of std::string for the AttrBuilder
Mar 16 2021, 5:35 AM
serge-sans-paille closed D98190: [NFC] Use SmallString instead of std::string for the AttrBuilder.
Mar 16 2021, 5:34 AM · Restricted Project
serge-sans-paille committed rG35368bbdbb6f: [NFC] Replace loop by idiomatic llvm::find_if (authored by serge-sans-paille).
[NFC] Replace loop by idiomatic llvm::find_if
Mar 16 2021, 4:49 AM
serge-sans-paille committed rG6e040a19dbb2: [NFC] Wisely nest dyn_cast in FunctionLoweringInfo (authored by serge-sans-paille).
[NFC] Wisely nest dyn_cast in FunctionLoweringInfo
Mar 16 2021, 2:23 AM

Mar 15 2021

serge-sans-paille added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

Thanks @hubert.reinterpretcast , @jwakely and @qiucf for the feedback on that review!

Mar 15 2021, 10:29 AM · Restricted Project
serge-sans-paille committed rG4aa510be78a7: Allow __ieee128 as an alias to __float128 on ppc (authored by serge-sans-paille).
Allow __ieee128 as an alias to __float128 on ppc
Mar 15 2021, 10:29 AM
serge-sans-paille closed D97846: Allow __ieee128 as an alias to __float128 on ppc.
Mar 15 2021, 10:29 AM · Restricted Project
serge-sans-paille committed rG9628cb1feef6: [NFC] Use higher level constructs to check for whitespace/newlines in the lexer (authored by serge-sans-paille).
[NFC] Use higher level constructs to check for whitespace/newlines in the lexer
Mar 15 2021, 10:27 AM
serge-sans-paille closed D98637: [NFC] Use higher level constructs to check for whitespace/newlines in the lexer.
Mar 15 2021, 10:27 AM · Restricted Project
serge-sans-paille added a comment to D98637: [NFC] Use higher level constructs to check for whitespace/newlines in the lexer.

Concerning the performance aspect, when counting the number of instructions needed to compile the sqlite amalgametion, using

Mar 15 2021, 10:25 AM · Restricted Project
serge-sans-paille requested review of D98637: [NFC] Use higher level constructs to check for whitespace/newlines in the lexer.
Mar 15 2021, 10:23 AM · Restricted Project
serge-sans-paille added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

My suggestion would be "don't", because GCC's behaviour doesn't make sense!

Mar 15 2021, 1:18 AM · Restricted Project

Mar 13 2021

serge-sans-paille added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

GCC doesn't seem to implement this as a keyword?

namespace Q { int __ieee128; } // compiles
Mar 13 2021, 12:14 AM · Restricted Project

Mar 12 2021

serge-sans-paille added a comment to D98176: Introduce a generic operator to apply complex operations to BitVector.

With the patch, running perf stat ./bin/clang -w -c sqlite3.c -o/dev/null (basically compiling the SQLite amalgametion), I get

Mar 12 2021, 11:35 AM · Restricted Project
serge-sans-paille committed rG1ce2b584543a: [NFC] Use llvm::raw_string_ostream instead of std::stringstream (authored by serge-sans-paille).
[NFC] Use llvm::raw_string_ostream instead of std::stringstream
Mar 12 2021, 9:44 AM
serge-sans-paille committed rGbc4a5bdce4af: [NFC] Use StringRef instead of const char* for AsmPrinter (authored by serge-sans-paille).
[NFC] Use StringRef instead of const char* for AsmPrinter
Mar 12 2021, 5:40 AM

Mar 11 2021

serge-sans-paille accepted D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

LGTM, thanks for doing this!

Mar 11 2021, 10:17 PM · Restricted Project, Restricted Project, Restricted Project
serge-sans-paille added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

would it make sense to syndicate the minimal version in a single variable, say LLVM_MINIMAL_PYTHON_VERSION, and use it in several place instead of hard-coding the value across multiple files?

Mar 11 2021, 8:40 AM · Restricted Project, Restricted Project, Restricted Project
serge-sans-paille added a comment to D97846: Allow __ieee128 as an alias to __float128 on ppc.

@qiucf does it look good now?

Mar 11 2021, 6:15 AM · Restricted Project
serge-sans-paille added a comment to D98190: [NFC] Use SmallString instead of std::string for the AttrBuilder.

Do we have some information on how long these attributes typically are? libc++'s std::string has an inline capacity of 22, which is why I've been reluctant to change this so far.

Mar 11 2021, 6:06 AM · Restricted Project

Mar 10 2021

serge-sans-paille added inline comments to D89942: Disable LTO and LLD for bootstrap builds on systems unsupported by LLD.
Mar 10 2021, 7:57 AM · Restricted Project
serge-sans-paille added a comment to D98175: [NFC] Remove duplicate isNoBuiltinFunc method.

That was a very convincing argument :-) tag added.

Mar 10 2021, 12:19 AM · Restricted Project
serge-sans-paille committed rGea8e5b87acba: [NFC] Remove duplicate isNoBuiltinFunc method (authored by serge-sans-paille).
[NFC] Remove duplicate isNoBuiltinFunc method
Mar 10 2021, 12:19 AM
serge-sans-paille closed D98175: [NFC] Remove duplicate isNoBuiltinFunc method.
Mar 10 2021, 12:19 AM · Restricted Project
serge-sans-paille retitled D98175: [NFC] Remove duplicate isNoBuiltinFunc method from Remove duplicate isNoBuiltinFunc method to [NFC] Remove duplicate isNoBuiltinFunc method.
Mar 10 2021, 12:05 AM · Restricted Project

Mar 9 2021

serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Fix some formatting
Support literal operator

Mar 9 2021, 9:04 AM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Updated error message to report the reason why an identifier is reserved.

Mar 9 2021, 6:32 AM
serge-sans-paille updated the diff for D93095: Introduce -Wreserved-identifier.

Patch rebased on main.

Mar 9 2021, 12:53 AM
serge-sans-paille resigned from D53798: [lit] Add --show-substitutions.

This bug should probably be closed then

Mar 9 2021, 12:28 AM · Restricted Project
serge-sans-paille resigned from D85299: [llvm] Support autoloading vendor-defined plugins.

I 100% agree with the above arguments

Mar 9 2021, 12:18 AM · Restricted Project
serge-sans-paille accepted D89942: Disable LTO and LLD for bootstrap builds on systems unsupported by LLD.

@tbaeder sorry for the delay. I don't see any reason why we should keep that one in review any longer.

Mar 9 2021, 12:17 AM · Restricted Project