mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 01:03:52 +00:00
A utility to run an arbitrary program on each of the LLVM source files.
This is like llvmgrep but instead of running grep, it runs the command given by the first argument. For example, to find the top ten files with the most lines in llvm, you could: utils/llvmdo wc -l | sort -nb | tail Or, to find any source files with the wrong permissions, you could: utils/llvmdo ls -l | grep -v rw-r--r-- Hopefully, you get the idea. llvm-svn: 15246
This commit is contained in:
parent
6272268028
commit
bf4651aa66
31
utils/llvmdo
Executable file
31
utils/llvmdo
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
# This is useful because it prints out all of the source files. Useful for
|
||||
# greps.
|
||||
PROGRAM=`which $1`
|
||||
if [ ! -x "$PROGRAM" ]; then
|
||||
echo "Can't execute $1"
|
||||
exit 1
|
||||
fi
|
||||
shift;
|
||||
ARGS="$*"
|
||||
TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
|
||||
if test -d "$TOPDIR" ; then
|
||||
cd $TOPDIR
|
||||
echo $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 $PROGRAM $ARGS {} \;
|
||||
else
|
||||
echo "Can't find LLVM top directory in $TOPDIR"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user