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

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

Developed by:

    LLVM Team

    University of Illinois at Urbana-Champaign

    http://llvm.cs.uiuc.edu

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/autoconf
                    llvm/projects/ModuleMaker/autoconf
                    llvm/projects/sample/autoconf
Burg:               llvm/utils/Burg
                    llvm/test/Programs/MultiSource/Applications/Burg
Aha:                llvm/test/Programs/MultiSource/Applications/aha
SGEFA:              llvm/test/Programs/MultiSource/Applications/sgefa
SIOD:               llvm/test/Programs/MultiSource/Applications/siod
D:                  llvm/test/Programs/MultiSource/Applications/d
Lambda:             llvm/test/Programs/MultiSource/Applications/lambda-0.1.3
hbd:                llvm/test/Programs/MultiSource/Applications/hbd
treecc:             llvm/test/Programs/MultiSource/Applications/treecc
kimwitu++:          llvm/test/Programs/MultiSource/Applications/kimwitu++
Fhourstones:        llvm/test/Programs/MultiSource/Benchmarks/Fhourstones
McCat:              llvm/test/Programs/MultiSource/Benchmarks/McCat
Olden:              llvm/test/Programs/MultiSource/Benchmarks/Olden
OptimizerEval:      llvm/test/Programs/MultiSource/Benchmarks/OptimizerEval
Ptrdist:            llvm/test/Programs/MultiSource/Benchmarks/Ptrdist
LLUBenchmark:       llvm/test/Programs/MultiSource/Benchmarks/llubenchmark
SIM:                llvm/test/Programs/MultiSource/Benchmarks/sim
cfrac:              llvm/test/Programs/MultiSource/Benchmarks/MallocBench/cfrac
espresso:           llvm/test/Programs/MultiSource/Benchmarks/MallocBench/espresso
gs:                 llvm/test/Programs/MultiSource/Benchmarks/MallocBench/gs
p2c:                llvm/test/Programs/MultiSource/Benchmarks/MallocBench/p2c
gawk:               llvm/test/Programs/MultiSource/Benchmarks/MallocBench/gawk
make:               llvm/test/Programs/MultiSource/Benchmarks/MallocBench/make
perl:               llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl
Dhrystone:          llvm/test/Programs/SingleSource/Benchmarks/Dhrystone
SingleSource Tests: llvm/test/Programs/SingleSource/Benchmarks/Misc
                    llvm/test/Programs/SingleSource/CustomChecked
                    llvm/test/Programs/SingleSource/Gizmos
GNU Libc:           llvm/runtime/GCCLibraries/libc
Zlib Library:       llvm/runtime/zlib
PNG Library:        llvm/runtime/libpng

