Page MenuHomePhabricator

rengolin (Renato Golin)
Toolchain Engineer

Projects

User does not belong to any projects.

User Details

User Since
Oct 19 2012, 12:57 AM (343 w, 4 d)

Recent Activity

Yesterday

rengolin added a comment to D62110: [LV] prevent potential divide by zero. NFC.

Can expectedCost ever return zero?

Mon, May 20, 12:43 AM · Restricted Project

Wed, May 8

rengolin accepted D61638: [LV] Move getScalarizationOverhead and vector call cost computations to CM. (NFC).

looks obviously good to me. thanks!

Wed, May 8, 2:33 PM · Restricted Project

Tue, Apr 30

rengolin accepted D61030: [PassManagerBuilder] Add option for interleaved loops, for loop vectorize..
Tue, Apr 30, 2:07 PM · Restricted Project
rengolin added inline comments to D61030: [PassManagerBuilder] Add option for interleaved loops, for loop vectorize..
Tue, Apr 30, 6:22 AM · Restricted Project

Wed, Apr 24

rengolin added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

Exactly. Non-constant values can become constant. Constant values can be guarded by vscale-dependent runtime guards (both hand-written and compiler generated). My preference is to leave this not restricted to vscale == 1 values, but rather allow all values that can be supported at runtime, and have it be UB if, at runtime, the relevant index is not available.

Wed, Apr 24, 9:25 AM

Apr 15 2019

rengolin added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

So if we wanted to keep them as intrinsics for now, I think we have one of three options:

  1. Leave discussion on more complicated shuffles until later, and only use scalable autovectorization on loops which don't need anything more than splats.
Apr 15 2019, 6:52 AM

Apr 13 2019

rengolin added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

If we are going for more than element-wise Instructions, we need to have well defined and agreed semantics for each of those, and that should be part of the LangRef for each such Instruction.

Apr 13 2019, 12:54 PM

Apr 6 2019

rengolin added inline comments to D32530: [SVE][IR] Scalable Vector IR Type.
Apr 6 2019, 3:02 AM

Apr 5 2019

rengolin added a comment to D32530: [SVE][IR] Scalable Vector IR Type.
  • Clarified that the runtime multiple is constant across all scalable vector types, even if the constant value isn't known at compile time.
  • Removed extra whitespace.
Apr 5 2019, 6:16 AM
rengolin added inline comments to D32530: [SVE][IR] Scalable Vector IR Type.
Apr 5 2019, 1:54 AM

Mar 20 2019

rengolin added inline comments to D59149: [LV] move useEmulatedMaskMemRefHack() functionality to TTI..
Mar 20 2019, 2:08 AM · Restricted Project

Mar 19 2019

rengolin added inline comments to D59149: [LV] move useEmulatedMaskMemRefHack() functionality to TTI..
Mar 19 2019, 2:31 AM · Restricted Project

Mar 16 2019

rengolin added a comment to D59335: [RFC] Enable vectorization on Neon even without fast-math.

I'm curious as to how will we generate these flags.

Mar 16 2019, 5:49 AM · Restricted Project
rengolin added a comment to D59335: [RFC] Enable vectorization on Neon even without fast-math.

langref part seems to be missing.

I'll add it if/once reviewers are okay with this approach.

Mar 16 2019, 5:36 AM · Restricted Project
rengolin added a comment to D59149: [LV] move useEmulatedMaskMemRefHack() functionality to TTI..

Cost model for emulated masked load/store is completely broken.

comment is still valid. What would it take to address this properly?

Each target to run many applications/benchmarks to come up with the "right" adjustment to the cost model. No way around that.

Mar 16 2019, 5:32 AM · Restricted Project

Mar 13 2019

rengolin added a comment to D59149: [LV] move useEmulatedMaskMemRefHack() functionality to TTI..

The concept of "hacked" is lost when you move up to TTI. I'd change the logic to reflect that this is making it "prohibitively expensive" instead of "hacked value".

Mar 13 2019, 7:49 AM · Restricted Project

Mar 7 2019

rengolin added a comment to D59108: [Docs] Add top level CONTRIBUTING.md..

I'm not against moving docs there but I think there should be a conversation about the broader subject of docs, github, wiki, etc.

Mar 7 2019, 1:21 PM · Restricted Project
rengolin added reviewers for D47770: [MVT][SVE] Add EVT strings and Type mapping: rengolin, greened.
Mar 7 2019, 11:35 AM
rengolin added a reviewer for D53137: Scalable type size queries (llvm): greened.
Mar 7 2019, 11:35 AM

Feb 27 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I'm trying to understand what log10 behavior got changed. Could someone out where that change is?

Feb 27 2019, 12:28 PM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I'm not sure what the proposed split would consist of.

Feb 27 2019, 10:37 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hi @steleman, that wasn't a "loaded question", it was an honest one. Let me try to clarify what that means for all parties.

Feb 27 2019, 1:28 AM · Restricted Project

Feb 19 2019

rengolin committed rG89d4a9d6e4e0: second test on git-llvm-push (authored by rengolin).
second test on git-llvm-push
Feb 19 2019, 2:06 PM
rengolin committed rL354390: second test on git-llvm-push.
second test on git-llvm-push
Feb 19 2019, 2:05 PM
rengolin committed rG9845da93e125: Testing git-llvm-push script (authored by rengolin).
Testing git-llvm-push script
Feb 19 2019, 1:32 PM
rengolin committed rL354383: Testing git-llvm-push script.
Testing git-llvm-push script
Feb 19 2019, 1:31 PM

Feb 18 2019

rengolin added a comment to D54791: [AArch64] Fix disassembly of SXTL and UXTL aliases.

@t.p.northover Is this the correct behaviour for Apple's syntax?

Feb 18 2019, 3:26 AM · Restricted Project
rengolin accepted D23610: [ARM] Add pre-defined macros for ROPI and RWPI.

Sorry for the delay, this fell out of my radar and just saw the ping now.

Feb 18 2019, 3:24 AM · Restricted Project

Feb 16 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Perfect, thanks!

Feb 16 2019, 1:38 AM · Restricted Project

Feb 15 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

@bryanpkc debug build makes sense, thanks! @steleman, I'd rather just order now and try to rector later. This patch has changed enough tunes already. :-)

Feb 15 2019, 4:33 PM · Restricted Project
rengolin accepted D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Just did a rebuild after moving lgamma after isoc99. No warnings, no errors, and no difference in my test results ...

Feb 15 2019, 5:52 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks Stephan, now looks good.

Feb 15 2019, 4:48 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks for your answers, they make sense. Other than the mistake I made on disabling exp calls (you were right), looks fine.

Feb 15 2019, 2:37 AM · Restricted Project
rengolin accepted D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Thanks, LGTM!

Feb 15 2019, 2:28 AM · Restricted Project

Feb 14 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Because __tgamma_r_finite doesn't exist, at least on Linux. :-)

See /usr/include/bits/math-finite.h.

Feb 14 2019, 5:16 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

tgamma stands for "true gamma", and it is the function name specified in the ANSI C standard.

Feb 14 2019, 3:37 AM · Restricted Project
rengolin edited reviewers for D57504: RFC: Prototype & Roadmap for vector predication in LLVM, added: mkuper, rkruppe, fhahn; removed: programmerjake.
Feb 14 2019, 2:58 AM · Restricted Project
rengolin added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 14 2019, 2:52 AM · Restricted Project

Feb 13 2019

rengolin added a comment to D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Funny thing is, SVML is also only supported, AFAIK, for Intel. I agree that we should emit errors, but we should also emit a similar error on SVML.

Feb 13 2019, 5:44 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I have a few comments inline, mostly harmless, as the change is almost entirely mechanical and makes sense.

Feb 13 2019, 4:46 AM · Restricted Project

Feb 9 2019

rengolin added a comment to D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

@hfinkel There are changes in this patch, as well as its LLVM counterpart D53927. Please, re-review.

Feb 9 2019, 5:09 AM · Restricted Project
rengolin requested changes to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 9 2019, 5:08 AM · Restricted Project
rengolin reopened D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Right, this is a completely different patch and it seems that the original proposal hadn't been tested thoroughly.

Feb 9 2019, 5:08 AM · Restricted Project
rengolin requested changes to D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Since the previous version was approved already, I'm "requesting changes" so that we can look at it again, together with D53927 to make sure it's still the right way to go.

Feb 9 2019, 5:07 AM · Restricted Project

Feb 8 2019

rengolin added a reviewer for D57953: [Jump Threading] Convert conditional branches into unconditional branches using GVN results: jfb.
Feb 8 2019, 8:30 AM
rengolin added a comment to D57953: [Jump Threading] Convert conditional branches into unconditional branches using GVN results.

Adding llvm-commits for wider audience

Feb 8 2019, 8:13 AM
rengolin updated subscribers of D57953: [Jump Threading] Convert conditional branches into unconditional branches using GVN results.
Feb 8 2019, 8:12 AM

Feb 6 2019

rengolin added inline comments to D57837: [LV] Prevent interleaving if computeMaxVF returned None..
Feb 6 2019, 2:02 PM · Restricted Project

Jan 31 2019

rengolin accepted D57529: Add .dword direcrive support for aarch64 mc.

dword is indeed widely used. I'm surprised we didn't support that yet. Apparently, neither does Arm, only X86, Mips and RiscV.

Jan 31 2019, 11:35 AM

Jan 30 2019

rengolin accepted D53695: Scalable VectorType RFC.

I didn't move it to the proposals directory, since I'm not sure if we would lose the inline comments that way.

Jan 30 2019, 8:23 AM

Jan 29 2019

rengolin added a comment to D30247: Epilog loop vectorization.

BTW, targets that have efficient masked operations may also find it useful for cycles and size to vectorize (including epilogs) under -Os, and following r345705 possibly also with enable-masked-interleaved-mem-accesses turned on.

Jan 29 2019, 9:08 AM

Jan 23 2019

rengolin accepted D57044: [AArch64] OOptimize floating point materialization.

LGTM, thanks!

Jan 23 2019, 9:05 AM · Restricted Project
rengolin added a comment to D53355: Introducing VPPHINode .

Sorry for this long reply. As Satish has pointed out in his review, this VPPHINode will be used to generate blending.

Jan 23 2019, 6:53 AM

Jan 22 2019

rengolin added a comment to D57044: [AArch64] OOptimize floating point materialization.

Sounds good. Please add simple tests for +inf and -inf on both double and float. Perhaps also float to double and vice versa from the IR constant (like the changed test shows), too. Thanks!

Jan 22 2019, 5:34 AM · Restricted Project

Jan 20 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hal approved the Clang side, so this one looks good, too.

Jan 20 2019, 2:28 AM · Restricted Project

Jan 10 2019

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Perhaps best to ping Clang's commit, as that's the review that is blocking this one.

Jan 10 2019, 2:07 AM · Restricted Project

Dec 19 2018

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks! I've updated the reviewers on the Clang review (D53928).

Dec 19 2018, 7:26 AM · Restricted Project
rengolin added reviewers for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions: rsmith, chandlerc, rnk, ABataev.

Adding clang/omp developers for proper review. Please feel free to add more.

Dec 19 2018, 7:16 AM · Restricted Project

Dec 17 2018

rengolin requested changes to D55445: [cmake] Update config.guess to gnuconfig git 2018-12-07.

If you git log cmake/config.guess you'll see that all the past changes either remove functionality or add obvious parts that shouldn't inflict on copyright.

Dec 17 2018, 5:06 AM

Dec 14 2018

rengolin accepted D53816: [TableGen:AsmWriter] Cope with consecutive tied operands..

Right, that's all very hypothetical, but the change is harmless otherwise and generally an improvement of the code. I can't see any impact this would have in code generation or compilation time, so LGTM.

Dec 14 2018, 3:39 AM
rengolin updated subscribers of D55427: [libcxx] Call __count_bool_true for bitset count.

Getting a bit late in this discussion, as we had an internal one just recently.

Dec 14 2018, 3:16 AM

Dec 13 2018

rengolin added a comment to D53349: [VPlan] Changes to implement VPlan based predication for VPlan-native path..

Right, I'm happy with the patch and will let @fhahn do the final review and approval. Thanks!

Dec 13 2018, 3:21 AM

Dec 12 2018

rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Where, when, how and by whom are these #pragmas inserted? Are they silently inserted by clang? Do they have to be manually inserted in existing code?
What is the effect of these #pragmas? The ARM closed-source commercial compiler requires OpenMP. How will these #pragmas be implemented in the open-source clang? Will they import OpenMP interfaces in the open-source clang as well?
If importing OpenMP interfaces is not triggered by the insertion of these #pragmas, why is the argument to -fveclib called 'openmp'? I would find it baffling to have to type -fveclib=openmp on compile-line, but ending up not using OpenMP.

I think you should post these questions as a reply to the RFC.

Dec 12 2018, 2:03 AM · Restricted Project
rengolin added a comment to D53349: [VPlan] Changes to implement VPlan based predication for VPlan-native path..

As a starting point, this sure looks good to me. Thanks!

Dec 12 2018, 1:54 AM

Dec 11 2018

rengolin added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Dec 11 2018, 2:15 PM · Restricted Project
rengolin added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Dec 11 2018, 1:55 PM · Restricted Project
rengolin added a comment to D54412: [RFC] Re-implementing -fveclib with OpenMP.

Is there a document that explains how to submit an RFC?

Dec 11 2018, 1:34 PM
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Then they are in trouble with a hypothetical distro SLEEF.

That's because no commercial distro - if they ever decide to include SLEEF - will compile SLEEF for the maximum CPU feature-set possible. They do the exact opposite - they compile it for the lowest possible common denominator.

For example, on AArch64, you won't get distro libraries compiled specifically for -mcpu=thunderx2t99. Or on x86_64 you'll never get -mavx512ifma, for example.

Dec 11 2018, 10:01 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I am taking it on faith that SLEEF won't keep changing their mangling and ABI.
AFAICS, SLEEF isn't included in any Linux distro. I can't find any reference to it in RH/CentOS/Fedora, or at rpmfind. Or Ubuntu or SuSE.

Dec 11 2018, 8:39 AM · Restricted Project
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Today, we don't have SVE, so we don't generate SVE bindings, all fine. Say, next year you upstream SVE bindings in SLEEF and then change LLVM to emit those too.

SLEEF already has support for SVE.

Dec 11 2018, 7:06 AM · Restricted Project
rengolin added reviewers for D54412: [RFC] Re-implementing -fveclib with OpenMP: hfinkel, rengolin, hsaito.
Dec 11 2018, 7:05 AM
rengolin added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Overall, this change looks ok to me. The tests look good, too.

Dec 11 2018, 4:29 AM · Restricted Project

Dec 7 2018

rengolin added a comment to D55445: [cmake] Update config.guess to gnuconfig git 2018-12-07.

One would hope someone would have done similar work on a compatible license, after all these years...

I don't think that's likely to happen, given the very narrow use of this script and how complex it logic is. I think it would take tremendous effort to reinvent all those hacks from scratch, and it would be hard to prove the work was done independently without violating copyright.

Dec 7 2018, 11:45 AM
rengolin added reviewers for D55445: [cmake] Update config.guess to gnuconfig git 2018-12-07: lattner, chandlerc, echristo.

Adding more folks due to the license issue.

Dec 7 2018, 9:57 AM

Dec 5 2018

rengolin committed rL348364: Revert: Honor -fdebug-prefix-map when creating function names for the debug….
Revert: Honor -fdebug-prefix-map when creating function names for the debug…
Dec 5 2018, 6:00 AM
rengolin committed rC348364: Revert: Honor -fdebug-prefix-map when creating function names for the debug….
Revert: Honor -fdebug-prefix-map when creating function names for the debug…
Dec 5 2018, 6:00 AM

Dec 3 2018

rengolin accepted D54853: [ARM][MC] Move information about variadic register defs into tablegen.

Right, that one is a hairy test, and I can see how this would break that test if not right. :)

Dec 3 2018, 2:07 AM

Dec 1 2018

rengolin accepted D54852: [ARM][Asm] Debug trace for the processInstruction loop.

That's very useful, thanks! LGTM.

Dec 1 2018, 12:01 PM
rengolin added a comment to D54853: [ARM][MC] Move information about variadic register defs into tablegen.

Nice clean solution, thanks!

Dec 1 2018, 11:59 AM

Nov 30 2018

rengolin committed rL347990: Fix parenthesis warning in IVDescriptors.
Fix parenthesis warning in IVDescriptors
Nov 30 2018, 5:57 AM
rengolin committed rL347989: Add a new reduction pattern match.
Add a new reduction pattern match
Nov 30 2018, 5:43 AM
rengolin closed D54464: Add a new reduction pattern match.
Nov 30 2018, 5:43 AM
rengolin accepted D54464: Add a new reduction pattern match.

Accepting as this seems to fix the fast-math issue that was the reason why we reverted. Let me know if this still breaks things.

Nov 30 2018, 5:42 AM

Nov 25 2018

rengolin added reviewers for D54386: Disable for new Linux OS runs: upload test traces: labath, omjavaid.

This makes sense to me, but I'm not well versed in LLDB testing. Adding Pavel and Omair to approve it.

Nov 25 2018, 9:54 AM · Restricted Project, Restricted Project

Nov 23 2018

rengolin added a comment to D54850: [ARM][AsmParser] Improve debug printing of parsed asm operands.

LGTM, do we have any tests for llvm-mc output?

Nov 23 2018, 6:17 AM

Nov 21 2018

rengolin added a reviewer for D54791: [AArch64] Fix disassembly of SXTL and UXTL aliases: t.p.northover.

I'm not sure what's the supposed behaviour on Apple syntax, but the tests show both apple and eabi syntax changing to the recommended encoding, so this LGTM.

Nov 21 2018, 6:27 AM · Restricted Project

Nov 14 2018

rengolin updated subscribers of D54464: Add a new reduction pattern match.

@Carrot, can you check if this fixes the fast math issues on your side, please?

Nov 14 2018, 6:53 AM

Nov 13 2018

rengolin accepted D54378: Add Hurd triplet to LLVMSupport.
Nov 13 2018, 11:26 PM
rengolin accepted D49489: [VPlan] VPlan version of InterleavedAccessInfo..

Perfect, LGTM. Thanks!

Nov 13 2018, 6:46 AM
rengolin added a comment to D49489: [VPlan] VPlan version of InterleavedAccessInfo..

So, IIUC, the way you only get the interleave info on instructions and map to VPlan is because we don't yet have scalar evolution in VPlan, so we need to do that in Instruction and then map to VPInstruction.

Nov 13 2018, 5:04 AM

Nov 12 2018

rengolin accepted D49491: [RFC][VPlan, SLP] Add simple SLP analysis on top of VPlan..

Just had a look again and it's looking great, thanks Florian!

Nov 12 2018, 12:53 PM

Nov 10 2018

rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

I really do find the break with convention here somewhat deeply unfortunate. It makes parsing and recognizing triples reliably much harder IMO. This really should be 'hurd-gnu' or 'mach-gnu' (or however you want to spell the 'OS' here).

Nov 10 2018, 9:09 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

That's not to say I'm against adding support for GNU Hurd, I'm moreso implying that regardless of what GNU Hurd guidelines say, if they may cause problems in LLVM ecosystem, especially as far as core targets (or rather platforms) go, you have to consider the large ecosystems that use Clang and LLVM and sometimes adapt to avoid causing issues downstream (for example with distro vendors with Glibc/GNU Linux being the core of main variations of server and desktop Linux distros).

Nov 10 2018, 8:56 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

To be honest, I hadn't even imagined that the patch could have consequences on non-Hurd systems.

Nov 10 2018, 8:54 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

Is that really supposed to work? I thought the rules was that the cpu parts and the vendor parts mustn't contain '-', and thus the splitting is never ambiguous, and the os part can contain '-' (heavily used by GNU/Linux, GNU/kFreeBSD, etc.)

Nov 10 2018, 8:24 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

Well, it definitely is for GNU/Hurd, now that very basic software pieces such as librsvg start _depending_ on rust, which is available only through llvm.

Nov 10 2018, 8:12 AM
rengolin requested changes to D54378: Add Hurd triplet to LLVMSupport.

Yes but my concern comes from possible confusion with Glibc based Linux targets which are one of the "main" targets supported by LLVM. Either adding hurd or mach somewhere would be sufficient to disambiguate it from others, and yes I'm aware that they have a somewhat free format but they convey some sort of information, ie. with Linux targets gnu implies GNU/Glibc-based userland, so going by that convention one could easily assume that said triple simply implies GNU/Glibc/ELF userland. I think simply using gnu is too ambiguous, especially considering this is being added as an experimental target.

Nov 10 2018, 7:49 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

I understand your concerns, but that's really not something that we can change at this point, there is far too much software which has written i386-pc-gnu in their source code for us to change all that.

Nov 10 2018, 7:46 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

I'm not sure how GCC does it but this seems pretty out of line in comparison to all other targets, GNU makes sense to indicate that the target uses a GNU (usually with Glibc) userland but there's no indication of the kernel, which would be something like mk or mach. In which case I think i386-pc-mach-gnu or something along the lines would make sense, unless this is absolutely needed for compatibility reasons?

Nov 10 2018, 6:21 AM
rengolin added a comment to D54378: Add Hurd triplet to LLVMSupport.

(I can not commit this myself)

Nov 10 2018, 5:57 AM