summaryrefslogtreecommitdiffstats
path: root/llvm/utils/llvmgrep
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-06-19 20:32:55 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-06-19 20:32:55 +0000
commit0277fd7b4401bd88593a39386de3e0e80fb97366 (patch)
treea30d9d322ca1270ecbc0c47a2554b0909fb0eec1 /llvm/utils/llvmgrep
parent42ad6461043b73312a13b74ca126475e3d1e3738 (diff)
downloadbcm5719-llvm-0277fd7b4401bd88593a39386de3e0e80fb97366.tar.gz
bcm5719-llvm-0277fd7b4401bd88593a39386de3e0e80fb97366.zip
A utility to search the LLVM source tree for a grep pattern. This is a
replacement for getsrcs.sh which now generates too much text to put on a Linux command line. The approach taken with llvmgrep is to execute a find command and execute a grep on each file that matches the name pattern. The arguments to this script are the same as those of egrep. Note that the -H and -n options to egrep will always be passed so that you always get the file and line number of matches. llvm-svn: 14255
Diffstat (limited to 'llvm/utils/llvmgrep')
-rwxr-xr-xllvm/utils/llvmgrep22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/utils/llvmgrep b/llvm/utils/llvmgrep
new file mode 100755
index 00000000000..89027e301ab
--- /dev/null
+++ b/llvm/utils/llvmgrep
@@ -0,0 +1,22 @@
+#!/bin/sh
+# This is useful because it prints out all of the source files. Useful for
+# greps.
+PATTERN=$*
+TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
+if test -d "$TOPDIR" ; then
+ cd $TOPDIR
+ find docs include lib tools utils projects -type f \
+ \( -path '*/doxygen/*' -o -path '*/Burg/*' \) -prune -o \
+ -name '*.[cdhyl]*' \
+ \! -name '*~' \
+ \! -name '#*' \
+ \! -name '*.ll' \
+ \! -name '*.d' \
+ \! -name '*.dir' \
+ \! -name 'Sparc.burm.c' \
+ \! -name 'llvmAsmParser.cpp' \
+ \! -name 'llvmAsmParser.h' \
+ \! -name 'FileParser.cpp' \
+ \! -name 'FileParser.h' \
+ -exec egrep -H -n $PATTERN {} \;
+fi
OpenPOWER on IntegriCloud