logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

llvm-extract - extract a function from an LLVM module

Author

       Maintained by the LLVM Team (https://llvm.org/).

Description

       The  llvm-extract  command  takes  the name of a function and extracts it from the specified LLVM bitcode
       file.  It is primarily used as a debugging tool to reduce  test  cases  from  larger  programs  that  are
       triggering a bug.

       In  addition  to  extracting  the  bitcode  of  the  specified  function,  llvm-extract  will also remove
       unreachable global variables, prototypes, and unused types.

       The llvm-extract command reads its input from standard input if filename is omitted or if filename is  -.
       The output is always written to standard output, unless the -o option is specified (see below).

Exit Status

       If llvm-extract succeeds, it will exit with 0.  Otherwise, if an  error  occurs,  it  will  exit  with  a
       non-zero value.

Name

       llvm-extract - extract a function from an LLVM module

Options

–aliasalias-name
          Extract  the  alias  named  function-name  from  the LLVM bitcode.  May be specified multiple times to
          extract multiple alias at once.

       –raliasalias-regular-expr
          Extract the alias matching alias-regular-expr from the LLVM bitcode.  All alias matching  the  regular
          expression will be extracted.  May be specified multiple times.

       –bbbasic-block-specifier
          Extract  basic  blocks(s)  specified  in  basic-block-specifier. May be specified multiple times. Each
          <function:bb[;bb]> specifier pair will create a function. If multiple basic blocks  are  specified  in
          one pair, the first block in the sequence should dominate the rest.

       –delete
          Delete specified Globals from Module.

       -f
          Enable  binary output on terminals.  Normally, llvm-extract will refuse to write raw bitcode output if
          the output stream is a terminal.  With this option, llvm-extract will write raw bitcode regardless  of
          the output device.

       –funcfunction-name
          Extract  the  function  named function-name from the LLVM bitcode.  May be specified multiple times to
          extract multiple functions at once.

       –rfuncfunction-regular-expr
          Extract the function(s) matching function-regular-expr from the LLVM bitcode.  All functions  matching
          the regular expression will be extracted.  May be specified multiple times.

       –globglobal-name
          Extract  the global variable named global-name from the LLVM bitcode.  May be specified multiple times
          to extract multiple global variables at once.

       –rglobglob-regular-expr
          Extract the global variable(s)  matching  global-regular-expr  from  the  LLVM  bitcode.   All  global
          variables matching the regular expression will be extracted.  May be specified multiple times.

       –keep-const-init
          Preserve the values of constant globals.

       –recursive
          Recursively extract all called functions

       -help
          Print a summary of command line options.

       -ofilename
          Specify  the output filename.  If filename is “-” (the default), then llvm-extract sends its output to
          standard output.

       -S
          Write output in LLVM intermediate language (instead of bitcode).

See Also

bugpoint(1)

Synopsis

llvm-extract [options] –funcfunction-name [filename]

See Also