-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Open
Labels
good first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contributellvm:globalisel
Description
Currently GlobalISel has G_IMPLICIT_DEF, which acts like undef. This is used to lower both poison and undef from the IR. To mirror the semantics of the IR, we need a separate representation of poison. We should introduce G_POISON to enable better optimizations, particularly when legalization introduces padding vector elements.
This change would mostly be finding all the places G_IMPLICIT_DEF is handled, and equivalently handling G_POISON. We should then migrate vector widening and other transforms to introduce poison instead of undef.
Metadata
Metadata
Assignees
Labels
good first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contributellvm:globalisel