Created
September 14, 2023 20:47
-
-
Save nickdesaulniers/4ea4b46f112f1b3bc440020f3a2a01e1 to your computer and use it in GitHub Desktop.
clang++ foo.cpp -I eigen -fsanitize=address,null -std=c++17 -O3 -march=haswell -Xclang -ast-dump -Xclang -ast-dump-filter=round
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dumping round: | |
FunctionDecl 0x556c3378c900 <foo.cpp:5:1, line:7:1> line:5:6 used round 'std::conditional_t<internal::is_same<float, CoeffReturnType>::value, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>, TensorConversionOp<float, const TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>> (Tensor)' | |
|-ParmVarDecl 0x556c3378c800 <col:13, col:20> col:20 used m 'Tensor':'Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>' | |
`-CompoundStmt 0x556c33910100 <col:23, line:7:1> | |
`-ReturnStmt 0x556c339100f0 <line:6:5, col:47> | |
`-ExprWithCleanups 0x556c339100d8 <col:12, col:47> 'std::conditional_t<internal::is_same<float, CoeffReturnType>::value, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>, TensorConversionOp<float, const TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>>':'Eigen::TensorConversionOp<float, const Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>>' | |
`-ImplicitCastExpr 0x556c339100c0 <col:12, col:47> 'std::conditional_t<internal::is_same<float, CoeffReturnType>::value, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>, TensorConversionOp<float, const TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>>':'Eigen::TensorConversionOp<float, const Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>>' <NoOp> | |
`-CXXMemberCallExpr 0x556c338d1e40 <col:12, col:47> 'const std::conditional_t<internal::is_same<float, CoeffReturnType>::value, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>, TensorConversionOp<float, const TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>>':'const Eigen::TensorConversionOp<float, const Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>>' | |
`-MemberExpr 0x556c338d1dc8 <col:12, col:45> '<bound member function type>' .cast 0x556c338d1cc8 | |
`-ImplicitCastExpr 0x556c3390fd90 <col:12, col:33> 'const Eigen::TensorBase<Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>, 0>' xvalue <UncheckedDerivedToBase (TensorBase)> | |
`-MaterializeTemporaryExpr 0x556c338d0718 <col:12, col:33> 'const std::conditional_t<internal::is_same<int, CoeffReturnType>::value, TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>':'const Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>' xvalue | |
`-CXXMemberCallExpr 0x556c33884550 <col:12, col:33> 'const std::conditional_t<internal::is_same<int, CoeffReturnType>::value, TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>, TensorConversionOp<int, const TensorCwiseUnaryOp<bind2nd_op<scalar_sum_op<float, float>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>>>':'const Eigen::TensorConversionOp<int, const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>>' | |
`-MemberExpr 0x556c338844d8 <col:12, col:31> '<bound member function type>' .cast 0x556c338843d8 | |
`-ImplicitCastExpr 0x556c338d0520 <col:12, col:21> 'const Eigen::TensorBase<Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>, 0>' xvalue <UncheckedDerivedToBase (TensorBase)> | |
`-MaterializeTemporaryExpr 0x556c33882e28 <col:12, col:21> 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>':'const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>' xvalue | |
`-ParenExpr 0x556c33882df0 <col:12, col:21> 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>':'const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>' | |
`-CXXOperatorCallExpr 0x556c33807b50 <col:13, col:17> 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>>':'const Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_sum_op<float>>, const Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>>' '+' | |
|-ImplicitCastExpr 0x556c33807b38 <col:15> 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>> (*)(Scalar) const' <FunctionToPointerDecay> | |
| `-DeclRefExpr 0x556c33807ac0 <col:15> 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>> (Scalar) const' lvalue CXXMethod 0x556c337b9f10 'operator+' 'const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar, Scalar>>, const TensorFixedSize<float, Sizes<2, 2>, 1, long>> (Scalar) const' | |
|-ImplicitCastExpr 0x556c33807a98 <col:13> 'const Eigen::TensorBase<Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>, 0>' lvalue <UncheckedDerivedToBase (TensorBase -> TensorBase)> | |
| `-DeclRefExpr 0x556c33807560 <col:13> 'Tensor':'Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>' lvalue ParmVar 0x556c3378c800 'm' 'Tensor':'Eigen::TensorFixedSize<float, Eigen::Sizes<2, 2>, 1>' | |
`-FloatingLiteral 0x556c33807580 <col:17> 'float' 5.000000e-01 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment