[llvm] Add the 'initializes' attribute langref and support (PR #84803)

Haopeng Liu via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 25 14:19:55 PDT 2024


haopliu wrote:

> A quick question before I look into this in more detail: Why do we need the dedicated ConstantRangeList class? I'd have expected to see this passed around as `ArrayRef<ConstantRange>` and stored as `TrailingObjects<ConstantRange>`.
> 
> I see it has some helpers to insert ranges in sorted order, but that seems more like something for the inference implementation rather than the attribute implementation.

Changed the attribute implementation to `TrailingObjects<ConstantRange>` + `ArrayRef<ConstantRange>`, and meanwhile kept the helper class ConstantRangeList for `intersectWith/unionWith/...`  in `FunctionAttrs.cpp` and `DSE.cpp`.

Please take another look. Thanks!

https://github.com/llvm/llvm-project/pull/84803


More information about the llvm-commits mailing list