This is the initial Github release of Byfl, an LLVM-based program-analysis tool.
Updated the installation instructions to mention my helper script.
Replaced the relative hyperlink to LICENSE.md with an absolute one.
Adding new code for tracking loads/stores across various,
register-friendly, types.
Added a snippet of code that attempts to demangle C++ function names
to make it a bit easier for users to follow the --bf-by-func results.
Adjusted flops and ALU ops reporting to integer-only results.  (ALU
output now replaced with 'integer ops'.)
Added support for reuse distance.

The new -bf-reuse-dist option tells Byfl to keep track of data reuse
distance, defined as the median number of unique memory addresses
referenced between successive references to the same address.  This
gives some indication of a program's data locality.

This version of the code was tested with Subversion revision 165745 of
LLVM/Clang/DragonEgg.
Measure reuse-distance.

The LLVM pass now supports a -bf-reuse-dist option to report the
application's median reuse distance.  Currently, this is very slow and
very memory-intensive but does seem to work.
Merge branch 'master' of https://github.com/losalamos/Byfl
Merge remote-tracking branch 'origin/types'

Conflicts:
	lib/bytesflops/bytesflops.cpp
Fixed typos in the README

README.md contained some incorrect HTML.  This has now been corrected.
Updated to work with revision 169129 of LLVM, which no longer provides
addLibrary().
Wrapped more GCC options

Included a patch from Marcus Daniels for wrapping -print-search-dirs,
-print-multi-os-directory, and -print-prog-name.  As Marcus writes,
"These flags are used by various autoconf packages.  In the case of
xRage in the ODE solver (sundials)."
LLVM updated to 174210

Updated to work with revision 174210 of LLVM, in which many of the
header files have been moved into include/llvm/IR/.
Code refactoring

Split instrument_entire_function() into a few, more manageable pieces:
instrument_load_store(), instrument_call(), and instrument_other().
More code refactoring

Split bytesflops.cpp into a set of smaller, more manageable files:
bytesflops.cpp, bytesflops.h, helpers.cpp, init.cpp, and
instrument.cpp.
Parse "-fopenmp"

Added support to the wrapper scripts for parsing "-fopenmp".  When
found, that option is passed to both the compiler and the linker.
Improved support for BF_OPTS

Removed support for the BF_VERBOSE and BF_DISABLE environment variables,
and enabled BF_OPTS to accept -bf-verbose and -bf-disable -- and the
other wrapper-specific flags -- without passing these to opt.
Replaced memory-access-type scalars with an array

Pat McCormick had previously (in commit a9f6f7cab5e0e4e2e12ddd4c1f5be189f8331ee6) introduced a slew of scalar values to keep track of memory-access types: load_float_ins, load_double_ins, load_int8_ins, load_int16_ins, load_int32_ins, load_int64_ins, load_ptr_ins, load_other_type_ins, store_double_ins, store_int8_ins, store_int16_ins, store_int32_ins, store_int64_ins, store_ptr_ins, and store_other_type_ins.  The problems with the scalar-based code are that (1) there are a lot of variables to pass around the code, (2) lots of code has to be modified for each new access type to be tracked, making this approach difficult to maintain, and (3) out of practicality, too many cases get lumped together under "pointer" or "other".

In this commit, all of the scalars have been replaced with a single, logically multidimensional, array that represents a collection of orthogonal access-type information.  Currently, this array represents "{loads, stores} of {the value, a pointer to} {a scalar, a vector of} {8, 16, 32, 64, other}-bit {integers, floating-point values, other values}" -- 120 possibilities if my math is correct.
Renamed column headers

Renamed "Bytes_LD", "Bytes_ST", "Ops_LD", and "Ops_ST" to "LD_bytes",
"ST_bytes", "LD_ops", and "ST_ops", respectively, for consistency with
"Int_ops".  Updated the postprocessing scripts to match, and tested
these scripts with KCachegrind 0.7.1 and HPCViewer 5.3.2-r1514 (from
HPCToolkit 5.1.0-r3542).