-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Open
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillallvm:optimizationsmissed-optimization
Description
Bugzilla Link | 51184 |
Version | trunk |
OS | Windows NT |
Attachments | test case |
CC | @preames,@RKSimon,@shubhamnarlawar77,@sjoerdmeijer |
Extended Description
In the attached test case there is this instruction
%h3 = getelementptr inbounds %struct.entry_t, %struct.entry_t* %2, i64 %idxprom, i32 0, i64 0, i32 0
and 12-13 more similar instructions like
%h3.3 = getelementptr inbounds %struct.entry_t, %struct.entry_t* %2, i64 %idxprom, i32 0, i64 3, i32 0
which begin with the same part getelementptr inbounds %struct.entry_t, %struct.entry_t* %2, i64 %idxprom
When the attached test case is compiled with
opt --passes="default<O3>" store.ll -S -o - | lcc
the output assembly file still contains multiple evaluations of that part, e.g.
mov w15, #48
madd x15, x9, x15, x8
...
mov w13, #48
madd x13, x9, x13, x8
etc.
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillallvm:optimizationsmissed-optimization