You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opaque Pointers is a controversial evolution of LLVM with unclear benefits (the declared benefits are more clear/simpler semantics, fewer number of bitcasts), which moves forward on unpredictable schedule (the most likely typed pointers will be deprecated / phased out after LLVM 14 branching). Nevertheless, it's a breaking feature, as it changes the core LLVM IR semantics. And it needs to be properly supported by ISPC in order to keep using new versions of LLVM.
The main concern with opaque pointers is undermined ability of the optimizer to reason about types. This mostly affects high-level optimizations and should have limited effect on the optimizations done by ISPC.
This thread seems to be the kick starter for opaque pointers discussions.
This commit llvm/llvm-project@184591a broke ISPC build with LLVM trunk (which is 14 at the moment), but more fundamental changes will follow.
The text was updated successfully, but these errors were encountered:
Great post by Chris Lattner on opaque pointers and background of original decision to have high level information in the first place: link. In brief, LLVM IR is considered too low level for this type of information.
Opaque Pointers is a controversial evolution of LLVM with unclear benefits (the declared benefits are more clear/simpler semantics, fewer number of bitcasts), which moves forward on unpredictable schedule (the most likely typed pointers will be deprecated / phased out after LLVM 14 branching). Nevertheless, it's a breaking feature, as it changes the core LLVM IR semantics. And it needs to be properly supported by ISPC in order to keep using new versions of LLVM.
The main concern with opaque pointers is undermined ability of the optimizer to reason about types. This mostly affects high-level optimizations and should have limited effect on the optimizations done by ISPC.
This thread seems to be the kick starter for opaque pointers discussions.
This commit llvm/llvm-project@184591a broke ISPC build with LLVM trunk (which is 14 at the moment), but more fundamental changes will follow.
The text was updated successfully, but these errors were encountered: