==============================================================================
LLVM Release License
==============================================================================
University of Illinois/NCSA
Open Source License

Copyright (c) 2003, 2004, 2005 University of Illinois at Urbana-Champaign.
All rights reserved.

Developed by:

    LLVM Team

    University of Illinois at Urbana-Champaign

    http://llvm.org/

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal with
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimers.

    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimers in the
      documentation and/or other materials provided with the distribution.

    * Neither the names of the LLVM Team, University of Illinois at
      Urbana-Champaign, nor the names of its contributors may be used to
      endorse or promote products derived from this Software without specific
      prior written permission.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
SOFTWARE.

==============================================================================
Copyrights and Licenses for Third Party Software Distributed with LLVM:
==============================================================================
The LLVM software contains code written by third parties.  Such software will
have its own individual LICENSE.TXT file in the directory in which it appears.
This file will describe the copyrights, license, and restrictions which apply
to that code.

The disclaimer of warranty in the University of Illinois Open Source License
applies to all code in the LLVM Distribution, and nothing in any of the
other licenses gives permission to use the names of the LLVM Team or the
University of Illinois to endorse or promote products derived from this
Software.

The following pieces of software have additional or alternate copyrights,
licenses, and/or restrictions:

Program             Directory
-------             ---------
Autoconf:           llvm-test/autoconf
Benchmark:          llvm-test/libs/benchmark-1.1.0
Burg:               llvm-test/MultiSource/Applications/Burg
Aha:                llvm-test/MultiSource/Applications/aha
SGEFA:              llvm-test/MultiSource/Applications/sgefa
SIOD:               llvm-test/MultiSource/Applications/siod
Spiff:              llvm-test/MultiSource/Applications/spiff
D:                  llvm-test/MultiSource/Applications/d
Lambda:             llvm-test/MultiSource/Applications/lambda-0.1.3
hbd:                llvm-test/MultiSource/Applications/hbd
treecc:             llvm-test/MultiSource/Applications/treecc
kimwitu++:          llvm-test/MultiSource/Applications/kimwitu++
obsequi:            llvm-test/MultiSource/Applications/obsequi
Hexxagon:           llvm-test/MultiSource/Applications/hexxagon
SPASS:              llvm-test/MultiSource/Applications/SPASS
oggenc:             llvm-test/MultiSource/Applications/oggenc
JM:                 llvm-test/MultiSource/Applications/JM
ALAC:               llvm-test/MultiSource/Applications/ALAC
ASC Sequoia:        llvm-test/MultiSource/Benchmarks/ASC_Sequoia/AMGmk
                    llvm-test/MultiSource/Benchmarks/ASC_Sequoia/IRSmk
                    llvm-test/MultiSource/Benchmarks/ASC_Sequoia/sphot
smg2000:            llvm-test/MultiSource/Benchmarks/ASCI_Purple/SMG2000
XSBench:            llvm-test/MultiSource/Benchmarks/DOE-ProxyApps-C/XSBench
Fhourstones:        llvm-test/MultiSource/Benchmarks/Fhourstones
Fhourstones-3.1:    llvm-test/MultiSource/Benchmarks/Fhourstones-3.1
McCat:              llvm-test/MultiSource/Benchmarks/McCat
Olden:              llvm-test/MultiSource/Benchmarks/Olden
OptimizerEval:      llvm-test/MultiSource/Benchmarks/OptimizerEval
Ptrdist:            llvm-test/MultiSource/Benchmarks/Ptrdist
LLUBenchmark:       llvm-test/MultiSource/Benchmarks/llubenchmark
SIM:                llvm-test/MultiSource/Benchmarks/sim
cfrac:              llvm-test/MultiSource/Benchmarks/MallocBench/cfrac
espresso:           llvm-test/MultiSource/Benchmarks/MallocBench/espresso
gs:                 llvm-test/MultiSource/Benchmarks/MallocBench/gs
p2c:                llvm-test/MultiSource/Benchmarks/MallocBench/p2c
gawk:               llvm-test/MultiSource/Benchmarks/MallocBench/gawk
make:               llvm-test/MultiSource/Benchmarks/MallocBench/make
perl:               llvm-test/MultiSource/Benchmarks/MallocBench/perl
adpcm:              llvm-test/MultiSource/Benchmarks/mediabench/adpcm
g721:               llvm-test/MultiSource/Benchmarks/mediabench/g721
gsm:                llvm-test/MultiSource/Benchmarks/mediabench/gsm
jpeg:               llvm-test/MultiSource/Benchmarks/mediabench/jpeg
mpeg2:              llvm-test/MultiSource/Benchmarks/mediabench/mpeg2
TSVC:               llvm-test/MultiSource/Benchmarks/TSVC
7zip (Benchmark):   llvm-test/MultiSource/Benchmarks/7zip
Dhrystone:          llvm-test/SingleSource/Benchmarks/Dhrystone
SingleSource Tests: llvm-test/SingleSource/Benchmarks/Misc
                    llvm-test/SingleSource/CustomChecked
                    llvm-test/SingleSource/Gizmos
                    llvm-test/SingleSource/Benchmarks/SmallPT
zlib:               llvm-test/MultiSource/Applications/ClamAV/zlib_*
