Repository: systemml Updated Branches: refs/heads/master 73f131b8c -> 1e5984cca
[MINOR] Improved tracking and reporting of function call line numbers Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/303a2d31 Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/303a2d31 Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/303a2d31 Branch: refs/heads/master Commit: 303a2d31d29f2379e6833894b5c20e9e86dfa19d Parents: 73f131b Author: Matthias Boehm <[email protected]> Authored: Thu Jun 14 16:40:34 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Thu Jun 14 16:40:34 2018 -0700 ---------------------------------------------------------------------- .../sysml/hops/ipa/IPAPassInlineFunctions.java | 2 ++ .../org/apache/sysml/parser/DMLTranslator.java | 18 +++++------------- 2 files changed, 7 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/303a2d31/src/main/java/org/apache/sysml/hops/ipa/IPAPassInlineFunctions.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/ipa/IPAPassInlineFunctions.java b/src/main/java/org/apache/sysml/hops/ipa/IPAPassInlineFunctions.java index 2f76a55..7706ed6 100644 --- a/src/main/java/org/apache/sysml/hops/ipa/IPAPassInlineFunctions.java +++ b/src/main/java/org/apache/sysml/hops/ipa/IPAPassInlineFunctions.java @@ -74,6 +74,8 @@ public class IPAPassInlineFunctions extends IPAPass List<StatementBlock> fcallsSB = fgraph.getFunctionCallsSB(fkey); for(int i=0; i<fcalls.size(); i++) { FunctionOp op = fcalls.get(i); + if( LOG.isDebugEnabled() ) + LOG.debug("-- inline '"+fkey+"' at line "+op.getBeginLine()); //step 0: robustness for special cases if( op.getInput().size() != fstmt.getInputParams().size() http://git-wip-us.apache.org/repos/asf/systemml/blob/303a2d31/src/main/java/org/apache/sysml/parser/DMLTranslator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/DMLTranslator.java b/src/main/java/org/apache/sysml/parser/DMLTranslator.java index 2349b56..102ca54 100644 --- a/src/main/java/org/apache/sysml/parser/DMLTranslator.java +++ b/src/main/java/org/apache/sysml/parser/DMLTranslator.java @@ -1338,11 +1338,8 @@ public class DMLTranslator FunctionOp fcall = (target == null) ? new FunctionOp(ftype, fci.getNamespace(), fci.getName(), finputs, new String[]{}, false) : new FunctionOp(ftype, fci.getNamespace(), fci.getName(), finputs, new String[]{target.getName()}, false); + fcall.setParseInfo(fci); output.add(fcall); - - //TODO function output dataops (phase 3) - //DataOp trFoutput = new DataOp(target.getName(), target.getDataType(), target.getValueType(), fcall, DataOpTypes.FUNCTIONOUTPUT, null); - //DataOp twFoutput = new DataOp(target.getName(), target.getDataType(), target.getValueType(), trFoutput, DataOpTypes.TRANSIENTWRITE, null); } } @@ -1370,23 +1367,18 @@ public class DMLTranslator .map(d -> d.getName()).toArray(String[]::new); FunctionType ftype = fsb.getFunctionOpType(); FunctionOp fcall = new FunctionOp(ftype, fci.getNamespace(), fci.getName(), finputs, foutputs, false); + fcall.setParseInfo(fci); output.add(fcall); - - //TODO function output dataops (phase 3) - /*for ( DataIdentifier paramName : mas.getTargetList() ){ - DataOp twFoutput = new DataOp(paramName.getName(), paramName.getDataType(), paramName.getValueType(), fcall, DataOpTypes.TRANSIENTWRITE, null); - output.add(twFoutput); - }*/ } else if ( source instanceof BuiltinFunctionExpression && ((BuiltinFunctionExpression)source).multipleReturns() ) { // construct input hops Hop fcall = processMultipleReturnBuiltinFunctionExpression((BuiltinFunctionExpression)source, mas.getTargetList(), ids); - output.add(fcall); + output.add(fcall); } else if ( source instanceof ParameterizedBuiltinFunctionExpression && ((ParameterizedBuiltinFunctionExpression)source).multipleReturns() ) { // construct input hops Hop fcall = processMultipleReturnParameterizedBuiltinFunctionExpression((ParameterizedBuiltinFunctionExpression)source, mas.getTargetList(), ids); - output.add(fcall); + output.add(fcall); } else throw new LanguageException("Class \"" + source.getClass() + "\" is not supported in Multiple Assignment statements"); @@ -2248,7 +2240,7 @@ public class DMLTranslator // Create the hop for current function call FunctionOp fcall = new FunctionOp(ftype, nameSpace, source.getOpCode().toString(), inputs, outputNames, outputs); currBuiltinOp = fcall; - + break; default:
