Skip to content

[memcpyopt] memset not created out of per-field store instructions #9789

@llvmbot

Description

@llvmbot
Bugzilla Link 9417
Version trunk
OS Linux
Attachments testcase .ll
Reporter LLVM Bugzilla Contributor
CC @lattner

Extended Description

The attached file is a .ll with a simple loop doing 3 stores of 0 to each member in @​glbl. Loop idiom recognizer won't merge it because each store has a stride larger than the width of the store.

Who's responsible for merging:

A = gep foo, 0
B = gep foo, 1
store 0, A
store 0, B

into one store/memset instruction?

This is pulled from MultiSource/Benchmarks/Ptrdist/ks which has gcc/llc = 0.46 on x86-64 linux.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions