Uh oh!
There was an error while loading. Please reload this page.
ARROW-7819: [C++][Gandiva] Add DumpIR to Filter/Projector object - #6417
ARROW-7819: [C++][Gandiva] Add DumpIR to Filter/Projector object#6417fsaintjacques wants to merge 2 commits into
Conversation
6ab97b0 to
2dc7955Compare
pitrou
left a comment
There was a problem hiding this comment.
LGTM in general, a few comments.
There was a problem hiding this comment.
I tried removing the others and minimizing but it unfolded in too many changes.
There was a problem hiding this comment.
Hmm... can we keep the includes as minimal as possible? Arrow is already slow enough to build.
There was a problem hiding this comment.
clangd has this option to automatically add header when auto-completing. I disabled it.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The following patch exposes the generated IR as a method of the objects for further inspection. This is a breaking change for the internal method `FinalizeModule` which doesn't take the dump_ir and optimize flags, it receives `debug` from Configuration now. - Refactored Engine, notably removed dead code, organized init in a single function and simplified LLVMGenerator. - Dumping IR should not write to stdout, but instead return it as a string in the `DumpIR` method. - Refactored Types, fixing some bad methods type. - Added the optimize field to `Configuration` class. - Simplified some unit tests.
2dc7955 to
0bcebc8Compare| llvm::Function* fn = module->getFunction(iter.pc_name()); | ||
| EXPECT_NE(fn, nullptr) << "function " << iter.pc_name() | ||
| << " missing in precompiled module\n"; | ||
| EXPECT_NE(module->getFunction(iter.pc_name()), nullptr); |
There was a problem hiding this comment.
having the name in stderr is helpful for debugging.
There was a problem hiding this comment.
I recommend to set this in your .gdbinit
set environment GTEST_BREAK_ON_FAILURE=1
Then you run the failing test under gdb, it'll break at the first failing test.
There was a problem hiding this comment.
He might mean that the problem may be more evident from looking at test log files :) I think it's OK for now, if it becomes an issue we can improve
There was a problem hiding this comment.
yes, wes - I meant easier to get error from log files or travis output !. but, we'll only hit this when adding new functions - so, it's obvious anyway.
The following patch exposes the generated IR as a method of the objects
for further inspection. This is a breaking change for the internal
method
FinalizeModulewhich doesn't take the dump_ir and optimizeflags, it receives
optimizefrom Configuration now.function and simplified LLVMGenerator.
string in the
DumpIRmethod.Configurationclass.But more importantly, we can now inspect dynamically: