mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-19 06:17:06 +00:00

Currently `TypedValue` can be constructed directly from `Value`, hiding errors that could be caught at compile time. For example the following will compile, but crash/assert at runtime: ``` void foo(TypedValue<IntegerType>); void bar(TypedValue<FloatType> v) { foo(v); } ``` This change removes the constructors and replaces them with explicit llvm casts. Depends on D142852 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D142855