
This adjusts the DXILOpBuilder API in a couple of ways: 1. Remove the need to call `getOverloadTy` before creating Ops 2. Introduce `tryCreateOp` to parallel `createOp` but propagate errors 3. Introduce specialized createOp methods for each DXIL Op This will simplify usage of the builder in upcoming changes, and also allows us to propagate errors via DiagnosticInfo rather than using fatal errors. Pull Request: https://github.com/llvm/llvm-project/pull/101250
12 lines
452 B
LLVM
12 lines
452 B
LLVM
; RUN: not opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s 2>&1 | FileCheck %s
|
|
|
|
; DXIL operation dot2 does not support double overload type
|
|
; CHECK: in function dot_double2
|
|
; CHECK-SAME: Cannot create Dot2 operation: Invalid overload type
|
|
|
|
define noundef double @dot_double2(<2 x double> noundef %a, <2 x double> noundef %b) {
|
|
entry:
|
|
%dx.dot = call double @llvm.dx.dot2.v2f64(<2 x double> %a, <2 x double> %b)
|
|
ret double %dx.dot
|
|
}
|