==============================================================================
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
Spiff:              llvm/test/Programs/MultiSource/Applications/spiff
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++
obsequi:            llvm/test/Programs/MultiSource/Applications/obsequi
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

