Page MenuHomePhabricator

bjope (Bjorn Pettersson)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 26 2016, 7:58 AM (208 w, 2 d)

Recent Activity

Fri, Sep 18

bjope added a comment to D83573: [libunwind] Support for leaf function unwinding..

Sorry for the trouble for now the patch is reverted.
I you agre I will resubmit it with ; REQUIRES: x86_64-linux and then figure out the rest of the targets later.

Thanks,
Daniel

Fri, Sep 18, 4:17 AM · Restricted Project, Restricted Project
bjope added a comment to D86215: [TableGen][GlobalISel] Fix handling of zero_reg.

I landed this on behalf of Gabriel.

Fri, Sep 18, 2:03 AM · Restricted Project
bjope committed rGc10200536f2e: [TableGen][GlobalISel] Fix handling of zero_reg (authored by ehjogab).
[TableGen][GlobalISel] Fix handling of zero_reg
Fri, Sep 18, 2:02 AM
bjope closed D86215: [TableGen][GlobalISel] Fix handling of zero_reg.
Fri, Sep 18, 2:02 AM · Restricted Project

Thu, Sep 17

bjope updated subscribers of D83573: [libunwind] Support for leaf function unwinding..
Thu, Sep 17, 5:46 AM · Restricted Project, Restricted Project
bjope added a comment to D83573: [libunwind] Support for leaf function unwinding..

Having some problems after this patch, when building the runtimes for i386, on a 64-bit RHEL7 server, and then running the added libunwind test cases on the same host.
No expert here, and maybe that isn't a valid scenario, but building/running tests like that has worked pretty good before.

Thu, Sep 17, 5:45 AM · Restricted Project, Restricted Project

Wed, Sep 16

bjope added inline comments to D82678: [CGP] Set debug locations when optimizing phi types.
Wed, Sep 16, 9:01 AM · debug-info, Restricted Project
bjope added a comment to D82678: [CGP] Set debug locations when optimizing phi types.

Just want to clarify that my questions regarding "what about debug info" in the earlier patch introducing these phi-type-rewrites actually was about dbg.value rather than the debugloc:s. I kind of wanted to have test cases verifying that the the presence of dbg.value uses didn't impact the optimization (-g invariance). But also to see that the dbg.value uses were handled somehow (either being salvaged in some way or being properly invalidated).

Wed, Sep 16, 8:43 AM · debug-info, Restricted Project

Tue, Sep 15

bjope committed rGaa8be5aeead7: [Scalarizer] Avoid changing name of non-instructions (authored by bjope).
[Scalarizer] Avoid changing name of non-instructions
Tue, Sep 15, 5:17 AM
bjope closed D87685: [Scalarizer] Avoid changing name of non-instructions.
Tue, Sep 15, 5:16 AM · Restricted Project
bjope requested review of D87685: [Scalarizer] Avoid changing name of non-instructions.
Tue, Sep 15, 4:41 AM · Restricted Project

Fri, Sep 4

bjope added inline comments to D85818: [UnifyFunctionExitNodes] Fix Modified status for unreachable blocks.
Fri, Sep 4, 9:42 AM · Restricted Project
bjope accepted D87078: [UnifyFunctionExitNodes] Remove unused getters, NFC.

Just hoping that those unused functions aren't used by some OOT project. But considering that the API is totally untested (and the unwind part isn't even visible any longer) I think this cleanup is motivated.

Fri, Sep 4, 9:17 AM · Restricted Project

Wed, Sep 2

bjope added a comment to D86839: [CMake] Remove -Wl,-allow-shlib-undefined which was added in rL221530.

Things seem to link again for us if we set LLVM_ENABLE_TERMINFO=OFF (as a workaround to avoid dependency to libtinfo), but I guess we might lose some color output or something by doing that.

Wed, Sep 2, 10:25 AM · Restricted Project
bjope added a comment to D86839: [CMake] Remove -Wl,-allow-shlib-undefined which was added in rL221530.

So are we perhaps missing tinfo (and ncurses) in /proj/bbi_twh/wh_bbi/x86_64-Linux2/bbigcc/1.7.4.0-3/crosscompiler/lib64?
I doubt that we should pick up libtinfo from /usr/lib64 here, even if we do not really need to crosscompile llvm-tblgen (tblgen should only execute on the current host anyway).

Wed, Sep 2, 10:13 AM · Restricted Project

Tue, Sep 1

bjope added inline comments to D85818: [UnifyFunctionExitNodes] Fix Modified status for unreachable blocks.
Tue, Sep 1, 6:30 AM · Restricted Project
bjope added a comment to D86586: [TableGen] Support tied operands that are both source operands.

I don't really understand the problem situation. Why are you having two source operands if they need to be the same? Can't you ensure that by only having one source operand?

Tue, Sep 1, 2:00 AM · Restricted Project

Wed, Aug 26

bjope added inline comments to D86215: [TableGen][GlobalISel] Fix handling of zero_reg.
Wed, Aug 26, 9:03 AM · Restricted Project
bjope committed rG5e23dc5b4702: [GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC) (authored by ehjogab).
[GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC)
Wed, Aug 26, 3:11 AM
bjope closed D86201: [GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC).
Wed, Aug 26, 3:11 AM · Restricted Project
bjope committed rGb2b9af5a1397: [TableGen][GlobalISel] Fix tblgen optimization bug (authored by ehjogab).
[TableGen][GlobalISel] Fix tblgen optimization bug
Wed, Aug 26, 3:11 AM
bjope closed D86199: [TableGen][GlobalISel] Fix tblgen optimization bug.
Wed, Aug 26, 3:11 AM · Restricted Project

Aug 25 2020

bjope added a comment to D86201: [GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC).

Should I land this patch for you (including a fix for the long lines)?

Aug 25 2020, 1:30 AM · Restricted Project
bjope added a comment to D86199: [TableGen][GlobalISel] Fix tblgen optimization bug.

@ehjogab : Should I help out landing this patch?

Aug 25 2020, 1:29 AM · Restricted Project

Aug 24 2020

bjope committed rGfce44ff5da4e: [Scalarizer] Avoid updating the name of globals (authored by bjope).
[Scalarizer] Avoid updating the name of globals
Aug 24 2020, 12:56 PM
bjope closed D86472: [Scalarizer] Avoid updating the name of globals.
Aug 24 2020, 12:56 PM · Restricted Project
bjope added a comment to D86472: [Scalarizer] Avoid updating the name of globals.

@bjope thanks! bugreport kinda skimmed my attention span, i was going to re-look today-ish.
I think this looks fine. The another alternative would be to only do that if the value-to-be-renamed is an instruction,
but then i'm not sure it's an improvement if we rename something that we reused.

Aug 24 2020, 12:24 PM · Restricted Project
bjope added inline comments to D86215: [TableGen][GlobalISel] Fix handling of zero_reg.
Aug 24 2020, 10:52 AM · Restricted Project
bjope added a comment to D83101: [Scalarizer] ExtractElement handling w/ constant extract index.

Proposed fix for the problem described by @materi : https://reviews.llvm.org/D86472

Aug 24 2020, 10:18 AM · Restricted Project
bjope requested review of D86472: [Scalarizer] Avoid updating the name of globals.
Aug 24 2020, 10:17 AM · Restricted Project
bjope accepted D86438: [SDAG] Convert FSHL <--> FSHR if the target only supports one of them.

LGTM (except the earlier nit about the comments with different X and Y values on left and right hand side)

Aug 24 2020, 9:00 AM · Restricted Project
bjope added inline comments to D86438: [SDAG] Convert FSHL <--> FSHR if the target only supports one of them.
Aug 24 2020, 8:56 AM · Restricted Project
bjope added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

I've submitted a PR, https://bugs.llvm.org/show_bug.cgi?id=47296, regarding the debuginfo problem.

Aug 24 2020, 6:08 AM · Restricted Project
bjope committed rG7a4e26adc8c2: [SelectionDAG] Fix miscompile bug in expandFunnelShift (authored by bjope).
[SelectionDAG] Fix miscompile bug in expandFunnelShift
Aug 24 2020, 12:53 AM
bjope closed D86430: [SelectionDAG] Fix miscompile bug in expandFunnelShift.
Aug 24 2020, 12:53 AM · Restricted Project
bjope added a comment to D86430: [SelectionDAG] Fix miscompile bug in expandFunnelShift.

It could be possible to add back the transform, given that logic
is added to check that (Z % BW) can't be zero. Since there were
no test cases proving that such a transform actually would be useful
I decided to simply remove the faulty code in this patch.

I don't understand this. The AMDGPU test changes clearly show that the transform is useful. AMDGPU has an alignbit instruction which is fshr, but no instruction for fshl.

Oh I see, I guess you mean that the check for non-zero Z didn't help any of these test cases, because none of them use a shift amount that is known to be non-zero.

OK then. I can try to fix the AMDGPU regressions as a follow up, maybe with a target-specific lowering.

Aug 24 2020, 12:49 AM · Restricted Project
bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 24 2020, 12:31 AM · Restricted Project
bjope requested review of D86430: [SelectionDAG] Fix miscompile bug in expandFunnelShift.
Aug 24 2020, 12:30 AM · Restricted Project

Aug 23 2020

bjope abandoned D85969: [SCEV] Model (xor (shl x, C), (-1 << C)) as (shl (xor x, -1), C).

Haven't seen any gains from this patch, after having rebased to https://reviews.llvm.org/rGec06b381304140b2553cfdfae5a063f39c5c59ff .
The test I ran included bunch of application code, compiled with -O3, for our OOT target.

Aug 23 2020, 1:37 PM · Restricted Project

Aug 21 2020

bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 21 2020, 1:58 PM · Restricted Project
bjope added inline comments to D65471: [AMDGPU] Reserve all AGPRs on targets which do not have them.
Aug 21 2020, 12:17 PM · Restricted Project
bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 21 2020, 10:31 AM · Restricted Project
bjope added inline comments to D65471: [AMDGPU] Reserve all AGPRs on targets which do not have them.
Aug 21 2020, 6:07 AM · Restricted Project
bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 21 2020, 5:43 AM · Restricted Project
bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 21 2020, 5:33 AM · Restricted Project
bjope added inline comments to D77152: [SelectionDAG] Better legalization for FSHL and FSHR.
Aug 21 2020, 5:10 AM · Restricted Project

Aug 20 2020

bjope added a comment to D86243: [InstCombine] canonicalize 'not' ops before logical shifts.

Some SCEV/pipeline tests?

Maybe from https://reviews.llvm.org/D85969#change-8DkHYel6Y1JK ?

Aug 20 2020, 6:59 AM · Restricted Project
bjope added a comment to D86243: [InstCombine] canonicalize 'not' ops before logical shifts.

I've verified that this resolves https://bugs.llvm.org/show_bug.cgi?id=47136 in the sense that our downstream benchmark result is back to the original result for the tests that had a regression. And without any new regressions. So that is perfect!

Aug 20 2020, 6:55 AM · Restricted Project
bjope added inline comments to D86215: [TableGen][GlobalISel] Fix handling of zero_reg.
Aug 20 2020, 6:31 AM · Restricted Project
bjope committed rGff107eed1546: [AArch64] Update a code comment incorrectly referring to zero_reg. NFC (authored by bjope).
[AArch64] Update a code comment incorrectly referring to zero_reg. NFC
Aug 20 2020, 5:38 AM
bjope added a comment to D86272: [DebugInfo] Fix DwarfExpression::addConstantFP for float on big-endian.

I do not have any upstream test case for this, but got failures in our downstream testing.

Aug 20 2020, 2:53 AM · Restricted Project
bjope committed rGb43235a76c23: [DebugInfo] Fix DwarfExpression::addConstantFP for float on big-endian (authored by bjope).
[DebugInfo] Fix DwarfExpression::addConstantFP for float on big-endian
Aug 20 2020, 2:49 AM
bjope closed D86272: [DebugInfo] Fix DwarfExpression::addConstantFP for float on big-endian.
Aug 20 2020, 2:49 AM · Restricted Project
bjope requested review of D86272: [DebugInfo] Fix DwarfExpression::addConstantFP for float on big-endian.
Aug 20 2020, 2:43 AM · Restricted Project
bjope added inline comments to D86201: [GlobalISel] Fix and tidy up documentation for ValueMapping class (NFC).
Aug 20 2020, 1:02 AM · Restricted Project

Aug 19 2020

bjope added inline comments to D86215: [TableGen][GlobalISel] Fix handling of zero_reg.
Aug 19 2020, 10:17 AM · Restricted Project
bjope committed rG54105d635d18: [GlobalISel] Untabify InstructionSelectorImpl.h. NFC (authored by bjope).
[GlobalISel] Untabify InstructionSelectorImpl.h. NFC
Aug 19 2020, 3:01 AM
bjope added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

One minor problem with implementing a reverse transform for targets that prefer sext over zext, e.g. in CodeGenPrepare, is that it will be hard to restore the debug info (considering that we do the right thing here an invalidate metadata uses).

Aug 19 2020, 1:49 AM · Restricted Project

Aug 18 2020

bjope added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Having some problems with this patch downstream:

  1. Patch does not update any dbg.value that might refer to the value that now is zext:ed instead of sext:ed. So debugging experience might become weird. It might be possible to rewrite debug uses, using some nifty debug expression to express a trunc+sext of the value. But in my case it was an <128 x i40> vector, and we got no dwarf expressions to express a vector sext afaik. Instead I guess any debug uses should be invalidated.

Isn't that an issue for any of the other places that do such a transform, among other things?
This very transform also exists in InstCombine and CVP.

Aug 18 2020, 9:12 AM · Restricted Project
bjope added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Having some problems with this patch downstream:

Aug 18 2020, 8:42 AM · Restricted Project

Aug 15 2020

bjope added a comment to D85969: [SCEV] Model (xor (shl x, C), (-1 << C)) as (shl (xor x, -1), C).

I don't have much experience with SCEV either, but I think your draft change for instcombine made sense:
https://bugs.llvm.org/show_bug.cgi?id=47136#c8

As hinted there, that's the same direction as:
D32255 / rG23bd33c6acc4

So I'm not sure if we would consider this a worthwhile improvement independently and still make a change to SCEV or only change instcombine (or if there's some reason to *not* change instcombine, I'd like to understand that).

Aug 15 2020, 2:32 PM · Restricted Project

Aug 14 2020

bjope added inline comments to D85971: [IndVarSimplify] Fix Modified status for removal of overflow intrinsics.
Aug 14 2020, 10:31 AM · Restricted Project
bjope added inline comments to D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..
Aug 14 2020, 8:12 AM · Restricted Project
bjope committed rGb395d67a886c: [Orc] Fix werror for unused variable in noasserts build (authored by bjope).
[Orc] Fix werror for unused variable in noasserts build
Aug 14 2020, 6:59 AM
bjope requested review of D85969: [SCEV] Model (xor (shl x, C), (-1 << C)) as (shl (xor x, -1), C).
Aug 14 2020, 5:41 AM · Restricted Project

Aug 13 2020

bjope added a comment to D80525: [clangd] Fix crash-bug in preamble indexing when using modules..

Looks like it's an issue with not clearing the module cache. I'll revert this change to fix the build, then re-submit with proper fix.

Aug 13 2020, 9:44 AM · Restricted Project
bjope committed rG11446b02c7ec: [VectorCombine] Fix for non-zero addrspace when creating vector load from… (authored by bjope).
[VectorCombine] Fix for non-zero addrspace when creating vector load from…
Aug 13 2020, 9:27 AM
bjope closed D85912: [VectorCombine] Fix for non-zero addrspace when creating vector load from scalar load.
Aug 13 2020, 9:26 AM · Restricted Project
bjope requested review of D85912: [VectorCombine] Fix for non-zero addrspace when creating vector load from scalar load.
Aug 13 2020, 8:44 AM · Restricted Project
bjope added a comment to D80525: [clangd] Fix crash-bug in preamble indexing when using modules..

Might be that it is some other commit that cause the problem. Looking a bit closer at the jenkins history it seems like the tests passed once after this patch was added. But the next time it failed.

Aug 13 2020, 7:48 AM · Restricted Project
bjope added a comment to D80525: [clangd] Fix crash-bug in preamble indexing when using modules..

This is quite strange. I can't reproduce this with gcc 7.5.0, 9.3.0 or 10.0.1. Which version are you using?

There are bugs around clangd + modules + diagnostics. I'm fixing one in https://reviews.llvm.org/D85753 (not in it's final form yet), but it doesn't seem to be the same issue (can't be sure, but I think this is using the right SourceManager). This test is not supposed to generate any diagnostics, so that's the really surprising bit. Are you building from clean HEAD, or do you have any local modifications that could generate a extra diagnostics in this test?

The other option is that the failure is caused by module_cache_path. This test, unlike other clangd tests, needs real file system (to write the .pcm file and then read it back) and perhaps that doesn't work in your jenkins setup.

Are there any special options or things unique to your setup I could try out to reproduce this?

Aug 13 2020, 7:40 AM · Restricted Project

Aug 12 2020

bjope added a comment to D85446: [InstCombine] Add vector support to mul(add(x,c),negpow2) -> mul(sub(-c,x),pow2) folds.

(Just some heads up, in case someone else got the same problem...)

I've noticed some regressions downstream after this patch. Haven't debugged/reduced it completely yet, but at least in one case I suspect that the problem actually might be in load-store-vectorizer.

Used to get something like this before load-store-vectorizer:

<...>

The old input to load-store-vectorizer resulted in two <8 x i16> loads, but the new input gives one <8 x i16 load, two <2 x i16> loads and one <4 x i16> load. So for some reason LSV fails to detect that the loads are consecutive given the new IR. At least that is my current theory.

Please can you file a bug with reproducer?

Yes, I'm working on that (although progress has been a bit slow at the moment).

Aug 12 2020, 8:18 AM · Restricted Project
bjope added a comment to D85446: [InstCombine] Add vector support to mul(add(x,c),negpow2) -> mul(sub(-c,x),pow2) folds.

(Just some heads up, in case someone else got the same problem...)

I've noticed some regressions downstream after this patch. Haven't debugged/reduced it completely yet, but at least in one case I suspect that the problem actually might be in load-store-vectorizer.

Used to get something like this before load-store-vectorizer:

<...>

The old input to load-store-vectorizer resulted in two <8 x i16> loads, but the new input gives one <8 x i16 load, two <2 x i16> loads and one <4 x i16> load. So for some reason LSV fails to detect that the loads are consecutive given the new IR. At least that is my current theory.

Please can you file a bug with reproducer?

Aug 12 2020, 3:22 AM · Restricted Project

Aug 9 2020

bjope added a comment to D85446: [InstCombine] Add vector support to mul(add(x,c),negpow2) -> mul(sub(-c,x),pow2) folds.

(Just some heads up, in case someone else got the same problem...)

Aug 9 2020, 3:31 PM · Restricted Project

Aug 7 2020

bjope accepted D85157: [Sema] Add casting check for fixed to fixed point conversions.

LGTM!

Aug 7 2020, 4:37 AM · Restricted Project

Aug 6 2020

bjope added inline comments to D85157: [Sema] Add casting check for fixed to fixed point conversions.
Aug 6 2020, 11:39 PM · Restricted Project
bjope added inline comments to rGe8760bb9a8a3: [InstSimplify] fold icmp with mul nsw and constant operands.
Aug 6 2020, 1:20 PM
bjope added inline comments to rGe8760bb9a8a3: [InstSimplify] fold icmp with mul nsw and constant operands.
Aug 6 2020, 12:18 PM
bjope added inline comments to D85394: [NewPM][GuardWidening] Fix loop guard widening tests under NPM.
Aug 6 2020, 12:33 AM · Restricted Project

Aug 5 2020

bjope added a comment to D83216: [Intrinsic] Add sshl.sat/ushl.sat, saturated shift intrinsics..

LGTM, but i would have preferred to see more feedback on the RFC thread.
That being said, unless you are planning on forming calls to these intrinsics in middle-end transform passes
(i.e. only planning on using them in clang codegen), i think this is okay to proceed.

At least for now, I'm not planning to emit them in middleend. I wanted to get most of the basic support in Clang and LLVM before looking at optimization.

However, based on the discussions in D82663, I am planning on sending an RFC for moving the fixed-point semantics and value class to LLVM, and adding a Builder class similar to the MatrixBuilder.

Aug 5 2020, 3:04 PM · Restricted Project
bjope added a comment to D85191: [AST] Get field size in chars rather than bits in RecordLayoutBuilder..

This is not ideal, since it makes the calculations char size dependent, and breaks for sizes that are not a multiple of the char size.

How can we have a non-bitfield member whose size is not a multiple of the size of a char?

Downstream, we have fixed-point types that are 24 bits large, but where the char size is 16. The type then takes up 2 chars, where 8 of the bits are padding. The only way in Clang to express that the width of the bit representation of a type should be smaller than the number of chars it takes up in memory -- and consequently, produce an i24 in IR -- is to return a non-charsize multiple from getTypeInfo.

This violates the C and C++ language rules, which require the size of every type to be a multiple of the size of char. A type with 24 value bits and 8 padding bits should report a type size of 32 bits, just like bool reports a size of CHAR_BIT bits despite having only 1 value bit, and x86_64 long double reports a type size of 128 bits despite having only 80 value bits.

Aug 5 2020, 1:09 PM · Restricted Project

Aug 4 2020

bjope added a comment to D82998: [BasicAA] Enable -basic-aa-recphi by default.

Thanks for the fixes Dave. Will make sure that we start using this in our (downstream) fuzzy testing again.

Aug 4 2020, 3:51 AM · Restricted Project

Aug 3 2020

bjope added inline comments to D85157: [Sema] Add casting check for fixed to fixed point conversions.
Aug 3 2020, 11:41 PM · Restricted Project
bjope added inline comments to D85157: [Sema] Add casting check for fixed to fixed point conversions.
Aug 3 2020, 3:49 PM · Restricted Project
bjope added inline comments to D85157: [Sema] Add casting check for fixed to fixed point conversions.
Aug 3 2020, 3:39 PM · Restricted Project

Jul 31 2020

bjope committed rG0d25d3b7e3e3: [clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a (authored by bjope).
[clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a
Jul 31 2020, 5:31 AM

Jul 29 2020

bjope accepted D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

LGTM!

Jul 29 2020, 5:59 AM · Restricted Project

Jul 27 2020

bjope added inline comments to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jul 27 2020, 4:14 AM · Restricted Project

Jul 26 2020

bjope accepted D84595: [libcxx][lit] Fix running testsuite with python2.7 after 9020d28688492c437abb648b6ab69baeba523219.

I have no clue if this has any negative impact from the https://reviews.llvm.org/D84040 point-of-view, etc. Maybe @ldionne can take a quick look at this as well (pre/post commit).

Jul 26 2020, 4:01 AM · Restricted Project

Jul 25 2020

bjope added inline comments to D84040: [libcxx][lit] Fix incorrect lambda capture in hasLocale checks.
Jul 25 2020, 4:38 PM · Restricted Project
bjope added inline comments to D84040: [libcxx][lit] Fix incorrect lambda capture in hasLocale checks.
Jul 25 2020, 4:07 PM · Restricted Project

Jul 24 2020

bjope added inline comments to D83560: [DebugInfo] Emit DW_OP_implicit_value for Floating point constants.
Jul 24 2020, 9:47 AM · debug-info, Restricted Project
bjope added inline comments to D83560: [DebugInfo] Emit DW_OP_implicit_value for Floating point constants.
Jul 24 2020, 9:08 AM · debug-info, Restricted Project

Jul 21 2020

bjope added a comment to D84132: [LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o instead of .o.

Having some problems with failing stage 2 tests, that I suspect is related to this change (since the missing files do exist but with ".lto" being part of the name when looking in my test directory after a failed test run). I guess on need to add ".lto" at some more places?

These are the tests that failed:

Failed Tests (3):
  LLVM :: tools/gold/X86/cache.ll
  LLVM :: tools/gold/X86/emit-llvm.ll
  LLVM :: tools/gold/X86/relax-relocs.ll

Here are some logs:

: 'RUN: at line 70';   ls /build/stage2/test/tools/gold/X86/Output/cache.ll.tmp4.o.o1
: 'RUN: at line 71';   ls /build/stage2/test/tools/gold/X86/Output/cache.ll.tmp4.o.o2
--
Exit Code: 2

Command Output (stderr):
--
ls: cannot access /build/stage2/test/tools/gold/X86/Output/cache.ll.tmp4.o.o1: No such file or directory
Exit Code: 2

Command Output (stderr):
--
/build/stage2/bin/llvm-nm: error: /build/stage2/test/tools/gold/X86/Output/emit-llvm.ll.tmp3.o.o: No such file or directory.
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /build/stage2/bin/FileCheck --check-prefix=NM /llvm-project/llvm/test/tools/gold/X86/emit-llvm.ll
Exit Code: 2

Command Output (stderr):
--
/build/stage2/bin/llvm-readobj: error: '/build/stage2/test/tools/gold/X86/Output/relax-relocs.ll.tmp.so.o': No such file or directory
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /build/stage2/bin/FileCheck /llvm-project/llvm/test/tools/gold/X86/relax-relocs.ll

Thanks for reporting the problem. Fixed by aa830e9768303ff8d27c015759294c4ce704d50c (I should have been more careful. Not many build bots build binutils-gdb headers and test LLVMgold.so)

Jul 21 2020, 10:31 AM · Restricted Project
bjope added a comment to D84132: [LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o instead of .o.

Having some problems with failing stage 2 tests, that I suspect is related to this change (since the missing files do exist but with ".lto" being part of the name when looking in my test directory after a failed test run). I guess on need to add ".lto" at some more places?

Jul 21 2020, 10:01 AM · Restricted Project
bjope added a comment to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().

I'm a bit curious about the overall plan here. Some years ago the plan was to remove LiveVariables, and use LiveIntervals instead. And afaik PHIElimination was updated to support both LiveVariables and LiveIntervals, while TwoAddressInstructionPass only got partially updated. So for several years there have been a technical debt here, considering that the passes involved in de-SSA to some degree are supporting both LiveVaribels and LiveIntervals, while only LiveVariables is used in practise (and the support for LiveIntervals may have rotten since it is poorly tested).

Jul 21 2020, 6:42 AM · Restricted Project
bjope added inline comments to D80274: [MachineVerifier] Handle the PHI node for verifyLiveVariables().
Jul 21 2020, 6:28 AM · Restricted Project

Jul 10 2020

bjope added a comment to D82998: [BasicAA] Enable -basic-aa-recphi by default.

Here is a reproducer for the new problem that @uabelho noticed. Might be possible to reduce it further, but I think it at least show the problem:

Jul 10 2020, 5:43 AM · Restricted Project

Jul 7 2020

bjope added a comment to D83101: [Scalarizer] ExtractElement handling w/ constant extract index.

Ah, maybe I was so occupied reducing the fault so I missed that there was another fix. I actually did take a look in github just to avoid reporting a problem that had been fixed, but must have done it just before rG16266e63963ad6ee27ad21983a9366ab313dfd03 landed.

Nono, rG16266e63963ad6ee27ad21983a9366ab313dfd03 is the fix as a reaction to the bug you reported, your report wasn't a duplicate, sorry for confusion.

Jul 7 2020, 7:42 AM · Restricted Project
bjope added a comment to D83101: [Scalarizer] ExtractElement handling w/ constant extract index.

I unfortunately still see some problems (related to the Scalarizer changes, and probably this patch):

> cat scalarizer-bug.ll
; RUN: opt < %s -scalarizer -S -o -

define void @foo() {
vector.ph:
  br label %vector.body115

vector.body115:                                   ; preds = %vector.body115, %vector.ph
  %vector.recur = phi <4 x i16> [ undef, %vector.ph ], [ %wide.load125, %vector.body115 ]
  %wide.load125 = load <4 x i16>, <4 x i16>* undef, align 1
  br i1 undef, label %middle.block113, label %vector.body115

middle.block113:                                  ; preds = %vector.body115
  ret void
}


-----------------------------------------------------

> ~/opt.master -scalarizer scalarizer-bug.ll -S
opt.master: ../lib/IR/Value.cpp:458: void llvm::Value::doRAUW(llvm::Value *, llvm::Value::ReplaceMetadataUses): Assertion `!contains(New, this) && "this->replaceAllUsesWith(expr(this)) is NOT valid!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/uabbpet/opt.master -scalarizer scalarizer-bug.ll -S 
1.      Running pass 'Function Pass Manager' on module 'scalarizer-bug.ll'.
2.      Running pass 'Scalarize vector operations' on function '@foo'
Abort

Acknowledged, looking.

Hm, this is saddening. I've fixed it in rG16266e63963ad6ee27ad21983a9366ab313dfd03, but are there more?

Jul 7 2020, 7:26 AM · Restricted Project