1. Add back https://github.com/intel/llvm/commit/02f9cf9266c35795aa44ded0c37f0c44d8c49069, which was reverted in https://github.com/intel/llvm/pull/8600. 2. Add back https://github.com/intel/llvm/commit/130466e924c51d408408d2a8b8f774d2a119baf4, which was reverted in https://github.com/intel/llvm/pull/8774. 3. Add back https://github.com/intel/llvm/commit/946f8030b58d3d6975369c1b8e047385b86c7ab0, which was reverted in https://github.com/intel/llvm/pull/8849. 4. Revert https://github.com/intel/llvm/commit/479c2ccabb00a3ce204976b100f276d23a0f20fa, added in https://github.com/intel/llvm/pull/10724. 5. Modify test cases to use opaque pointers. 6. Performance testing with using opaque pointers. 7. Implementation may need to changed, e.g., TBAA for SYCL operations.