Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seek for rebase #1140

Closed
gitoleg opened this issue Nov 19, 2024 · 6 comments
Closed

Seek for rebase #1140

gitoleg opened this issue Nov 19, 2024 · 6 comments

Comments

@gitoleg
Copy link
Collaborator

gitoleg commented Nov 19, 2024

Hi all!
I have the next question: when do you plan the next rebase?
The reason I'm asking is that the previous one was done in the moment when a bug existed in the trunk and it kind of affects ClangIR as well.

Reprocase:
clang tmp.c -O2 --target=aarch64-none-linux-gnu -c (one may enable -fclangir as well, it doesn't change anything)

typedef struct {
    char d;
} A;

typedef struct {
    A a;
} B;

#define MACRO(a, b) a <= b ? a : 0

B* ptr;

char i, j, k, l, m, n;

void foo() {
    char ag = i ? ptr->a.d : 0;
    char af = MACRO(ag, j);
    l = af / k;
    m = 1 ? af % k : n;
}

This code fails with the weird error in the llvm's DAGCombiner

llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:16156: llvm::SDValue {anonymous}::DAGCombiner::visitFREEZE(llvm::SDNode*): Assertion `DAG.isGuaranteedNotToBeUndefOrPoison(R, false) && "Can't create node that may be undef/poison!"' failed.

I did not try to bisect to identify the exact commit in trunk, but the point is - the bug is already fixed, I checked it with the current main branch of llvm-project and it would be great if we do the rebasing one day

cc @bcardosolopes

@smeenai
Copy link
Collaborator

smeenai commented Nov 19, 2024

I'll look into it.

@smeenai
Copy link
Collaborator

smeenai commented Nov 22, 2024

I pushed a new rebase.

@smeenai smeenai closed this as completed Nov 22, 2024
@seven-mile
Copy link
Collaborator

@smeenai It seems this too recent commit is not included. Do we have a standard / policy of choosing a base commit to synchronize with?

@smeenai
Copy link
Collaborator

smeenai commented Nov 22, 2024

I picked a base commit from Tuesday, so we missed out by one day :) I can just run another rebase though, it should hopefully be pretty quick and painless given that I just performed one.

Edited to add: we generally pick a base commit on the day we start the rebase, make sure it's in a good state (passed check-llvm check-clang check-mlir etc.), and then stick with that base through the rebase. For the rebase itself, we make sure check-clang-cir passes after every single rebased commit, which is why it takes a few days to perform.

@smeenai smeenai reopened this Nov 22, 2024
@bcardosolopes
Copy link
Member

@smeenai thanks for all rebase work and getting our community happy to be living on the edge :D

@smeenai
Copy link
Collaborator

smeenai commented Nov 23, 2024

Pushed a new rebase. @seven-mile your work enabled us to get rid of a ClangIR-specific change we had to Targets.h, which is very nice :)

@smeenai smeenai closed this as completed Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants