Skip to content

Multiple evaluations of a GEP #50528

@momchil-velikov

Description

@momchil-velikov
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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions