[llvm-dev] Redundant ptrtoint/inttoptr instructions (original) (raw)
Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 2 11:02:48 PDT 2020
- Previous message: [llvm-dev] Redundant ptrtoint/inttoptr instructions
- Next message: [llvm-dev] Redundant ptrtoint/inttoptr instructions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 7/2/20 12:16 PM, Matt Arsenault wrote:
On Jul 2, 2020, at 13:09, Hal Finkel via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: My general feeling is this: No optimizations should be creating int2ptr/ptr2int. We really need to fix them all. They should use pointer casts and i8* GEPs. This has, unfortunately, been a problem for a long time. As Johannes says, optimizing int2ptr/ptr2int is very tricky. In part, becaue all dependencies, including implicit control dependencies, end up being part of the resulting aliasing based-on chain, and we have a set of bug reports discussing this is great detail. -Hal We recently started introducing some more of these to represent no-op address space conversions in cases where pointer bits are reinterpreted. There’s currently a whole in the IR where there’s no other way to represent a pointer reinterpret. To fix this case, I think we need to re-allow bitcasts between pointers with different address spaces, but the same size. -Matt
Makes sense to me.
-Hal
-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200702/d54e57c4/attachment.html>
- Previous message: [llvm-dev] Redundant ptrtoint/inttoptr instructions
- Next message: [llvm-dev] Redundant ptrtoint/inttoptr instructions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]