-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[DebugInfo][LoopVectorizer] Avoid dropping !dbg in optimizeForVFAndUF #114243
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
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,108 @@ | ||||||||||
| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 | ||||||||||
| ; RUN: opt -S < %s -passes=loop-vectorize -force-vector-width=2 | FileCheck %s | ||||||||||
|
|
||||||||||
| target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" | ||||||||||
| target triple = "x86_64-unknown-linux-gnu" | ||||||||||
|
|
||||||||||
|
||||||||||
| define fastcc i32 @foo(i64 %a) { | ||||||||||
|
||||||||||
| define fastcc i32 @foo(i64 %a) { | |
| define i32 @foo(i64 %a) { |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be needed I think or at least it might be clearer to use a constant trip count in the exit check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be good to still apply if possible to simplify the test.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| do.body: ; preds = %do.body, %entry | |
| loop: |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| %indvars.iv554 = phi i64 [ %indvars.iv.next555, %do.body ], [ 0, %entry ], !dbg !4 | |
| %iv = phi i64 [ %iv.next, %do.body ], [ 0, %entry ], !dbg !4 |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please store to a non-null pointer, to ensure the test isn't UB
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| %exitcond557.not = icmp eq i64 %indvars.iv554, %wide.trip.count, !dbg !8 | |
| %ec = icmp eq i64 %indvars.iv554, %wide.trip.count, !dbg !8 |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| do.body45.preheader: ; preds = %do.body | |
| ret i32 0 | |
| exit: | |
| ret void |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if any of this can be shortened.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes it can - in most of the tests for my recent patches I cleaned the metadata up before submitting, unfortunately look like I missed this one!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The triple shouldn't be needed, can you remove it? If it is required, then the test needs to be moved to the X86 subdirectory, otherwise it will fail if the X86 backend isn't built