Skip to content

register spilled to wrong location #9506

@llvmbot

Description

@llvmbot
Bugzilla Link 9134
Resolution WONTFIX
Resolved on Nov 25, 2011 14:14
Version trunk
OS Linux
Attachments test case
Reporter LLVM Bugzilla Contributor
CC @asl,@d0k

Extended Description

When registers are spilled around call sites, the first spill is to the wrong stack offset.

The result of the test code produced by "llc -march=systemz" is:

zalloc: # @​zalloc
stmg %r14, %r15, 112(%r15)
stg %r2, 168(%r15) # <--exceeds frame size
# spills to old %r15
aghi %r15, -184 # expand frame 160+24
brasl %r14, malloc
stg %r2, 160(%r15) # superfluous but OK
lg %r4, 168(%r15) # <--reload from new r15
lghi %r3, 0
brasl %r14, memset
lg %r1, 160(%r15)
stg %r1, 176(%r15)
lg %r2, 176(%r15)
lmg %r14, %r15, 296(%r15)
br %r14

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend:SystemZbugzillaIssues migrated from bugzillawontfixIssue is real, but we can't or won't fix it. Not invalid

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions