Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

uabelho (Mikael Holmén)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 3 2015, 1:10 AM (408 w, 4 d)

Recent Activity

Fri, Sep 29

uabelho committed rG336b7a256bf8: [ObjCopy] Fix warning in conditional expression [NFC] (authored by uabelho).
[ObjCopy] Fix warning in conditional expression [NFC]
Fri, Sep 29, 3:47 AM · Restricted Project, Restricted Project
uabelho committed rG9284b03e87df: [Coroutines] Remove unused variable [NFC] (authored by uabelho).
[Coroutines] Remove unused variable [NFC]
Fri, Sep 29, 3:01 AM · Restricted Project, Restricted Project
uabelho committed rGee1a06b80fb7: [Analysis] Fix gcc warnings about unused variables [NFC] (authored by uabelho).
[Analysis] Fix gcc warnings about unused variables [NFC]
Fri, Sep 29, 2:27 AM · Restricted Project, Restricted Project
uabelho committed rGe4114f9c0d26: [AttributorAttributes] Remove unused variable [NFC] (authored by uabelho).
[AttributorAttributes] Remove unused variable [NFC]
Fri, Sep 29, 2:08 AM · Restricted Project, Restricted Project
uabelho committed rG02eb38119eda: [SCEVExpander] Remove unused variable [NFC] (authored by uabelho).
[SCEVExpander] Remove unused variable [NFC]
Fri, Sep 29, 1:38 AM · Restricted Project, Restricted Project
uabelho committed rG23b8a19a1bce: [DwarfDebug] Add forward declarations of "<" operators [NFC] (authored by uabelho).
[DwarfDebug] Add forward declarations of "<" operators [NFC]
Fri, Sep 29, 12:22 AM · Restricted Project, Restricted Project

Thu, Sep 28

uabelho committed rG9cecee97a058: [VPlan] Silence gcc Wparentheses warning [NFC] (authored by uabelho).
[VPlan] Silence gcc Wparentheses warning [NFC]
Thu, Sep 28, 3:06 AM · Restricted Project, Restricted Project

Mon, Sep 25

uabelho added inline comments to D136678: [AArch64][SVE2] Add the SVE2.1 pext and ptrue predicate-as-counter instructions.
Mon, Sep 25, 6:04 AM · Restricted Project, Restricted Project
uabelho added inline comments to D136678: [AArch64][SVE2] Add the SVE2.1 pext and ptrue predicate-as-counter instructions.
Mon, Sep 25, 4:13 AM · Restricted Project, Restricted Project

Thu, Sep 14

uabelho added a comment to D151834: Include math-errno with fast-math.

What's the way forward here? Revert if it's unclear what to do?

We have a fix for it. By eod a PR will be created. Thanks.

Thu, Sep 14, 5:24 AM · Restricted Project, Restricted Project
uabelho added a comment to D151834: Include math-errno with fast-math.

What's the way forward here? Revert if it's unclear what to do?

Thu, Sep 14, 3:52 AM · Restricted Project, Restricted Project

Wed, Sep 13

uabelho added a comment to rG451af6355191: [X86] Remove combineVectorTruncation and delay general vector trunc to lowering.

The following hits an assertion with this patch:

llc bbi-86262.ll -o /dev/null

It crashes with

llc: ../lib/Target/X86/X86ISelLowering.cpp:20433: llvm::SDValue llvm::X86TargetLowering::LowerTRUNCATE(llvm::SDValue, llvm::SelectionDAG &) const: Assertion `VT.is128BitVector() && InVT.is256BitVector() && "Unexpected types!"' failed.

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

Tue, Sep 12

uabelho added a comment to D151834: Include math-errno with fast-math.

[...]

I think the issue comes from here: https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGBuiltin.cpp#L2365

This looks like it's happening only for -Oi (i>=1) and on Linux only?

Tue, Sep 12, 10:59 PM · Restricted Project, Restricted Project

Mon, Sep 11

uabelho added a comment to D151834: Include math-errno with fast-math.

I have a couple of downstream testcases that fail with this patch.
Before

> clang bbi-86364.c -lm -O3
> ./a.out

passed but with the patch the assert in the program fails:

a.out: bbi-86364.c:9: int main(): Assertion `(*__errno_location ()) == 33' failed.

Is this as expected?

Mon, Sep 11, 11:30 PM · Restricted Project, Restricted Project
uabelho added a comment to D159486: Fix build error in CI..
Mon, Sep 11, 11:28 PM · Restricted Project, Restricted Project
uabelho added inline comments to D141680: [GVN] Refactor findDominatingLoad function.
Mon, Sep 11, 6:01 AM · Restricted Project, Restricted Project

Fri, Sep 8

uabelho added a comment to D150943: [SimplifyCFG] add nsw on BuildLookuptable LinearMap calculation.

Hi @khei4 and @nikic

Fri, Sep 8, 3:52 AM · Restricted Project, Restricted Project

Wed, Sep 6

uabelho added inline comments to D158715: [Driver] Cleanup last vestiges of Minix / Contiki support.
Wed, Sep 6, 9:51 PM · Restricted Project, Restricted Project
uabelho added inline comments to D158715: [Driver] Cleanup last vestiges of Minix / Contiki support.
Wed, Sep 6, 2:12 AM · Restricted Project, Restricted Project

Aug 31 2023

uabelho added a comment to D158882: RegisterCoalescer: Don't delete IMPLICIT_DEF if it's live into the same block.

I've done quite some testing on our downstream target with this and
https://reviews.llvm.org/D158850
without problems so it's probably not totally wrong :)

Aug 31 2023, 6:08 AM · Restricted Project, Restricted Project

Aug 30 2023

uabelho added a comment to D154984: [lit] Drop "Script:", make -v and -a imply -vv.

I'm not sure if this has been discussed already

Yes, it has. That was my original feedback for this change and in reply Joel has done 2 very helpful things:

Please be mindful that this change (as well as other LIT patches that are being worked on in tandem) bring various improvements to the overall LIT infrastructure. These things often require compromises. In the case of -a flag (and the "Script" block being removed), it means having to use LIT's internal shell. That was mentioned:

Tl;Dr Please try and see whether that is sufficient for you:

LIT_USE_INTERNAL_SHELL=1 path/to/llvm-lit ...

If not then I suggest taking this discussion back to Discourse. For better visibility.

Aug 30 2023, 11:34 PM · Restricted Project, Restricted Project
uabelho added a comment to D154984: [lit] Drop "Script:", make -v and -a imply -vv.

I'm not sure if this has been discussed already but I just noticed a change with this patch that at least makes it a bit annoying.
So before running

build-all//bin/llvm-lit -a test/Transforms/ArgumentPromotion/opaque-ptr.ll

yielded

: 'RUN: at line 2';   /repo/uabelho/dev-main/llvm/build-all/bin/opt -S -passes=argpromotion < /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll | /repo/uabelho/dev-main/llvm/build-all/bin/FileCheck /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll

which I could directly copy and paste into my terminal to reproduce the test.
Now I instead get

+ : 'RUN: at line 2'
+ /repo/uabelho/dev-main/llvm/build-all/bin/opt -S -passes=argpromotion
+ /repo/uabelho/dev-main/llvm/build-all/bin/FileCheck /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll

where the "opt" line doesn't even include the test file fed to opt via "< %s". Sure you see the file in the FileCheck command but before reproducing could be done with one single copy/paste, now it takes three.

Aug 30 2023, 1:07 AM · Restricted Project, Restricted Project

Aug 29 2023

uabelho added a comment to D112921: [clang] Enable sized deallocation by default in C++14 onwards.

I've no idea what's happening but it seems like linking compiler-rt/lib/memprof/tests/MemProfUnitTests fails with this commit:

[17/17] Linking CXX executable compiler-rt/lib/memprof/tests/MemProfUnitTests
FAILED: compiler-rt/lib/memprof/tests/MemProfUnitTests 
: && /repo/uabelho/dev-main/llvm/build-all-builtins/./bin/clang++ --target=x86_64-unknown-linux-gnu [...] compiler-rt/lib/memprof/tests/MemProfUnitTests  -lstdc++  -ldl && :
clang++: error: unable to execute command: Segmentation fault (core dumped)
clang++: error: linker command failed due to signal (use -v to see invocation)
ninja: build stopped: subcommand failed.
Aug 29 2023, 6:04 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 24 2023

uabelho added inline comments to D150044: [libc++][print] Adds FILE functions..
Aug 24 2023, 10:13 PM · Restricted Project, Restricted Project

Aug 23 2023

uabelho added inline comments to D150044: [libc++][print] Adds FILE functions..
Aug 23 2023, 11:35 PM · Restricted Project, Restricted Project

Aug 22 2023

uabelho added inline comments to D154275: [llvm-exegesis] Support older kernel versions in subprocess executor.
Aug 22 2023, 11:23 PM · Restricted Project, Restricted Project

Aug 21 2023

uabelho committed rGd1e685df45dc: [test] Add -verify-coalescing to testcase and fix problems (authored by uabelho).
[test] Add -verify-coalescing to testcase and fix problems
Aug 21 2023, 10:21 PM · Restricted Project, Restricted Project
uabelho closed D158397: [test] Add -verify-coalescing to testcase and fix problems with it.
Aug 21 2023, 10:21 PM · Restricted Project, Restricted Project
Herald added a project to D99205: Add jump-threading optimization for deterministic finite automata: Restricted Project.

I wrote a ticket about a crash with this pass that we stumbled upon in fuzzy testing:
https://github.com/llvm/llvm-project/issues/64860

Aug 21 2023, 5:57 AM · Restricted Project, Restricted Project
uabelho updated the diff for D158397: [test] Add -verify-coalescing to testcase and fix problems with it.

Fixed CHECK messup in first patch.

Aug 21 2023, 1:37 AM · Restricted Project, Restricted Project
uabelho added a comment to D158324: Revert "[RegisterCoalescing] Don't move COPY if it would interfere with another value".

If so it would be nice to say something in the commit message about that (that the code is reverted even if there is no proof that it was incorrect?).

Not sure what you mean, if you add -verify-coalescing to the test it fails.

The test case failed verification even before (or without) running the register-coalescer. So as the commit message says, the test case seems broken.

But I thought it was a bit unclear in the commit message that it also removes a defensive check in removePartialRedundancy. I doubt that we will trigger the optimization in more cases (and if it does, then that would be faulty). So something saying that we no longer think that the problematic situation can occur for valid input. And if that assumption is wrong, then we hopefully will catch it in regression tests with verifiers activates since the defensive check in removePartialRedundancy is removed.

I've however found our downstream test case now. And that one is not failing verification on the input.

I came up with these adjustments, that without the patch by uabelho would end up with "Assertion `SlotIndex::isEarlierInstr(Def, S->start) && "Already live at def"' failed.":

# RUN: llc -march=mips64 -o - %s -run-pass=register-coalescer -verify-coalescing | FileCheck %s

---
name:            f
tracksRegLiveness: true
body:             |
  bb.0:
    %0:gpr32 = ADDiu $zero, 0
    %1:gpr32 = COPY %0
    %1:gpr32 = ADDiu %1, 1
    BEQ %0, $zero, %bb.3, implicit-def $at
    J %bb.1, implicit-def dead $at

  bb.1:
    J %bb.2, implicit %1, implicit-def dead $at

  bb.2:
    %1:gpr32 = COPY %0
    %0:gpr32 = COPY %1
    BEQ %0:gpr32, $zero, %bb.2, implicit-def $at

  bb.3:
    %4:gpr32 = ADDiu %1, 1

...

Afaict that test case passes verification on the test input.

Aug 21 2023, 1:29 AM · Restricted Project, Restricted Project
uabelho requested review of D158397: [test] Add -verify-coalescing to testcase and fix problems with it.
Aug 21 2023, 1:27 AM · Restricted Project, Restricted Project

Jul 13 2023

uabelho added inline comments to rG9d701c8a8d65: [ORC] Fix fallout from switch to _objc_map/load_images-based registration..
Jul 13 2023, 11:33 PM · Restricted Project, Restricted Project, Restricted Project
uabelho added a comment to rGf269877dc307: [X86] canonicalizeShuffleMaskWithHorizOp - fold permute(pack(x,y)) -> pack….

The following starts hanging i X86 ISel with this patch:

llc -march=x86-64 -mcpu=corei7 -o /dev/null s_4771.ll

the input is generated by llvm-stress.

Jul 13 2023, 6:10 AM · Restricted Project, Restricted Project

Jul 12 2023

uabelho added a comment to rG593797ab9bed: Revert "IRBuilder: Fix not handling strictfp minnum/maxnum".

Looks like you broke
https://lab.llvm.org/buildbot/#/builders/247/builds/6345
with the revert?

Jul 12 2023, 5:13 AM · Restricted Project, Restricted Project

Jul 10 2023

uabelho added a comment to D154193: [X86]Remove TEST in AND32ri+TEST16rr in peephole-opt.

The following crashes with the patch

llc -march=x86-64 -o /dev/null reduced.ll

Thanks a lot!

Jul 10 2023, 1:12 AM · Restricted Project, Restricted Project
uabelho added a comment to D154193: [X86]Remove TEST in AND32ri+TEST16rr in peephole-opt.

The following crashes with the patch

llc -march=x86-64 -o /dev/null reduced.ll

Jul 10 2023, 1:02 AM · Restricted Project, Restricted Project

Jul 7 2023

uabelho added inline comments to D153469: [dataflow] Replace most BoolValue subclasses with references to Formula (and AtomicBoolValue => Atom and BoolValue => Formula where appropriate).
Jul 7 2023, 5:58 AM · Restricted Project, Restricted Project
uabelho added inline comments to D153469: [dataflow] Replace most BoolValue subclasses with references to Formula (and AtomicBoolValue => Atom and BoolValue => Formula where appropriate).
Jul 7 2023, 5:08 AM · Restricted Project, Restricted Project
uabelho added inline comments to D153469: [dataflow] Replace most BoolValue subclasses with references to Formula (and AtomicBoolValue => Atom and BoolValue => Formula where appropriate).
Jul 7 2023, 3:20 AM · Restricted Project, Restricted Project

Jul 4 2023

uabelho added a comment to D153366: [dataflow] Add dedicated representation of boolean formulas.
Failed Tests (6):
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/ComplexBooleanWithSomeNames
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Conjunction
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Disjunction
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Iff
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Implication
  Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/NestedBoolean

https://lab.llvm.org/buildbot/#/builders/139/builds/44269

Jul 4 2023, 5:01 AM · Restricted Project, Restricted Project

Jun 28 2023

uabelho committed rGd2640f596c47: [StructuralHash] Ignore global variable declarations (authored by uabelho).
[StructuralHash] Ignore global variable declarations
Jun 28 2023, 10:53 PM · Restricted Project, Restricted Project
uabelho closed D153855: [StructuralHash] Ignore global variable declarations.
Jun 28 2023, 10:53 PM · Restricted Project, Restricted Project

Jun 27 2023

uabelho added inline comments to D153855: [StructuralHash] Ignore global variable declarations.
Jun 27 2023, 10:27 PM · Restricted Project, Restricted Project
uabelho updated the diff for D153855: [StructuralHash] Ignore global variable declarations.

Simplified testcase

Jun 27 2023, 10:26 PM · Restricted Project, Restricted Project
uabelho added a comment to D149209: [StructuralHash] Track global variables.

yes skipping global declarations makes sense

Jun 27 2023, 3:57 AM · Restricted Project, Restricted Project
uabelho requested review of D153855: [StructuralHash] Ignore global variable declarations.
Jun 27 2023, 3:55 AM · Restricted Project, Restricted Project

Jun 26 2023

uabelho added a comment to D153762: [LoopPeel] Clear dispositions after peeling.

I've verified this fixes the problem I saw. Great!

Jun 26 2023, 6:52 AM · Restricted Project, Restricted Project
uabelho added a comment to D149344: [SCEV] Replace IsAvailableOnEntry with block disposition.

The following starts failing with this patch (sorry for the ugly command line, utils/reduce_pipeline.py doesn't get any further):

opt -passes="cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full))))" -verify-scev bbi-84034.ll -o /dev/null

It fails with

Cached disposition of %.pre for block %cleanup.loopexit is incorrect! 
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full)))) -verify-scev bbi-84034.ll -o /dev/null
 #0 0x0000556cf9083487 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2dcd487)
 #1 0x0000556cf90811ae llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2dcb1ae)
 #2 0x0000556cf9083b1f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f77ef000630 __restore_rt sigaction.c:0:0
 #4 0x00007f77ec747387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f77ec748a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x0000556cf827564e llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1fbf64e)
 #7 0x0000556cf9bb2f56 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38fcf56)
 #8 0x0000556cf929977d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fe377d)
 #9 0x0000556cf8aa6634 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27f0634)
#10 0x0000556cf6f4ef7d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc98f7d)
#11 0x0000556cf807a61f llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc461f)
#12 0x0000556cf6f508bd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0xc9a8bd)
#13 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece)
#14 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd)
#15 0x0000556cf80787e5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc27e5)
#16 0x0000556cf929b72d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fe572d)
#17 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece)
#18 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd)
#19 0x0000556cf8076eda llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x1dc0eda)
#20 0x0000556cf928279d llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2fcc79d)
#21 0x0000556cf8aa57c4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27ef7c4)
#22 0x0000556cf6b8701e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8d101e)
#23 0x0000556cf6b956de main (../../main-github/llvm/build-all/bin/opt+0x8df6de)
#24 0x00007f77ec733555 __libc_start_main (/lib64/libc.so.6+0x22555)
#25 0x0000556cf6b81770 _start (../../main-github/llvm/build-all/bin/opt+0x8cb770)
Abort (core dumped)

Jun 26 2023, 1:06 AM · Restricted Project, Restricted Project

Jun 20 2023

uabelho added a comment to D151698: [SCEV] Compute AddRec range computations using different type BECount.

Hi,

The following starts failing with this patch:

opt -verify-scev -passes="loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate)" bbi-83618.ll -o /dev/null

I wrote https://github.com/llvm/llvm-project/issues/63385 about it.

Jun 20 2023, 10:32 PM · Restricted Project, Restricted Project

Jun 19 2023

uabelho added inline comments to D151938: [clang][index] NFCI: Make `CXFile` a `FileEntryRef`.
Jun 19 2023, 6:06 AM · Restricted Project, Restricted Project
uabelho added a comment to D151698: [SCEV] Compute AddRec range computations using different type BECount.

Hi,

The following starts failing with this patch:

opt -verify-scev -passes="loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate)" bbi-83618.ll -o /dev/null
Jun 19 2023, 2:05 AM · Restricted Project, Restricted Project
uabelho added a comment to D153145: [LCSSA] Compute SCEV of LCSSA phi if original instruction had SCEV.

I've verified that this fixes the problem I saw in https://reviews.llvm.org/D149435#4428219

Jun 19 2023, 12:24 AM · Restricted Project, Restricted Project

Jun 16 2023

uabelho added a comment to D149435: [LCSSA] Don't invalidate SCEV.

I noticed that after the revert, the following

opt -passes="indvars" bbi-83751.ll -o /dev/null

crashes with

Attempt to use a SCEVCouldNotCompute object!
UNREACHABLE executed at ../include/llvm/Analysis/ScalarEvolutionExpressions.h:705!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=indvars bbi-83751.ll -o /dev/null
 #0 0x000056064f0f9267 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2dcb267)
 #1 0x000056064f0f6f8e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2dc8f8e)
 #2 0x000056064f0f98ff SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f3f0f708630 __restore_rt sigaction.c:0:0
 #4 0x00007f3f0ce4f387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f3f0ce50a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x000056064f07737f (../../main-github/llvm/build-all/bin/opt+0x2d4937f)
 #7 0x000056064f202a44 llvm::SCEVExpander::expand(llvm::SCEV const*) (../../main-github/llvm/build-all/bin/opt+0x2ed4a44)
 #8 0x000056064f202539 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (../../main-github/llvm/build-all/bin/opt+0x2ed4539)
 #9 0x000056064fbd317d (anonymous namespace)::IndVarSimplify::run(llvm::Loop*) IndVarSimplify.cpp:0:0
#10 0x000056064fbcd858 llvm::IndVarSimplifyPass::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x389f858)
#11 0x000056064f31504d llvm::detail::PassModel<llvm::Loop, llvm::IndVarSimplifyPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x2fe704d)
#12 0x000056064fc2ba03 std::optional<llvm::PreservedAnalyses> llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runSinglePass<llvm::Loop, std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, std::default_delete<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>>(llvm::Loop&, std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, std::default_delete<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&, llvm::PassInstrumentation&) (../../main-github/llvm/build-all/bin/opt+0x38fda03)
#13 0x000056064fc2b657 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runWithoutLoopNestPasses(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x38fd657)
#14 0x000056064fc2abf8 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x38fcbf8)
#15 0x000056064f2f4c1d llvm::detail::PassModel<llvm::Loop, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x2fc6c1d)
#16 0x000056064fc2ca61 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38fea61)
#17 0x000056064f3145ad llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fe65ad)
#18 0x000056064eb087f4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27da7f4)
#19 0x000056064cfb9a0d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc8ba0d)
#20 0x000056064eb0cbde llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27debde)
#21 0x000056064cfb97ad llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc8b7ad)
#22 0x000056064eb07984 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27d9984)
#23 0x000056064cbf35ee llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8c55ee)
#24 0x000056064cc01cbe main (../../main-github/llvm/build-all/bin/opt+0x8d3cbe)
#25 0x00007f3f0ce3b555 __libc_start_main (/lib64/libc.so.6+0x22555)
#26 0x000056064cbedd40 _start (../../main-github/llvm/build-all/bin/opt+0x8bfd40)
Abort (core dumped)

Jun 16 2023, 7:26 AM · Restricted Project, Restricted Project
uabelho added a comment to D152541: [InstCombine][CGP] Move swapMayExposeCSEOpportunities() fold.

@uabelho Thanks for the report! Should be fixed by https://github.com/llvm/llvm-project/commit/b7bd3a734c7c08e1a703a4f23e3e854ba94a1bf2.

Guess this didn't happen in InstCombine because this would get folded to a constant.

Jun 16 2023, 7:03 AM · Restricted Project, Restricted Project

Jun 15 2023

uabelho added a comment to D152541: [InstCombine][CGP] Move swapMayExposeCSEOpportunities() fold.

The following starts hanging in CGP with this patch:

llc -march=x86-64 -mcpu=corei7 -o /dev/null stress-11366.ll

The input was generated with

bin/llvm-stress -size 300 -seed 11366

Jun 15 2023, 10:25 PM · Restricted Project, Restricted Project
uabelho added a comment to D148827: -fsanitize=function: support C.

A question: it seems like this messes with alignment on functions?
So with input program al.c:

__attribute__((aligned(64)))
void alignedfn(void) {
  __asm("nop");
}
void alignedfn2(void) {
  __asm("nop");
}
int main(void){}

if we compile with -fsanitize=function we get:

-> clang al.c -o al.o -c -fsanitize=function
-> nm al.o
0000000000000008 T alignedfn
0000000000000018 T alignedfn2
0000000000000028 T main

So alignedfn and alignedfn2 doesn't seem to be aligned as we said.
Without -fsanitize=function:

-> clang al.c -o al.o -c 
-> nm al.o
0000000000000000 T alignedfn
0000000000000010 T alignedfn2
0000000000000020 T main

I guess the data put before the functions get aligned but not the functions themselves. Should I write a ticket about this?

Jun 15 2023, 4:28 AM · Restricted Project, Restricted Project, Restricted Project

Jun 14 2023

uabelho added a comment to D151698: [SCEV] Compute AddRec range computations using different type BECount.

The following starts failing with this patch:

opt -verify-scev -passes="loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate)" bbi-83618.ll -o /dev/null

We get

Incorrect cached computation in ConstantMultipleCache for (-1 * (zext i16 {0,+,6}<nuw><%for.body> to i64))<nuw><nsw> : Computed -6 but cache contains -2!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -verify-scev -passes=loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate) bbi-83618.ll -o /dev/null
 #0 0x00005647691c5b77 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2db3b77)
 #1 0x00005647691c389e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2db189e)
 #2 0x00005647691c620f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f850faf2630 __restore_rt sigaction.c:0:0
 #4 0x00007f850d239387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f850d23aa78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00005647683ab616 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1f99616)
 #7 0x0000564769cf7f36 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38e5f36)
 #8 0x00005647693e0b5d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fceb5d)
 #9 0x0000564768bd4ff4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27c2ff4)
#10 0x0000564767089c4d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc77c4d)
#11 0x0000564768bd93de llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27c73de)
#12 0x00005647670899ed llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc779ed)
#13 0x0000564768bd4184 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27c2184)
#14 0x0000564766cc4a1e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8b2a1e)
#15 0x0000564766cd30ee main (../../main-github/llvm/build-all/bin/opt+0x8c10ee)
#16 0x00007f850d225555 __libc_start_main (/lib64/libc.so.6+0x22555)
#17 0x0000564766cbf170 _start (../../main-github/llvm/build-all/bin/opt+0x8ad170)
Abort (core dumped)

Jun 14 2023, 4:48 AM · Restricted Project, Restricted Project
uabelho committed rGac9b9e3aad6b: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize (authored by uabelho).
[SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize
Jun 14 2023, 4:03 AM · Restricted Project, Restricted Project
uabelho closed D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.
Jun 14 2023, 4:03 AM · Restricted Project, Restricted Project
uabelho updated the diff for D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Ignore isAssumeLikeIntrinsic and not just debug intrinsics.

Jun 14 2023, 3:45 AM · Restricted Project, Restricted Project
uabelho added inline comments to D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.
Jun 14 2023, 1:33 AM · Restricted Project, Restricted Project
uabelho abandoned D151068: [Scalarizer] Fix for vector bitcasts of different element numbers.

This doesn't seem to be needed anymore after https://reviews.llvm.org/D149842 .

Jun 14 2023, 12:26 AM · Restricted Project, Restricted Project

Jun 13 2023

uabelho added a comment to D149209: [StructuralHash] Track global variables.

With this patch the following started failing:

opt -passes=strip-dead-prototypes bbi-83491.ll -o /dev/null -verify-analysis-invalidation

It looks like strip-dead-prototypes has removed

@.str = external constant [15 x i16]

Is that what the change aimed to catch? Should I write an issue about it?

Jun 13 2023, 5:50 AM · Restricted Project, Restricted Project
uabelho updated the diff for D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Rebase

Jun 13 2023, 1:54 AM · Restricted Project, Restricted Project
uabelho committed rG6afe9f3985bf: [test][SLPVectorizer] Precommit testcase showing debug info affects codegen (authored by uabelho).
[test][SLPVectorizer] Precommit testcase showing debug info affects codegen
Jun 13 2023, 1:49 AM · Restricted Project, Restricted Project
uabelho closed D152705: [test][SLPVectorizer] Precommit testcase showing debug info affects codegen.
Jun 13 2023, 1:49 AM · Restricted Project, Restricted Project

Jun 12 2023

uabelho added a comment to D141712: [GVN] Improve PRE on load instructions.

@uabelho Thanks for the report, should be fixed by https://github.com/llvm/llvm-project/commit/282324aa4a6c29d5ce31c66f8def15d9bd8e84e4.

(I did not add an additional test, because plenty of other tests already fail if we don't require -debug for this.)

Jun 12 2023, 6:23 AM · Restricted Project, Restricted Project
uabelho added a comment to D141712: [GVN] Improve PRE on load instructions.

The following starts crashing with this patch:

opt -passes="inline,function<eager-inv;no-rerun>(gvn<>)" bbi-83499.ll -o /dev/null -debug

It requires -debug to crash since there is a verifyRemoved call hidden in a LLVM_DEBUG.

Jun 12 2023, 6:02 AM · Restricted Project, Restricted Project
uabelho updated the diff for D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Precommit testcase in https://reviews.llvm.org/D152705 so this patch shows how the testcase is improved.

Jun 12 2023, 5:30 AM · Restricted Project, Restricted Project
uabelho requested review of D152705: [test][SLPVectorizer] Precommit testcase showing debug info affects codegen.
Jun 12 2023, 5:27 AM · Restricted Project, Restricted Project
uabelho updated the diff for D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Rebase and remove as much metadata as I can without getting complaints from e.g. update_test_checks.py.

Jun 12 2023, 4:48 AM · Restricted Project, Restricted Project

Jun 8 2023

uabelho added a comment to D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Many thanks for the patch, it looks good to me although I'm not very familiar with the vectorisers -- if no-one else reviews deeply then I can give it a shot later,

Would it be simpler to replace the increment lines with calls to getNextNonDebugInstruction rather than add a new predicate / set of calls -- this has the benefit of being slightly smaller, and will make cleanup easier once we've suppressed debug intrinsics entirely,

Jun 8 2023, 10:32 PM · Restricted Project, Restricted Project
uabelho updated the diff for D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

Created a new testcase instead of fiddling with the existing one.
Minor cleanup in metadata, removed dbg.value attributes.

Jun 8 2023, 10:27 PM · Restricted Project, Restricted Project
uabelho added a comment to D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.

@jmorse : I saw you did a bunch of nice debug info cleanups in https://reviews.llvm.org/D151419 but I don't think this problem is fixed there?

Jun 8 2023, 6:22 AM · Restricted Project, Restricted Project
uabelho requested review of D152441: [SLPVectorizer] Don't include isAssumeLikeIntrinsics in ScheduleRegionSize.
Jun 8 2023, 6:20 AM · Restricted Project, Restricted Project

May 30 2023

uabelho added a comment to D149529: [SCEV][reland] More precise trip multiples.

Ping @caojoshua

May 30 2023, 11:26 PM · Restricted Project, Restricted Project
uabelho added a comment to D149529: [SCEV][reland] More precise trip multiples.

The following starts crashing with this commit:

opt -disable-loop-unrolling -verify-scev -passes="module(default<Os>)" bbi-83087.ll -o /dev/null

It crashes with

opt: ../lib/Support/APInt.cpp:1667: llvm::APInt llvm::APInt::urem(const llvm::APInt &) const: Assertion `RHS.U.VAL != 0 && "Remainder by zero?"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -disable-loop-unrolling -verify-scev -passes=module(default<Os>) bbi-83087.ll -o /dev/null
 #0 0x0000561a0f6c6ec7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2d8eec7)
 #1 0x0000561a0f6c4bee llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2d8cbee)
 #2 0x0000561a0f6c755f SignalHandler(int) (../../main-github/llvm/build-all/bin/opt+0x2d8f55f)
 #3 0x00007f0da7660630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007f0da4da7387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f0da4da8a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f0da4da01a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f0da4da0252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000561a0f61d076 llvm::APInt::urem(llvm::APInt const&) const (../../main-github/llvm/build-all/bin/opt+0x2ce5076)
 #9 0x0000561a0e87bcb8 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1f43cb8)
#10 0x0000561a101f6d06 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38bed06)
#11 0x0000561a0f8e7d5d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fafd5d)
#12 0x0000561a0f0a5e84 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x276de84)
#13 0x0000561a0d55aa3d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc22a3d)
#14 0x0000561a0e677c0f llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3fc0f)
#15 0x0000561a0d55c5cd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0xc245cd)
#16 0x0000561a0e6724be llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3a4be)
#17 0x0000561a0f8d032d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2f9832d)
#18 0x0000561a0e675dd5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3ddd5)
#19 0x0000561a0f8e9d5d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fb1d5d)
#20 0x0000561a0e6744ca llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x1d3c4ca)
#21 0x0000561a0f8d05cd llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2f985cd)
#22 0x0000561a0f0a5014 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x276d014)
#23 0x0000561a0f9f437d llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x30bc37d)
#24 0x0000561a0f8d6e8d llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2f9ee8d)
#25 0x0000561a0f0a5014 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x276d014)
#26 0x0000561a0d196e8e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x85ee8e)
#27 0x0000561a0d1a555e main (../../main-github/llvm/build-all/bin/opt+0x86d55e)
#28 0x00007f0da4d93555 __libc_start_main (/lib64/libc.so.6+0x22555)
#29 0x0000561a0d1915e0 _start (../../main-github/llvm/build-all/bin/opt+0x8595e0)
Abort (core dumped)
May 30 2023, 6:25 AM · Restricted Project, Restricted Project

May 29 2023

uabelho added a comment to D151666: [IPSCCP] Decouple queries for function analysis results..

I've veriified that the different crashes we've seen with https://reviews.llvm.org/D150375 goes away with this patch.

May 29 2023, 10:37 PM · Restricted Project, Restricted Project

May 26 2023

uabelho committed rGcafb0991a297: [AMDGPU] Silence gcc warning [NFC] (authored by uabelho).
[AMDGPU] Silence gcc warning [NFC]
May 26 2023, 1:19 AM · Restricted Project, Restricted Project
uabelho added a comment to D150375: [FuncSpec] Replace LoopInfo with BlockFrequencyInfo..

Both valgrind and ASan complains about memory problems. ASan says there is heap-use-after-free for stuff freed here

#1 0x47b6bd9 in llvm::DomTreeUpdater::forceFlushDeletedBB()
#2 0x47b649c in tryFlushDeletedBB
#3 0x47b649c in llvm::DomTreeUpdater::dropOutOfDateUpdates()
#4 0x174687e in llvm::DomTreeUpdater::~DomTreeUpdater()
#5 0x8111719 in runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::__1::function<llvm::BlockFrequencyInfo& (llvm::Function&)>, std::__1::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::__1::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::__1::function<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>, bool)

I've also seen crashes for other passes than adce, e.g. gvnhoist.

May 26 2023, 12:23 AM · Restricted Project, Restricted Project

May 25 2023

uabelho added a comment to D150375: [FuncSpec] Replace LoopInfo with BlockFrequencyInfo..

Hello,

The following starts crashing with this patch:

opt -passes="ipsccp,function(adce)" -mtriple=hexagon bbi-82827.ll -o /dev/null

Result:

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=ipsccp,function(adce) -mtriple=hexagon bbi-82827.ll -o /dev/null
 #0 0x00005590a334c8b7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2d978b7)
 #1 0x00005590a334a5de llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2d955de)
 #2 0x00005590a334cf4f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f396568d630 __restore_rt sigaction.c:0:0
 #4 0x00005590a2c565a1 llvm::DebugLoc::get() const (../../main-github/llvm/build-all/bin/opt+0x26a15a1)
 #5 0x00005590a3db2f31 (anonymous namespace)::AggressiveDeadCodeElimination::markLive(llvm::Instruction*) ADCE.cpp:0:0
 #6 0x00005590a3dafca1 (anonymous namespace)::AggressiveDeadCodeElimination::performDeadCodeElimination() ADCE.cpp:0:0
 #7 0x00005590a3dae4a9 llvm::ADCEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x37f94a9)
 #8 0x00005590a35590dd llvm::detail::PassModel<llvm::Function, llvm::ADCEPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fa40dd)
 #9 0x00005590a2d2c314 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2777314)
#10 0x00005590a11e95ed llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc345ed)
#11 0x00005590a2d306fe llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x277b6fe)
#12 0x00005590a11e938d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc3438d)
#13 0x00005590a2d2b4a4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27764a4)
#14 0x00005590a0e2314e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x86e14e)
#15 0x00005590a0e3181e main (../../main-github/llvm/build-all/bin/opt+0x87c81e)
#16 0x00007f3962dc0555 __libc_start_main (/lib64/libc.so.6+0x22555)
#17 0x00005590a0e1d8a0 _start (../../main-github/llvm/build-all/bin/opt+0x8688a0)
Segmentation fault (core dumped)

May 25 2023, 6:12 AM · Restricted Project, Restricted Project

May 24 2023

uabelho added a comment to D150375: [FuncSpec] Replace LoopInfo with BlockFrequencyInfo..

The following starts crashing with this patch:

opt -passes="ipsccp,function(adce)" -mtriple=hexagon bbi-82827.ll -o /dev/null

Result:

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=ipsccp,function(adce) -mtriple=hexagon bbi-82827.ll -o /dev/null
 #0 0x00005590a334c8b7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2d978b7)
 #1 0x00005590a334a5de llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2d955de)
 #2 0x00005590a334cf4f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f396568d630 __restore_rt sigaction.c:0:0
 #4 0x00005590a2c565a1 llvm::DebugLoc::get() const (../../main-github/llvm/build-all/bin/opt+0x26a15a1)
 #5 0x00005590a3db2f31 (anonymous namespace)::AggressiveDeadCodeElimination::markLive(llvm::Instruction*) ADCE.cpp:0:0
 #6 0x00005590a3dafca1 (anonymous namespace)::AggressiveDeadCodeElimination::performDeadCodeElimination() ADCE.cpp:0:0
 #7 0x00005590a3dae4a9 llvm::ADCEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x37f94a9)
 #8 0x00005590a35590dd llvm::detail::PassModel<llvm::Function, llvm::ADCEPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fa40dd)
 #9 0x00005590a2d2c314 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2777314)
#10 0x00005590a11e95ed llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc345ed)
#11 0x00005590a2d306fe llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x277b6fe)
#12 0x00005590a11e938d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc3438d)
#13 0x00005590a2d2b4a4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27764a4)
#14 0x00005590a0e2314e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x86e14e)
#15 0x00005590a0e3181e main (../../main-github/llvm/build-all/bin/opt+0x87c81e)
#16 0x00007f3962dc0555 __libc_start_main (/lib64/libc.so.6+0x22555)
#17 0x00005590a0e1d8a0 _start (../../main-github/llvm/build-all/bin/opt+0x8688a0)
Segmentation fault (core dumped)

May 24 2023, 4:56 AM · Restricted Project, Restricted Project

May 22 2023

uabelho added inline comments to D147731: [3/11][POC][Clang][RISCV] Add typedef of the tuple type and define tuple type variant of vlseg2e32.
May 22 2023, 3:31 AM · Restricted Project, Restricted Project
uabelho requested review of D151068: [Scalarizer] Fix for vector bitcasts of different element numbers.
May 22 2023, 2:05 AM · Restricted Project, Restricted Project

May 15 2023

uabelho added a comment to D150352: [clang][dataflow] Don't analyze templated declarations..
../../clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp:43:27: error: 'build' is deprecated: Use the version that takes a const Decl & instead [-Werror,-Wdeprecated-declarations]
      ControlFlowContext::build(&FuncDecl, *FuncDecl.getBody(), ASTCtx);
                          ^
../../clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h:41:3: note: 'build' has been explicitly marked deprecated here
  LLVM_DEPRECATED("Use the version that takes a const Decl & instead", "")
  ^
../include/llvm/Support/Compiler.h:143:50: note: expanded from macro 'LLVM_DEPRECATED'
#define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
                                                 ^
1 error generated.
May 15 2023, 8:07 AM · Restricted Project, Restricted Project
uabelho added a comment to D149718: [NFC][Clang] Fix Coverity issues of copy without assign.

Compiling with clang 15.0.5 I get the following warning/error with this patch:

../../clang/include/clang/Sema/ParsedAttr.h:705:18: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  AttributePool &operator=(AttributePool &&pool) = default;
                 ^
../../clang/include/clang/Sema/ParsedAttr.h:674:21: note: move assignment operator of 'AttributePool' is implicitly deleted because field 'Factory' is of reference type 'clang::AttributeFactory &'
  AttributeFactory &Factory;
                    ^
1 error generated.

Also seen in this buildbot:
https://lab.llvm.org/buildbot/#/builders/214/builds/7476

Thank you @uabelho for reporting. Build error is fixed by https://github.com/llvm/llvm-project/commit/292a6c1c2395f990bbde8d968825243e4fe9b954

May 15 2023, 7:22 AM · Restricted Project, Restricted Project
uabelho added a comment to D150505: [cmake] Disable GCC lifetime DSE.

The following four testcases fail for me with this patch:

Failed Tests (4):
  Clangd :: check-fail.test
  Clangd :: check-lines.test
  Clangd :: check.test
  Clangd :: path-mappings.test

Seems like some bots fail as well, e.g. https://lab.llvm.org/buildbot/#/builders/121/builds/30482

May 15 2023, 5:51 AM · Restricted Project, Restricted Project
uabelho added a comment to D149718: [NFC][Clang] Fix Coverity issues of copy without assign.

Compiling with clang 15.0.5 I get the following warning/error with this patch:

../../clang/include/clang/Sema/ParsedAttr.h:705:18: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  AttributePool &operator=(AttributePool &&pool) = default;
                 ^
../../clang/include/clang/Sema/ParsedAttr.h:674:21: note: move assignment operator of 'AttributePool' is implicitly deleted because field 'Factory' is of reference type 'clang::AttributeFactory &'
  AttributeFactory &Factory;
                    ^
1 error generated.
May 15 2023, 1:32 AM · Restricted Project, Restricted Project

May 14 2023

uabelho added a comment to D149718: [NFC][Clang] Fix Coverity issues of copy without assign.

Compiling with clang 15.0.5 I get the following warning/error with this patch:

../../clang/include/clang/Sema/ParsedAttr.h:705:18: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  AttributePool &operator=(AttributePool &&pool) = default;
                 ^
../../clang/include/clang/Sema/ParsedAttr.h:674:21: note: move assignment operator of 'AttributePool' is implicitly deleted because field 'Factory' is of reference type 'clang::AttributeFactory &'
  AttributeFactory &Factory;
                    ^
1 error generated.
May 14 2023, 10:36 PM · Restricted Project, Restricted Project

May 10 2023

uabelho committed rG6647f3cd0103: [CombinerHelper] Fix gcc warning [NFC] (authored by uabelho).
[CombinerHelper] Fix gcc warning [NFC]
May 10 2023, 12:10 AM · Restricted Project, Restricted Project

May 4 2023

uabelho committed rGa5eae0438663: [FuzzMutate] Remove unused variable [NFC] (authored by uabelho).
[FuzzMutate] Remove unused variable [NFC]
May 4 2023, 12:59 AM · Restricted Project, Restricted Project
uabelho committed rG617fc0b9fe55: [clangd] Remove unused variable [NFC] (authored by uabelho).
[clangd] Remove unused variable [NFC]
May 4 2023, 12:59 AM · Restricted Project, Restricted Project

May 3 2023

uabelho added a comment to D149568: [AMDGPU][NFC] Preserve PDTWrapperPass in UnifyDivergentExitNodes.

With this patch a whole bunch of lit tests fail when compiled with EXPENSIVE_CHECKS on.

Failed Tests (51):
  LLVM :: CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
  LLVM :: CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll
  LLVM :: CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
  LLVM :: CodeGen/AMDGPU/branch-condition-and.ll
  LLVM :: CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
  LLVM :: CodeGen/AMDGPU/branch-relaxation.ll
  LLVM :: CodeGen/AMDGPU/build-vector-insert-elt-infloop.ll
  LLVM :: CodeGen/AMDGPU/cf-loop-on-constant.ll
  LLVM :: CodeGen/AMDGPU/control-flow-optnone.ll
  LLVM :: CodeGen/AMDGPU/dagcombine-lshr-and-cmp.ll
  LLVM :: CodeGen/AMDGPU/divergence-at-use.ll
  LLVM :: CodeGen/AMDGPU/infinite-loop.ll
  LLVM :: CodeGen/AMDGPU/insert-delay-alu-bug.ll
  LLVM :: CodeGen/AMDGPU/kill-infinite-loop.ll
  LLVM :: CodeGen/AMDGPU/loop-live-out-copy-undef-subrange.ll
  LLVM :: CodeGen/AMDGPU/mdt-preserving-crash.ll
  LLVM :: CodeGen/AMDGPU/mixed-wave32-wave64.ll
  LLVM :: CodeGen/AMDGPU/move-to-valu-worklist.ll
  LLVM :: CodeGen/AMDGPU/multi-divergent-exit-region.ll
  LLVM :: CodeGen/AMDGPU/nested-loop-conditions.ll
  LLVM :: CodeGen/AMDGPU/operand-folding.ll
  LLVM :: CodeGen/AMDGPU/optimize-negated-cond.ll
  LLVM :: CodeGen/AMDGPU/ret_jump.ll
  LLVM :: CodeGen/AMDGPU/salu-to-valu.ll
  LLVM :: CodeGen/AMDGPU/sdwa-peephole.ll
  LLVM :: CodeGen/AMDGPU/si-annotate-cf-noloop.ll
  LLVM :: CodeGen/AMDGPU/si-annotate-cf-unreachable.ll
  LLVM :: CodeGen/AMDGPU/si-annotate-cf.ll
  LLVM :: CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
  LLVM :: CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
  LLVM :: CodeGen/AMDGPU/si-lower-control-flow-unreachable-block.ll
  LLVM :: CodeGen/AMDGPU/si-scheduler.ll
  LLVM :: CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll
  LLVM :: CodeGen/AMDGPU/si-unify-exit-return-unreachable.ll
  LLVM :: CodeGen/AMDGPU/skip-if-dead.ll
  LLVM :: CodeGen/AMDGPU/switch-default-block-unreachable.ll
  LLVM :: CodeGen/AMDGPU/tuple-allocation-failure.ll
  LLVM :: CodeGen/AMDGPU/uniform-cfg.ll
  LLVM :: CodeGen/AMDGPU/unigine-liveness-crash.ll
  LLVM :: CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
  LLVM :: CodeGen/AMDGPU/update-phi.ll
  LLVM :: CodeGen/AMDGPU/valu-i1.ll
  LLVM :: CodeGen/AMDGPU/vcmp-saveexec-to-vcmpx.ll
  LLVM :: CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
  LLVM :: CodeGen/AMDGPU/vgpr-liverange-ir.ll
  LLVM :: CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
  LLVM :: CodeGen/AMDGPU/wave32.ll
  LLVM :: CodeGen/AMDGPU/wmma_modifiers.ll
  LLVM :: Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-crash.ll
  LLVM :: Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll
  LLVM :: Transforms/LoopStrengthReduce/AMDGPU/lsr-void.ll

It can also be reproduced by adding -verify-dom-info.

May 3 2023, 4:38 AM · Restricted Project, Restricted Project, Restricted Project

Apr 25 2023

uabelho committed rGf7bee65728be: [TailDuplicator] Don't constrain register classes due to debug instructions (authored by uabelho).
[TailDuplicator] Don't constrain register classes due to debug instructions
Apr 25 2023, 11:22 PM · Restricted Project, Restricted Project
uabelho added a comment to D149146: [TailDuplicator] Don't constrain register classes due to debug instructions.

Thanks!

Apr 25 2023, 11:22 PM · Restricted Project, Restricted Project
uabelho closed D149146: [TailDuplicator] Don't constrain register classes due to debug instructions.
Apr 25 2023, 11:22 PM · Restricted Project, Restricted Project
uabelho updated the diff for D149146: [TailDuplicator] Don't constrain register classes due to debug instructions.

Change if/else to ? accordiing to review comment.

Apr 25 2023, 10:35 PM · Restricted Project, Restricted Project
uabelho added inline comments to D149146: [TailDuplicator] Don't constrain register classes due to debug instructions.
Apr 25 2023, 10:34 PM · Restricted Project, Restricted Project
uabelho added inline comments to D149146: [TailDuplicator] Don't constrain register classes due to debug instructions.
Apr 25 2023, 5:14 AM · Restricted Project, Restricted Project