==============================================================================
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
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
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
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
Dhrystone:          llvm-test/SingleSource/Benchmarks/Dhrystone
SingleSource Tests: llvm-test/SingleSource/Benchmarks/Misc
                    llvm-test/SingleSource/CustomChecked
                    llvm-test/SingleSource/Gizmos
