Load with null memory operand?

How do I match against this instruction?

01ABDA58: i64,ch = load 01ABD948, 01ABD8C0, 01AB1350 null:0

This is the first time I’ve seen NULL in the memory operand location. Any idea on how this could be mapped with tablegen correctly?


Micah Villmow

Systems Engineer

Advanced Technology & Performance

Advanced Micro Devices Inc.

, CA. 94085

P: 408-749-3966

It depends on how your target models its addressing mode. Targets with complex addressing modes usually isel addresses with custom code.



The problem I'm having is what exactly is the meaning of a load
instruction with a NULL memory location would even mean in the sense of
tablegen/llvm or how it is even possible to be generated. I am currently
viewing this as equivalent to a load from a NULL pointer and that
definitely should not be generated anywhere. Once I understood this then
I can probably figure out how to pattern match it correctly.