Faster linear indexing for SubArrays, dims 1-5
Avoid overhead of calling size in getindex/setindex for SubArrays
Enble LLVM support for Intel VTune Amplifier if platform supports it.

The change to deps/Makefile causes LLVM to be compiled with --with-intel-jitevents for
* Windows
* Linux on x86

The change to src/codegen.cpp causes Julia to register a IntelJITEventListener
when the environment variable ENABLE_JITPROFILING is set.

Intel VTune Amplifier is not required to compile the code because the standard LLVM
distribution (3.3 or current pre-3.4 development version) already has the necessary code.
Make VTune Amplifier support conditional on USE_INTEL_JITEVENTS.
Merge pull request #4574 from ArchRobison/master

RFC: Enable LLVM support for Intel VTune Amplifier if platform supports it.
Revised csc_symperm

A more careful reading of the `cs_symperm` function in CSparse was needed.
The CSparse function `cs_cumsum` has unexpected side-effects that need to
be emulated by copying the first `n` positions in the cumulative sum back to
the work vector `w`.  Also, the `w` vector must be initialized to zeros.

The `csc_symperm` function was hidden in the `Base.` namespace and it is doubtful
anyone else ever used it.
fix parsing of <digit>.<op> to always favor the dot version of the operator over floating-point literals. closes #4604

we were missing the .+ .- and .' cases
Merge pull request #4427 from JuliaLang/teh/subarray_linear

Faster linear indexing for SubArrays, dims 1-5
Remove problematic CreateUnreachable's
Merge pull request #4613 from JuliaLang/kf/llvmfix

Remove problematic CreateUnreachable's
task_local_storage(body,key,val): dynamically scoped storage.

This implements a common pattern for emulating dynamic scoping: use
task-local storage and restore the old value (or lack thereof) when
a block of code is done executing. The source_path code is a little
too specialized to use this, but it's the same basic pattern.
base/test.jl: fix the broken {register,with}handler API; export less.

This was never meant to work like that. There is a stack of handlers,
not an array slot that you assign to. And the stack must be per-task,
so using a global array is broken too. This version uses task-local
storage instead to do dynamically scoped test result handlers.

I'm not sure why so many things were exported from the Test module.
Things that are prefixed with test_ and are clearly meant to be used
from other modules make sense to export but exporting names like
Result, Success, Failure, Error, registerhandler, and withhandler is
just nuts – those should be accessed with explicit qualification as
being inside the Test module.
test/bigint.jl: adjust so bigfib(0) == 0, add more tests.

I noticed while doing this that this uses a non-standard definition
where fib(0) == 1 instead of fib(0) == 0. Doesn't really matter as
this is just a test, but it caused me some concern when this result
wasn't checking out with fib(10^6) as computed by Wolfram|Alpha™.
So I changed this to match the standard definition and shortened it
up a bit. I also added a bunch of tests to make sure that it works
as it should.
Merge branch 'master' of github.com:JuliaLang/julia
add performance tip about deprecated functions (they're slow)
Git.dir: version that doesn't change julia's current directory.

This was preventing making Pkg operations parallel from working.
task_local_storage: finally + catch + rethrow is redundant.
`@parallel Pkg`: make update and publish parallel using `@async`.
Pkg.publish: use `--contains` instead of `--points-at` with git tag.

Apparently this option was added to git rather recently. Fix #4618.
Sharpen some of the types for QR factorization