diff options
author | Sarah Spall <sarahspall@microsoft.com> | 2025-02-07 09:12:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-07 09:12:55 -0800 |
commit | 3f8e2802069aabe4384ecd4575d50fd4457dae51 (patch) | |
tree | 14ae648006ca139515c42c0cd0fb02cb60c7829f /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 4d7192a5ecabb36263a2cacd4e9243b958424805 (diff) | |
download | llvm-3f8e2802069aabe4384ecd4575d50fd4457dae51.zip llvm-3f8e2802069aabe4384ecd4575d50fd4457dae51.tar.gz llvm-3f8e2802069aabe4384ecd4575d50fd4457dae51.tar.bz2 |
[HLSL] Implement HLSL Elementwise casting (excluding splat cases); Re-land #118842 (#126258)
Implement HLSLElementwiseCast excluding support for splat cases
Do not support casting types that contain bitfields.
Partly closes https://github.com/llvm/llvm-project/issues/100609 and
partly closes https://github.com/llvm/llvm-project/issues/100619
Re-land #118842 after fixing warning as an error, found by a buildbot.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index ced3484..e7a5100 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -4439,6 +4439,11 @@ public: AggValueSlot slot = AggValueSlot::ignored()); LValue EmitPseudoObjectLValue(const PseudoObjectExpr *e); + void FlattenAccessAndType( + Address Addr, QualType AddrTy, + SmallVectorImpl<std::pair<Address, llvm::Value *>> &AccessList, + SmallVectorImpl<QualType> &FlatTypes); + llvm::Value *EmitIvarOffset(const ObjCInterfaceDecl *Interface, const ObjCIvarDecl *Ivar); llvm::Value *EmitIvarOffsetAsPointerDiff(const ObjCInterfaceDecl *Interface, |