Page MenuHomePhabricator

loladiro (Keno Fischer)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 22 2013, 10:24 PM (303 w, 5 d)

Recent Activity

Mon, Sep 16

loladiro accepted D65057: [ConstantFolding] Use FoldBitCast correctly.

LGTM. @lebedev.ri, do you have further review?

Mon, Sep 16, 6:40 AM · Restricted Project

Wed, Sep 11

loladiro added a comment to D66602: Add a LineTable class to GSYM and test it..

This broke the build for me locally:

In file included from /home/keno/llvm-project/llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp:10:0:
/home/keno/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h:36:29: error: declaration of ‘llvm::Optional<llvm::gsym::LineTable> llvm::gsym::FunctionInfo::LineTable’ [-fpermissive]
   llvm::Optional<LineTable> LineTable;
                             ^~~~~~~~~
In file included from /home/keno/llvm-project/llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h:14:0,
                 from /home/keno/llvm-project/llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp:10:
/home/keno/llvm-project/llvm/include/llvm/DebugInfo/GSYM/LineTable.h:118:7: error: changes meaning of ‘LineTable’ from ‘class llvm::gsym::LineTable’ [-fpermissive]
 class LineTable {
       ^~~~~~~~~
[720/3364] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolution.cpp.o
Wed, Sep 11, 3:29 PM

Aug 9 2019

loladiro updated the diff for D66035: [WebAssembly] WIP: Add support for reference types.

Accidentally only pushed half the changes

Aug 9 2019, 3:29 PM · Restricted Project, Restricted Project
loladiro created D66035: [WebAssembly] WIP: Add support for reference types.
Aug 9 2019, 3:29 PM · Restricted Project, Restricted Project

Aug 5 2019

loladiro added a comment to D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.

Just out of curiosity, how did you discover this bug?

Aug 5 2019, 3:01 PM · Restricted Project
loladiro added a comment to D64032: [cmake] With utils disabled, don't build tblgen in cross mode.

Ok, I think that'd work for my use case. I'll try it out and post a revision to that extent.

Aug 5 2019, 2:46 PM · Restricted Project
loladiro committed rG5c3cdef84b82: [WebAssembly] Fix conflict between ret legalization and sjlj (authored by loladiro).
[WebAssembly] Fix conflict between ret legalization and sjlj
Aug 5 2019, 2:38 PM
loladiro added inline comments to D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.
Aug 5 2019, 2:15 PM · Restricted Project
loladiro added a comment to D64032: [cmake] With utils disabled, don't build tblgen in cross mode.

Hmm, we do have a list of all the .cpp files in the tablegen tool in ${ARGN}, and I'd be fine depending on the target libraries. Do you know of a way to emulate whatever handling add_executable is doing for .cpp files to get at the included .h files?

Aug 5 2019, 1:12 PM · Restricted Project
loladiro added a comment to D64032: [cmake] With utils disabled, don't build tblgen in cross mode.

Is there a way to just add the whatever the underlying dependencies are that are missing for the native tool? My concern is that I don't want to build target executables (because the toolchain for that is broken).

Aug 5 2019, 12:07 PM · Restricted Project

Aug 3 2019

loladiro updated the diff for D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.

Updated to add a test and confine the changes to the wasm backend code.

Aug 3 2019, 4:29 PM · Restricted Project
loladiro committed rG3c805d125a9b: [WebAssembly] Fix allocsize attribute in sjlj lowering (authored by loladiro).
[WebAssembly] Fix allocsize attribute in sjlj lowering
Aug 3 2019, 2:41 PM

Jul 30 2019

loladiro updated subscribers of D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.
Jul 30 2019, 1:17 PM · Restricted Project
loladiro updated subscribers of D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.
Jul 30 2019, 1:16 PM · Restricted Project
loladiro created D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.
Jul 30 2019, 12:18 PM · Restricted Project
loladiro created D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.
Jul 30 2019, 11:16 AM · Restricted Project

Jul 15 2019

loladiro committed rG42e90ed7717e: [cmake] Don't set install rules for tblgen if building utils is disabled (authored by loladiro).
[cmake] Don't set install rules for tblgen if building utils is disabled
Jul 15 2019, 12:06 PM

Jul 4 2019

loladiro created D64225: [cmake] Don't set install rules for tblgen if building utils is disabled.
Jul 4 2019, 4:42 PM · Restricted Project

Jul 1 2019

loladiro committed rGa7f00941efd7: [cmake] With utils disabled, don't build tblgen in cross mode (authored by loladiro).
[cmake] With utils disabled, don't build tblgen in cross mode
Jul 1 2019, 4:16 PM
loladiro updated the diff for D64032: [cmake] With utils disabled, don't build tblgen in cross mode.

Use set_target_properties to set EXCLUDE_FROM_ALL on the target rather than using
the global setting.

Jul 1 2019, 3:45 PM · Restricted Project
loladiro created D64032: [cmake] With utils disabled, don't build tblgen in cross mode.
Jul 1 2019, 1:56 PM · Restricted Project

Jun 25 2019

loladiro added a comment to D63696: [WebAssembly] Fix list of relocations with addends in lld.

There was a small omission in this revision that I fixed up in https://reviews.llvm.org/rG5bb0dcd96ec1.

Jun 25 2019, 6:33 PM · Restricted Project
loladiro committed rG5bb0dcd96ec1: [WebAssembly] Fix accidental omission from rLLD364367 (authored by loladiro).
[WebAssembly] Fix accidental omission from rLLD364367
Jun 25 2019, 6:28 PM
loladiro committed rGc5b8e1c538d6: [lld/WebAssembly] Slightly nicer error message for malformed input files (authored by loladiro).
[lld/WebAssembly] Slightly nicer error message for malformed input files
Jun 25 2019, 5:54 PM
loladiro committed rGcadcb9eb6131: [WebAssembly] Fix list of relocations with addends in lld (authored by loladiro).
[WebAssembly] Fix list of relocations with addends in lld
Jun 25 2019, 5:54 PM
loladiro added inline comments to D63696: [WebAssembly] Fix list of relocations with addends in lld.
Jun 25 2019, 5:28 PM · Restricted Project
loladiro added a comment to D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.

Ideally I'd rather see the invalid file be generated on the fly, but this is also ok since it should never really change.

What about the actual test that checks for the error string? I imagine the binary would go in "Inputs" and the .test would be a text file that checks for the error.

Jun 25 2019, 5:12 PM · Restricted Project
loladiro updated the diff for D63696: [WebAssembly] Fix list of relocations with addends in lld.

Address review comments and add test case.

Jun 25 2019, 5:06 PM · Restricted Project
loladiro updated the diff for D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.

Remove extraneous output from error message and add test case.

Jun 25 2019, 4:22 PM · Restricted Project
loladiro accepted D59730: [GVN] teach ConstantFolding correct handling of non-integral addrspace casts.

This looks fine to me now. @reames if you have a chance, I'd appreciate confirmation that your concerns are addressed as well.

Jun 25 2019, 2:21 PM · Restricted Project

Jun 23 2019

loladiro created D63696: [WebAssembly] Fix list of relocations with addends in lld.
Jun 23 2019, 4:24 PM · Restricted Project
loladiro created D63694: [lld/WebAssembly] Slightly nicer error message for malformed input files.
Jun 23 2019, 3:21 PM · Restricted Project

Jun 22 2019

loladiro committed rG5f4ae7c45718: [Support] Fix build under Emscripten (authored by loladiro).
[Support] Fix build under Emscripten
Jun 22 2019, 5:31 PM
loladiro created D63688: [Support] Fix build under Emscripten.
Jun 22 2019, 4:49 PM · Restricted Project

Jun 7 2019

loladiro committed rG6f48c076207f: [analyzer] Add werror flag for analyzer warnings (authored by loladiro).
[analyzer] Add werror flag for analyzer warnings
Jun 7 2019, 4:33 PM
loladiro committed rGeb4a561fa377: [GVN] non-functional code movement (authored by loladiro).
[GVN] non-functional code movement
Jun 7 2019, 4:08 PM
loladiro added inline comments to D59729: [GVN] non-functional code movement.
Jun 7 2019, 2:31 PM · Restricted Project

Jun 4 2019

loladiro added a comment to D62885: [analyzer] Add werror flag for analyzer warnings.

So, you'd like to make this a frontend flag in order not to expose it to "regular" end users? Or was it because, well, every other flag we have is a frontend flag?

Jun 4 2019, 6:13 PM · Restricted Project, Restricted Project
loladiro created D62885: [analyzer] Add werror flag for analyzer warnings.
Jun 4 2019, 4:51 PM · Restricted Project, Restricted Project

May 8 2019

loladiro added a comment to D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Looked straightforward enough. Should be fixed by rPLO360238. I don't usually work on polly, so let me know if I misunderstood something.

May 8 2019, 3:36 AM · Restricted Project
loladiro committed rGaa1b6f1cfb35: [polly][SCEV] Expand SCEV matcher cases for new smin/umin ops (authored by loladiro).
[polly][SCEV] Expand SCEV matcher cases for new smin/umin ops
May 8 2019, 3:34 AM

May 7 2019

loladiro committed rGa1a4adf4b919: [SCEV] Add explicit representations of umin/smin (authored by loladiro).
[SCEV] Add explicit representations of umin/smin
May 7 2019, 8:27 AM

May 3 2019

loladiro added a comment to D59729: [GVN] non-functional code movement.

@vtjnash Was the review comment addressed? If so I assume you want me to land this, since you don't have commit?

May 3 2019, 5:53 AM · Restricted Project
loladiro added a comment to D50167: RFC: [SCEV] Add explicit representations of umin/smin.

@sanjoy Could you take another look to make sure I have addressed your comments to your satisfaction before I commit this?

May 3 2019, 5:42 AM · Restricted Project
loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

A few minor tweaks.

May 3 2019, 5:20 AM · Restricted Project
loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Rebase and address review comments.

May 3 2019, 4:40 AM · Restricted Project

May 1 2019

loladiro committed rGa3e4b3bd3320: [SCEV] Use isKnownViaNonRecursiveReasoning for smax simplification (authored by loladiro).
[SCEV] Use isKnownViaNonRecursiveReasoning for smax simplification
May 1 2019, 8:59 AM
loladiro added inline comments to D50167: RFC: [SCEV] Add explicit representations of umin/smin.
May 1 2019, 8:35 AM · Restricted Project
loladiro added a comment to D61166: [SCEV] Use isKnownViaNonRecursiveReasoning for smax simplification.

and as I found out also stack overflows

For posterity, do you have some example IR and/or stack traces that you could attach to the commit message, or make a test case out of?

May 1 2019, 8:18 AM · Restricted Project
loladiro committed rGd8f856d26549: [LoopInfo] Faster implementation of setLoopID. NFC. (authored by loladiro).
[LoopInfo] Faster implementation of setLoopID. NFC.
May 1 2019, 7:39 AM

Apr 26 2019

loladiro added a comment to D44650: Fix build of llvm-cfi-verify on mingw32.

Shouldn't instead LLVMCFIVerify be declared using add_llvm_library with the proper dependency on the add_llvm_tool line. It seems like the problem might just be mixing the llvm and the cmake variant of these commands.

Apr 26 2019, 3:56 PM · Restricted Project
loladiro created D61215: [LoopInfo] Faster implementation of setLoopID. NFC..
Apr 26 2019, 3:43 PM · Restricted Project
loladiro added a comment to D46460: [LoopInfo] Don't bail out early in getLoopID.

Actually, looks like the change to setLoopID is still relevant. I'll submit a new revision with just that change.

Apr 26 2019, 3:20 PM · Restricted Project
loladiro abandoned D46460: [LoopInfo] Don't bail out early in getLoopID.

Looks like this got fixed by @jdoerfert in rL341926 with a near identical patch and test. No rebase required.

Apr 26 2019, 3:14 PM · Restricted Project

Apr 25 2019

loladiro added a comment to D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Alright, I have rebased this revision. I'd be happy to make the improvement to getAddExpr requested by @tvikram, since that seems independently useful, but I'd like to come to an agreement with @sanjoy and @mkazantsev on direction first.

Apr 25 2019, 6:21 PM · Restricted Project
loladiro created D61166: [SCEV] Use isKnownViaNonRecursiveReasoning for smax simplification.
Apr 25 2019, 6:14 PM · Restricted Project
loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Undo a small spurious change I noticed while browsing the diff

Apr 25 2019, 5:59 PM · Restricted Project
loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Rebased

Apr 25 2019, 5:50 PM · Restricted Project
loladiro committed rGe008be2b0723: [CMake][PowerPC] Recognize LLVM_NATIVE_TARGET="ppc64le" as PowerPC (authored by loladiro).
[CMake][PowerPC] Recognize LLVM_NATIVE_TARGET="ppc64le" as PowerPC
Apr 25 2019, 2:26 PM

Apr 4 2019

loladiro accepted D60231: Include invoke'd functions for recursive extract.
Apr 4 2019, 2:43 PM · Restricted Project

Apr 3 2019

loladiro added a comment to D60231: Include invoke'd functions for recursive extract.

Inline comment on implementation. The functionality looks fine to me.

Apr 3 2019, 1:35 PM · Restricted Project

Jan 23 2019

loladiro created D57118: [CMake][PowerPC] Recognize LLVM_NATIVE_TARGET="ppc64le" as PowerPC.
Jan 23 2019, 1:55 PM · Restricted Project

Sep 12 2018

loladiro updated the diff for D51842: [X86ISel] Implement byval lowering for Win64 calling convention.

Fix comment as requested by review, fix a small bug found in more extensive testing,
add a test case for the latter.

Sep 12 2018, 7:36 PM

Sep 9 2018

loladiro created D51842: [X86ISel] Implement byval lowering for Win64 calling convention.
Sep 9 2018, 2:01 PM

Aug 11 2018

loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Fix ir names in tests broken by previous commits and proplerly match u/smin.

Aug 11 2018, 4:06 AM · Restricted Project
loladiro added a comment to D50167: RFC: [SCEV] Add explicit representations of umin/smin.

I have a general concern against such changes. In fact, you are introducing an alternative way to express the same thing. umin(a, b) and umax(~a, ~b) are the same, but now have 2 possible notations. It means that whatever pass or analysis that needs to recognize this pattern needs to be aware of both. Whenever the new node was not supported, it might be missed optimization opportunities. And we cannot know for sure how many such places there are, or will be. What motivation do you have for making this change? Is it strong enough to take a risk of missing optimization opportunities that I've just pointed out?

Aug 11 2018, 3:57 AM · Restricted Project

Aug 5 2018

loladiro updated the diff for D50167: RFC: [SCEV] Add explicit representations of umin/smin.

Fix a small bug discovered during production testing (
when expanding umin/umax, don't go to integers just because
types are unequal - the only reason to do is if one of the
operands in an integer and the other is not).

Aug 5 2018, 6:20 PM · Restricted Project

Aug 1 2018

loladiro created D50167: RFC: [SCEV] Add explicit representations of umin/smin.
Aug 1 2018, 6:06 PM · Restricted Project

Jul 30 2018

loladiro created D50010: [VNCoercion] Disallow coercion between different ni addrspaces.
Jul 30 2018, 2:09 PM

Jul 25 2018

loladiro updated the diff for D49832: [SCEV] Don't expand Wrap predicate using inttoptr in ni addrspaces.

Add a small fix found during testing that I forgot to commit.

Jul 25 2018, 7:29 PM
loladiro created D49832: [SCEV] Don't expand Wrap predicate using inttoptr in ni addrspaces.
Jul 25 2018, 7:19 PM

May 22 2018

loladiro added a comment to D46789: [StackProtector] Don't crash when passing post-SP IR back in.

If my memory recovey is successful and I understand the problem correctly, the best solution to me is to separate the mutation and analysis code in StackProtector. Suppose we split it into two passes "StackProtectorAnalysis" and "InsertStackProtectorPrologue", will it solve the problem? During the re-run, we only run StackProtectorAnalysis, but never again insert prologue. StackProtectorAnalysis should be kept as-is, without more special logic to detect whether the prologue is already generated (as this patch does). What do you think?

May 22 2018, 12:12 PM

May 17 2018

loladiro closed D41960: [Sink] Really really fix predicate in legality check.

This was merged in rL322311, closing to get it off my dashboard. In the future, ideally add

Differential Revision: https://reviews.llvm.org/D41960

with that syntax to the commit message, so Phabricator can close the revision automatically.

May 17 2018, 9:48 PM

May 16 2018

loladiro updated the diff for D46797: [X86DomainReassignment] Don't delete IMPLICIT_DEF nodes.

Remove incorrect comment from test case.

May 16 2018, 5:59 PM
loladiro updated the diff for D46800: [X86DomainReassignment] Don't compare stack-allocated values by address.

Add LLVM_DUMP_METHOD to the added dump() method.

May 16 2018, 5:57 PM
loladiro added inline comments to D46800: [X86DomainReassignment] Don't compare stack-allocated values by address.
May 16 2018, 5:46 PM
loladiro added inline comments to D46797: [X86DomainReassignment] Don't delete IMPLICIT_DEF nodes.
May 16 2018, 5:45 PM

May 12 2018

loladiro created D46800: [X86DomainReassignment] Don't compare stack-allocated values by address.
May 12 2018, 6:32 PM
loladiro created D46797: [X86DomainReassignment] Don't delete IMPLICIT_DEF nodes.
May 12 2018, 4:36 PM
loladiro updated the diff for D46787: [CommandLine] Error message for incorrect PositionalEatArgs usage.

Add test

May 12 2018, 3:56 PM
loladiro updated the diff for D46460: [LoopInfo] Don't bail out early in getLoopID.

Updated to use getLoopLatches and add a test.

May 12 2018, 3:14 PM · Restricted Project
loladiro added a comment to D46790: [bugpoint] Actually skip a modules that cause verifier errors.

Yeah, I've been thinking about what the best way to test this is. It seems somewhat hard to reliably trigger
a verifier fault by removing an instruction - llvm.stackprotector is the one I see most commonly, but I don't
really want to make the test depend on that behavior. One option is to teach bugpoint to use a custom verifier
pass and then write a custom verifier pass that e.g. checks for the presence of a call. That seems like a decently
attractive option, because it would be a useful feature in its own right. Some frontends have their own invariants
and corresponding verifier passes that they want to maintain in their early passes. Would be nice if bugpoint could
support that. The only thing I'm not quite sure off is to how to do this nicely. Presumably, we could use the analysis
name as a pass and run that through the pass manager. I'm just not sure how to get the analysis result out of that.

May 12 2018, 1:22 PM

May 11 2018

loladiro created D46790: [bugpoint] Actually skip a modules that cause verifier errors.
May 11 2018, 6:54 PM
loladiro created D46789: [StackProtector] Don't crash when passing post-SP IR back in.
May 11 2018, 6:40 PM
loladiro created D46787: [CommandLine] Error message for incorrect PositionalEatArgs usage.
May 11 2018, 5:06 PM

May 4 2018

loladiro created D46460: [LoopInfo] Don't bail out early in getLoopID.
May 4 2018, 1:49 PM · Restricted Project

Jan 31 2018

loladiro added inline comments to D42260: [JumpThreading] Don't select an edge that we know we can't thread.
Jan 31 2018, 2:22 PM
loladiro added a comment to D42262: [JumpThreading] Don't restrict cast-traversal to i1.

This happens fairly frequently for us in julia, because we use i8 to represent tags for tagged unions and then switch on them to discover which of the union components is active.
Without this patch I saw ~3x performance regressions in the worst benchmark (because it prevented other optimizations from seeing optimization opportunities based on the
active union component). I did not see compilation performance impact in my testing.

Jan 31 2018, 1:21 PM

Jan 18 2018

loladiro created D42262: [JumpThreading] Don't restrict cast-traversal to i1.
Jan 18 2018, 1:09 PM
loladiro created D42260: [JumpThreading] Don't select an edge that we know we can't thread.
Jan 18 2018, 12:38 PM

Jan 11 2018

loladiro accepted D41960: [Sink] Really really fix predicate in legality check.

Looks good to me with the minor tweak to the test. To keep the breadcrumb for future reference, I had changed this in D33179.

Jan 11 2018, 1:04 PM

Oct 26 2017

loladiro created D39336: [dsymutil] Check AttrInfo.Name validity before using it.
Oct 26 2017, 9:54 AM

Oct 25 2017

loladiro added a comment to D39297: [DynamicLibrary] Fix build on musl libc.
error: cannot initialize return object of type 'void *' with an rvalue of type 'FILE *const *' (aka '_IO_FILE *const *')
    EXPLICIT_SYMBOL(stderr);
    ^~~~~~~~~~~~~~~~~~~~~~~
Oct 25 2017, 12:05 PM
loladiro added reviewers for D39297: [DynamicLibrary] Fix build on musl libc: krytarowski, dim.
Oct 25 2017, 11:56 AM
loladiro created D39297: [DynamicLibrary] Fix build on musl libc.
Oct 25 2017, 9:53 AM

Sep 25 2017

loladiro created D38264: [docs] Fix cross-compile instructions.
Sep 25 2017, 3:22 PM

Sep 19 2017

loladiro added a comment to D37939: [Mem2Reg] Also handle memcpy.

this is the julia pass pipeline (https://github.com/JuliaLang/julia/blob/master/src/jitlayers.cpp#L148). IIRC the original list of passes came from VMKit,
but the pass list was adjusted as needed over the years.

Sep 19 2017, 10:45 AM

Sep 17 2017

loladiro updated the diff for D37939: [Mem2Reg] Also handle memcpy.

Fix a small bug and also look through a single level of bitcasts.
Since IRBuilder automatically inserts bitcasts to i8*, it seems
prudent to handle that case.

Sep 17 2017, 7:30 PM

Sep 15 2017

loladiro created D37939: [Mem2Reg] Also handle memcpy.
Sep 15 2017, 3:39 PM

Jul 7 2017

loladiro accepted D35106: [cloning] Do not duplicate types when cloning functions.

The implementation of this looks good to me. I guess I'm not entirely sure why it's necessary for that type to be distinct in the first place, but that's probably a different discussion from just fixing this bug.

Jul 7 2017, 12:44 AM