-
-
Notifications
You must be signed in to change notification settings - Fork 15k
Failed assert got 1400 instead of 14 after become tail call at -O3 #158017
Copy link
Copy link
Open
Labels
A-codegenArea: Code generationArea: Code generationC-bugCategory: This is a bug.Category: This is a bug.F-explicit_tail_calls`#![feature(explicit_tail_calls)]``#![feature(explicit_tail_calls)]`F-unboxed_closures`#![feature(unboxed_closures)]``#![feature(unboxed_closures)]`I-miscompileIssue: Correct Rust code lowers to incorrect machine codeIssue: Correct Rust code lowers to incorrect machine codeT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
A-codegenArea: Code generationArea: Code generationC-bugCategory: This is a bug.Category: This is a bug.F-explicit_tail_calls`#![feature(explicit_tail_calls)]``#![feature(explicit_tail_calls)]`F-unboxed_closures`#![feature(unboxed_closures)]``#![feature(unboxed_closures)]`I-miscompileIssue: Correct Rust code lowers to incorrect machine codeIssue: Correct Rust code lowers to incorrect machine codeT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
-O3passes the previous stack values instead of the tuple values passed to the tail callI tried a patch but it's a non trivial one so I haven't submitted any PR
Repro: