[llvm-symbolizer] Add llvm-addr2line

This adds an alias for llvm-symbolizer with different defaults so that
it can be used as a drop-in replacement for GNU's addr2line.

If a substring "addr2line" is found in the tool's name:
  * it defaults "-i", "-f" and "-C" to OFF;
  * it uses "--output-style=GNU" by default.

Differential Revision: https://reviews.llvm.org/D60067

llvm-svn: 358749
diff --git a/llvm/docs/CommandGuide/index.rst b/llvm/docs/CommandGuide/index.rst
index 9108ae6..8a6edf5 100644
--- a/llvm/docs/CommandGuide/index.rst
+++ b/llvm/docs/CommandGuide/index.rst
@@ -31,6 +31,7 @@
    llvm-profdata
    llvm-stress
    llvm-symbolizer
+   llvm-addr2line
    llvm-dwarfdump
    dsymutil
    llvm-mca
diff --git a/llvm/docs/CommandGuide/llvm-addr2line.md b/llvm/docs/CommandGuide/llvm-addr2line.md
new file mode 100644
index 0000000..03224c4
--- /dev/null
+++ b/llvm/docs/CommandGuide/llvm-addr2line.md
@@ -0,0 +1,28 @@
+# llvm-addr2line - a drop-in replacement for addr2line
+
+## SYNOPSIS
+
+**llvm-addr2line** [*options*]
+
+## DESCRIPTION
+
+**llvm-addr2line** is an alias for the [llvm-symbolizer](llvm-symbolizer) tool
+with different defaults. The goal is to make it a drop-in replacement for
+GNU's **addr2line**.
+
+Here are some of those differences:
+
+* Defaults not to print function names. Use [-f](llvm-symbolizer-opt-f)
+  to enable that.
+
+* Defaults not to demangle function names. Use [-C](llvm-symbolizer-opt-C)
+  to switch the demangling on.
+
+* Defaults not to print inlined frames. Use [-i](llvm-symbolizer-opt-i)
+  to show inlined frames for a source code location in an inlined function.
+
+* Uses [--output-style=GNU](llvm-symbolizer-opt-output-style) by default.
+
+## SEE ALSO
+
+Refer to [llvm-symbolizer](llvm-symbolizer) for additional information.
diff --git a/llvm/docs/CommandGuide/llvm-symbolizer.rst b/llvm/docs/CommandGuide/llvm-symbolizer.rst
index 4dd6d9b..b9368f5 100644
--- a/llvm/docs/CommandGuide/llvm-symbolizer.rst
+++ b/llvm/docs/CommandGuide/llvm-symbolizer.rst
@@ -72,17 +72,23 @@
 
   Path to object file to be symbolized.
 
+.. _llvm-symbolizer-opt-f:
+
 .. option:: -functions[=<none|short|linkage>], -f
 
   Specify the way function names are printed (omit function name,
   print short function name, or print full linkage name, respectively).
   Defaults to ``linkage``.
 
+.. _llvm-symbolizer-opt-use-symbol-table:
+
 .. option:: -use-symbol-table
 
  Prefer function names stored in symbol table to function names
  in debug info sections. Defaults to true.
 
+.. _llvm-symbolizer-opt-C:
+
 .. option:: -demangle, -C
 
  Print demangled function names. Defaults to true.
@@ -91,6 +97,8 @@
 
  Don't print demangled function names.
 
+.. _llvm-symbolizer-opt-i:
+
 .. option:: -inlining, -inlines, -i
 
  If a source code location is in an inlined function, prints all the
@@ -128,6 +136,8 @@
  Add the specified offset to object file addresses when performing lookups. This
  can be used to perform lookups as if the object were relocated by the offset.
 
+.. _llvm-symbolizer-opt-output-style:
+
 .. option:: -output-style=<LLVM|GNU>
 
   Specify the preferred output style. Defaults to ``LLVM``. When the output