4 Commits

Author SHA1 Message Date
Matt Arsenault
4028bb10c3
Local: Handle noalias_addrspace in combineMetadata (#103938)
This should act like range.

Previously ConstantRangeList assumed a 64-bit range. Now query from the
actual entries. This also means that the empty range has no bitwidth, so
move asserts to avoid checking the bitwidth of empty ranges.
2024-11-26 09:13:34 -05:00
Haopeng Liu
9f10252c4a
Add ConstantRangeList::subtract(ConstantRange) (#97093)
Add ConstantRangeList::subtract(ConstantRange).

This API will be used in the "initializes" attribute inference as well
(for load instructions).
2024-06-28 14:51:41 -07:00
Haopeng Liu
e6c2216940
Add ConstantRangeList::unionWith() and ::intersectWith() (#96547)
Add ConstantRangeList::unionWith() and ::intersectWith().

These methods will be used in the "initializes" attribute inference.

df11106068
2024-06-25 16:38:03 -07:00
Haopeng Liu
5ece35df85
Add the 'initializes' attribute langref and support (#84803)
We propose adding a new LLVM attribute,
`initializes((Lo1,Hi1),(Lo2,Hi2),...)`, which expresses the notion of
memory space (i.e., intervals, in bytes) that the argument pointing to
is initialized in the function.

Will commit the attribute inferring in the follow-up PRs.


https://discourse.llvm.org/t/rfc-llvm-new-initialized-parameter-attribute-for-improved-interprocedural-dse/77337
2024-06-21 12:09:00 -07:00