HomePhabricator

Add the ability to set breakpoints on named RenderScript reductions

Authored by ldrumm on Oct 5 2016, 12:10 PM.

Description

Add the ability to set breakpoints on named RenderScript reductions

  • Add new lldb_private::lldb_renderscript::RSReduceBreakpointResolver

class that can set breakpoints on kernels that are constituent
functions of named reduction groups. Also support debugging of subsets
of the the reduction group with the -t, --function-role flag which
takes a comma-separated list of reduction function types
outconverter,combiner,initializer,accumulator (defaults to all)

  • Add 2 new helper methods to RenderScriptRuntime,
    1. CreateReductionBreakpoint(name, types): instantiates a new RSReduceBreakpointResolver and inserts that resolver into the running process.
    2. PlaceBreakpointOnReduction: which is a public helper function.
  • hook up the above functionality to the command-line with new CommandObject* classes that handle parsing of function roles and dispatch to the runtime. These are namespaced under the snappy language renderscript reduction breakpoint ... subcommand
  • [incidental] Factor multiple common uses of FindFirstSymbolWithNameAndType(ConstString(".rs.info") into static IsRenderScriptScriptModule(ModuleSP module) function, and replace original uses.

llvm-svn: 283362

Details

Committed
ldrummOct 5 2016, 12:10 PM
Parents
rGa40c479fe910: fix documentation comments; NFC
Branches
Unknown
Tags
Unknown