-
Notifications
You must be signed in to change notification settings - Fork 152
Open
Description
Environment:
- OS:
- Compiler: clang++ -std=c++17
- Enzyme commit: 8cf040b
I’m seeing a compile-time failure (log attached in error.txt) when differentiating an Eigen-based function with Enzyme. The failure happens only for one intermediate matrix (M2) when calling M2.sum(). All other similar sum() calls on other intermediates compile and run correctly.
Minimal reproducible example
#include <iostream>
#include <enzyme/enzyme>
#include <Eigen/Dense>
using Matrix = Eigen::Matrix<double, 2, 2>;
void enzyme_func_matrix(Matrix* mats, double& sol){
Matrix M0, M1, M2, M3, M4;
M0= mats[0] * mats[1];
M1 = M0 + mats[1];
M2 = mats[2] + M1;
M3 = M2 - M1;
M4 = M1 * M2;
// This fails
sol = M2.sum();
// All of these below work
// sol = M0.sum();
// sol = M1.sum();
// sol = M3.sum();
// sol = M4.sum();
}
int main() {
std::vector<std::vector<std::vector<double>>> inputs
{
{{0.1, 0.2}, {0.3, 0.4}},
{{0.1, 0.2}, {0.3, 0.4}},
{{0.1, 0.2}, {0.3, 0.4}}
};
size_t input_size = inputs.size();
size_t matrix_size = inputs[0].size();
std::vector<std::vector<std::vector<double>>> results(input_size,
std::vector<std::vector<double>>(matrix_size, std::vector<double>(matrix_size, 0.0)));
std::vector<Matrix> mats(input_size), dmats(input_size);
for (size_t mat_idx = 0; mat_idx < input_size; mat_idx++){
dmats[mat_idx].resize(matrix_size, matrix_size);
dmats[mat_idx].setZero();
for (size_t i = 0; i < matrix_size; i++){
for (size_t j = 0; j < matrix_size; j++){
mats[mat_idx](i, j) = inputs[mat_idx][i][j];
}
}
}
double y, lambda;
y = 0.0, lambda = 1.0;
__enzyme_autodiff<void>((void*)enzyme_func_matrix,
enzyme_dup, mats.data(), dmats.data(),
enzyme_dup, &y, &lambda);
for (size_t mat_idx = 0; mat_idx < input_size; mat_idx++){
for (size_t i = 0; i < matrix_size; i++){
for (size_t j = 0; j < matrix_size; j++){
results[mat_idx][i][j] = dmats[mat_idx](i, j);
std::cout << "results[" << mat_idx << "][" << i << "][" << j << "] = "<< results[mat_idx][i][j] << std::endl;
}
}
}
}compilation_error.txt
In file included from ./example.cpp:3:
In file included from ../../build/debug/include/Eigen/Dense:1:
In file included from ../../build/debug/include/Eigen/Core:276:
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
const RhsNestedCleaned& rhs() const { return m_rhs; }
^
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
../../build/debug/include/Eigen/src/Core/Product.h:109:50: error: Enzyme: Cannot deduce type of load %0 = load ptr, ptr %m_rhs, align 8, !dbg !9787 vd:{[-1,0]:Float@double, [-1,8]:Float@double} start:0 size: 8 dt:Unknown
<analysis>
%m_rhs = getelementptr inbounds %"class.Eigen::Product", ptr %this, i32 0, i32 1, !dbg !9787: {[-1]:Pointer, [-1,0,0]:Float@double, [-1,0,8]:Float@double, [-1,1,0]:Float@double, [-1,1,8]:Float@double, [-1,2,0]:Float@double, [-1,2,8]:Float@double, [-1,3,0]:Float@double, [-1,3,8]:Float@double, [-1,4,0]:Float@double, [-1,4,8]:Float@double, [-1,5,0]:Float@double, [-1,5,8]:Float@double, [-1,6,0]:Float@double, [-1,6,8]:Float@double, [-1,7,0]:Float@double, [-1,7,8]:Float@double}, intvals: {}
%0 = load ptr, ptr %m_rhs, align 8, !dbg !9787: {[-1,0]:Float@double, [-1,8]:Float@double}, intvals: {}
ptr %this: {[-1]:Pointer, [-1,0]:Pointer, [-1,8,0]:Float@double, [-1,8,8]:Float@double, [-1,9,0]:Float@double, [-1,9,8]:Float@double, [-1,10,0]:Float@double, [-1,10,8]:Float@double, [-1,11,0]:Float@double, [-1,11,8]:Float@double, [-1,12,0]:Float@double, [-1,12,8]:Float@double, [-1,13,0]:Float@double, [-1,13,8]:Float@double, [-1,14,0]:Float@double, [-1,14,8]:Float@double, [-1,15,0]:Float@double, [-1,15,8]:Float@double}, intvals: {}
</analysis>
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels