OSDN Git Service

Add Subzero as a Git subtree.
authorNicolas Capens <capn@google.com>
Wed, 3 May 2017 17:37:29 +0000 (13:37 -0400)
committerNicolas Capens <capn@google.com>
Wed, 3 May 2017 18:14:24 +0000 (14:14 -0400)
Add 'third_party/subzero/' from commit 'fb705a6d55003b2c32772ae49e25b0babcff5acc'
from repository https://chromium.googlesource.com/native_client/pnacl-subzero

Bug swiftshader:47
Bug b/37478805

Change-Id: I9cc7a7f3d788059984102c8275ec7b28c4b0aad0
git-subtree-dir: third_party/subzero
git-subtree-mainline: 1ba2611b653dc7db5513608995bc4353363e111f
git-subtree-split: fb705a6d55003b2c32772ae49e25b0babcff5acc

618 files changed:
1  2 
third_party/subzero/.dir-locals.el
third_party/subzero/.gitignore
third_party/subzero/CMakeLists.txt
third_party/subzero/DESIGN.rst
third_party/subzero/LICENSE.TXT
third_party/subzero/Makefile
third_party/subzero/Makefile.standalone
third_party/subzero/Makefile.standalone-help/check-lit.txt
third_party/subzero/Makefile.standalone-help/check-xtest.txt
third_party/subzero/Makefile.standalone-help/help.txt
third_party/subzero/OWNERS
third_party/subzero/README-wasm.md
third_party/subzero/README.rst
third_party/subzero/bloat/README.chromium
third_party/subzero/bloat/bloat.py
third_party/subzero/bloat/pnacl-sz.bloat.html
third_party/subzero/bloat/pnacl-sz.x8632.nexe.bloat.html
third_party/subzero/bloat/pnacl-sz.x8664.nexe.bloat.html
third_party/subzero/bloat/pnacl_public_x86_32_pnacl_sz_nexe.bloat.html
third_party/subzero/bloat/pnacl_public_x86_64_pnacl_sz_nexe.bloat.html
third_party/subzero/bloat/webtreemap.css
third_party/subzero/bloat/webtreemap.js
third_party/subzero/c2wasm-exe.sh
third_party/subzero/codereview.settings
third_party/subzero/crosstest/crosstest.cfg
third_party/subzero/crosstest/insertelement.h
third_party/subzero/crosstest/lit.cfg
third_party/subzero/crosstest/mem_intrin.cpp
third_party/subzero/crosstest/mem_intrin.def
third_party/subzero/crosstest/mem_intrin.h
third_party/subzero/crosstest/mem_intrin_main.cpp
third_party/subzero/crosstest/simple_loop.c
third_party/subzero/crosstest/simple_loop_main.c
third_party/subzero/crosstest/test_arith.cpp
third_party/subzero/crosstest/test_arith.def
third_party/subzero/crosstest/test_arith.h
third_party/subzero/crosstest/test_arith_fabs.ll
third_party/subzero/crosstest/test_arith_frem.ll
third_party/subzero/crosstest/test_arith_ll.ll
third_party/subzero/crosstest/test_arith_main.cpp
third_party/subzero/crosstest/test_arith_sqrt.ll
third_party/subzero/crosstest/test_bitmanip.cpp
third_party/subzero/crosstest/test_bitmanip.def
third_party/subzero/crosstest/test_bitmanip.h
third_party/subzero/crosstest/test_bitmanip_intrin.ll
third_party/subzero/crosstest/test_bitmanip_main.cpp
third_party/subzero/crosstest/test_calling_conv.cpp
third_party/subzero/crosstest/test_calling_conv.def
third_party/subzero/crosstest/test_calling_conv.h
third_party/subzero/crosstest/test_calling_conv_main.cpp
third_party/subzero/crosstest/test_cast.cpp
third_party/subzero/crosstest/test_cast.h
third_party/subzero/crosstest/test_cast_main.cpp
third_party/subzero/crosstest/test_cast_to_u1.ll
third_party/subzero/crosstest/test_cast_vectors.ll
third_party/subzero/crosstest/test_fcmp.def
third_party/subzero/crosstest/test_fcmp.pnacl.ll
third_party/subzero/crosstest/test_fcmp_main.cpp
third_party/subzero/crosstest/test_global.cpp
third_party/subzero/crosstest/test_global.h
third_party/subzero/crosstest/test_global_main.cpp
third_party/subzero/crosstest/test_icmp.cpp
third_party/subzero/crosstest/test_icmp.def
third_party/subzero/crosstest/test_icmp.h
third_party/subzero/crosstest/test_icmp_i1vec.ll
third_party/subzero/crosstest/test_icmp_main.cpp
third_party/subzero/crosstest/test_select.h
third_party/subzero/crosstest/test_select.ll
third_party/subzero/crosstest/test_select_main.cpp
third_party/subzero/crosstest/test_stacksave.c
third_party/subzero/crosstest/test_stacksave.h
third_party/subzero/crosstest/test_stacksave_main.c
third_party/subzero/crosstest/test_strengthreduce.cpp
third_party/subzero/crosstest/test_strengthreduce.def
third_party/subzero/crosstest/test_strengthreduce.h
third_party/subzero/crosstest/test_strengthreduce_main.cpp
third_party/subzero/crosstest/test_sync_atomic.cpp
third_party/subzero/crosstest/test_sync_atomic.def
third_party/subzero/crosstest/test_sync_atomic.h
third_party/subzero/crosstest/test_sync_atomic_main.cpp
third_party/subzero/crosstest/test_vector_ops.cpp
third_party/subzero/crosstest/test_vector_ops.def
third_party/subzero/crosstest/test_vector_ops.h
third_party/subzero/crosstest/test_vector_ops_ll.ll
third_party/subzero/crosstest/test_vector_ops_main.cpp
third_party/subzero/crosstest/vectors.def
third_party/subzero/crosstest/vectors.h
third_party/subzero/crosstest/xdefs.h
third_party/subzero/docs/ALLOCATION.rst
third_party/subzero/docs/ASAN.rst
third_party/subzero/docs/DESIGN.rst
third_party/subzero/docs/Doxyfile
third_party/subzero/docs/LOWERING.rst
third_party/subzero/docs/Makefile.sphinx
third_party/subzero/docs/Makefile.standalone
third_party/subzero/docs/README.rst
third_party/subzero/docs/REGALLOC.rst
third_party/subzero/docs/conf.py
third_party/subzero/docs/index.rst
third_party/subzero/docs/py_filter
third_party/subzero/fetch-torture-tests.sh
third_party/subzero/pnacl-llvm/DataStream.cpp
third_party/subzero/pnacl-llvm/MemoryObject.cpp
third_party/subzero/pnacl-llvm/NaClBitCodes.cpp
third_party/subzero/pnacl-llvm/NaClBitcodeDecoders.cpp
third_party/subzero/pnacl-llvm/NaClBitcodeHeader.cpp
third_party/subzero/pnacl-llvm/NaClBitcodeParser.cpp
third_party/subzero/pnacl-llvm/NaClBitstreamReader.cpp
third_party/subzero/pnacl-llvm/README.txt
third_party/subzero/pnacl-llvm/StreamingMemoryObject.cpp
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitCodes.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitcodeDefs.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitcodeHeader.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitcodeParser.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClBitstreamReader.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/NaCl/NaClReaderWriter.h
third_party/subzero/pnacl-llvm/include/llvm/Bitcode/ReaderWriter.h
third_party/subzero/pnacl-llvm/include/llvm/Support/DataStream.h
third_party/subzero/pnacl-llvm/include/llvm/Support/MemoryObject.h
third_party/subzero/pnacl-llvm/include/llvm/Support/StreamingMemoryObject.h
third_party/subzero/pydir/bisection-test.py
third_party/subzero/pydir/bisection-tool.py
third_party/subzero/pydir/build-pnacl-ir.py
third_party/subzero/pydir/build-runtime.py
third_party/subzero/pydir/crosstest.py
third_party/subzero/pydir/crosstest_generator.py
third_party/subzero/pydir/gen_arm32_reg_tables.py
third_party/subzero/pydir/gen_test_arith_ll.py
third_party/subzero/pydir/if.py
third_party/subzero/pydir/run-pnacl-sz.py
third_party/subzero/pydir/sz-clang++.py
third_party/subzero/pydir/sz-clang.py
third_party/subzero/pydir/sz_clang_dummies.c
third_party/subzero/pydir/sz_driver.py
third_party/subzero/pydir/szbuild.py
third_party/subzero/pydir/szbuild_spec2k.py
third_party/subzero/pydir/targets.py
third_party/subzero/pydir/utils.py
third_party/subzero/pydir/wasm-run-torture-tests.py
third_party/subzero/runtime/szrt.c
third_party/subzero/runtime/szrt_asan.c
third_party/subzero/runtime/szrt_asm_arm32.s
third_party/subzero/runtime/szrt_asm_mips32.s
third_party/subzero/runtime/szrt_asm_x8632.s
third_party/subzero/runtime/szrt_asm_x8664.s
third_party/subzero/runtime/szrt_ll.ll
third_party/subzero/runtime/szrt_profiler.c
third_party/subzero/runtime/wasm-runtime.cpp
third_party/subzero/src/DartARM32/assembler_arm.cc
third_party/subzero/src/DartARM32/assembler_arm.h
third_party/subzero/src/IceASanInstrumentation.cpp
third_party/subzero/src/IceASanInstrumentation.h
third_party/subzero/src/IceAssembler.cpp
third_party/subzero/src/IceAssembler.h
third_party/subzero/src/IceAssemblerARM32.cpp
third_party/subzero/src/IceAssemblerARM32.h
third_party/subzero/src/IceAssemblerMIPS32.cpp
third_party/subzero/src/IceAssemblerMIPS32.h
third_party/subzero/src/IceAssemblerX8632.h
third_party/subzero/src/IceAssemblerX8664.h
third_party/subzero/src/IceAssemblerX86Base.h
third_party/subzero/src/IceAssemblerX86BaseImpl.h
third_party/subzero/src/IceBitVector.h
third_party/subzero/src/IceBrowserCompileServer.cpp
third_party/subzero/src/IceBrowserCompileServer.h
third_party/subzero/src/IceBuildDefs.h
third_party/subzero/src/IceCfg.cpp
third_party/subzero/src/IceCfg.h
third_party/subzero/src/IceCfgNode.cpp
third_party/subzero/src/IceCfgNode.h
third_party/subzero/src/IceClFlags.cpp
third_party/subzero/src/IceClFlags.def
third_party/subzero/src/IceClFlags.h
third_party/subzero/src/IceCompileServer.cpp
third_party/subzero/src/IceCompileServer.h
third_party/subzero/src/IceCompiler.cpp
third_party/subzero/src/IceCompiler.h
third_party/subzero/src/IceConditionCodesARM32.h
third_party/subzero/src/IceConditionCodesMIPS32.h
third_party/subzero/src/IceConditionCodesX8632.h
third_party/subzero/src/IceConditionCodesX8664.h
third_party/subzero/src/IceConverter.cpp
third_party/subzero/src/IceConverter.h
third_party/subzero/src/IceDefs.h
third_party/subzero/src/IceELFObjectWriter.cpp
third_party/subzero/src/IceELFObjectWriter.h
third_party/subzero/src/IceELFSection.cpp
third_party/subzero/src/IceELFSection.h
third_party/subzero/src/IceELFStreamer.h
third_party/subzero/src/IceFixups.cpp
third_party/subzero/src/IceFixups.h
third_party/subzero/src/IceGlobalContext.cpp
third_party/subzero/src/IceGlobalContext.h
third_party/subzero/src/IceGlobalInits.cpp
third_party/subzero/src/IceGlobalInits.h
third_party/subzero/src/IceInst.cpp
third_party/subzero/src/IceInst.def
third_party/subzero/src/IceInst.h
third_party/subzero/src/IceInstARM32.cpp
third_party/subzero/src/IceInstARM32.def
third_party/subzero/src/IceInstARM32.h
third_party/subzero/src/IceInstMIPS32.cpp
third_party/subzero/src/IceInstMIPS32.def
third_party/subzero/src/IceInstMIPS32.h
third_party/subzero/src/IceInstVarIter.h
third_party/subzero/src/IceInstX8632.cpp
third_party/subzero/src/IceInstX8632.def
third_party/subzero/src/IceInstX8632.h
third_party/subzero/src/IceInstX8664.cpp
third_party/subzero/src/IceInstX8664.def
third_party/subzero/src/IceInstX8664.h
third_party/subzero/src/IceInstX86Base.h
third_party/subzero/src/IceInstX86BaseImpl.h
third_party/subzero/src/IceInstrumentation.cpp
third_party/subzero/src/IceInstrumentation.h
third_party/subzero/src/IceIntrinsics.cpp
third_party/subzero/src/IceIntrinsics.h
third_party/subzero/src/IceLiveness.cpp
third_party/subzero/src/IceLiveness.h
third_party/subzero/src/IceLoopAnalyzer.cpp
third_party/subzero/src/IceLoopAnalyzer.h
third_party/subzero/src/IceMangling.cpp
third_party/subzero/src/IceMangling.h
third_party/subzero/src/IceMemory.cpp
third_party/subzero/src/IceMemory.h
third_party/subzero/src/IceOperand.cpp
third_party/subzero/src/IceOperand.h
third_party/subzero/src/IcePhiLoweringImpl.h
third_party/subzero/src/IceRNG.cpp
third_party/subzero/src/IceRNG.h
third_party/subzero/src/IceRangeSpec.cpp
third_party/subzero/src/IceRangeSpec.h
third_party/subzero/src/IceRegAlloc.cpp
third_party/subzero/src/IceRegAlloc.h
third_party/subzero/src/IceRegList.h
third_party/subzero/src/IceRegistersARM32.def
third_party/subzero/src/IceRegistersARM32.h
third_party/subzero/src/IceRegistersMIPS32.h
third_party/subzero/src/IceRegistersX8632.h
third_party/subzero/src/IceRegistersX8664.h
third_party/subzero/src/IceRevision.cpp
third_party/subzero/src/IceRevision.h
third_party/subzero/src/IceStringPool.h
third_party/subzero/src/IceSwitchLowering.cpp
third_party/subzero/src/IceSwitchLowering.h
third_party/subzero/src/IceTLS.h
third_party/subzero/src/IceTargetLowering.cpp
third_party/subzero/src/IceTargetLowering.def
third_party/subzero/src/IceTargetLowering.h
third_party/subzero/src/IceTargetLoweringARM32.cpp
third_party/subzero/src/IceTargetLoweringARM32.def
third_party/subzero/src/IceTargetLoweringARM32.h
third_party/subzero/src/IceTargetLoweringMIPS32.cpp
third_party/subzero/src/IceTargetLoweringMIPS32.def
third_party/subzero/src/IceTargetLoweringMIPS32.h
third_party/subzero/src/IceTargetLoweringX86.cpp
third_party/subzero/src/IceTargetLoweringX8632.cpp
third_party/subzero/src/IceTargetLoweringX8632.def
third_party/subzero/src/IceTargetLoweringX8632.h
third_party/subzero/src/IceTargetLoweringX8632Traits.h
third_party/subzero/src/IceTargetLoweringX8664.cpp
third_party/subzero/src/IceTargetLoweringX8664.def
third_party/subzero/src/IceTargetLoweringX8664.h
third_party/subzero/src/IceTargetLoweringX8664Traits.h
third_party/subzero/src/IceTargetLoweringX86Base.h
third_party/subzero/src/IceTargetLoweringX86BaseImpl.h
third_party/subzero/src/IceTargetLoweringX86RegClass.h
third_party/subzero/src/IceThreading.cpp
third_party/subzero/src/IceThreading.h
third_party/subzero/src/IceTimerTree.cpp
third_party/subzero/src/IceTimerTree.def
third_party/subzero/src/IceTimerTree.h
third_party/subzero/src/IceTranslator.cpp
third_party/subzero/src/IceTranslator.h
third_party/subzero/src/IceTypeConverter.cpp
third_party/subzero/src/IceTypeConverter.h
third_party/subzero/src/IceTypes.cpp
third_party/subzero/src/IceTypes.def
third_party/subzero/src/IceTypes.h
third_party/subzero/src/IceUtils.h
third_party/subzero/src/IceVariableSplitting.cpp
third_party/subzero/src/IceVariableSplitting.h
third_party/subzero/src/LinuxMallocProfiling.cpp
third_party/subzero/src/LinuxMallocProfiling.h
third_party/subzero/src/Makefile
third_party/subzero/src/PNaClTranslator.cpp
third_party/subzero/src/PNaClTranslator.h
third_party/subzero/src/README.SIMD.rst
third_party/subzero/src/SZTargets.def
third_party/subzero/src/WasmTranslator.cpp
third_party/subzero/src/WasmTranslator.h
third_party/subzero/src/main.cpp
third_party/subzero/tests_lit/.gitignore
third_party/subzero/tests_lit/asan_tests/Input/calloc.c
third_party/subzero/tests_lit/asan_tests/Input/calloc_err.c
third_party/subzero/tests_lit/asan_tests/alignment.ll
third_party/subzero/tests_lit/asan_tests/blacklist.ll
third_party/subzero/tests_lit/asan_tests/calloc.ll
third_party/subzero/tests_lit/asan_tests/calloc_err.ll
third_party/subzero/tests_lit/asan_tests/doublefree.ll
third_party/subzero/tests_lit/asan_tests/elidelocalchecks.ll
third_party/subzero/tests_lit/asan_tests/errors.ll
third_party/subzero/tests_lit/asan_tests/func_ptr.ll
third_party/subzero/tests_lit/asan_tests/globalredzones.ll
third_party/subzero/tests_lit/asan_tests/globalreplacement.ll
third_party/subzero/tests_lit/asan_tests/instrumentload.ll
third_party/subzero/tests_lit/asan_tests/instrumentlocals.ll
third_party/subzero/tests_lit/asan_tests/instrumentmalloc.ll
third_party/subzero/tests_lit/asan_tests/instrumentstore.ll
third_party/subzero/tests_lit/asan_tests/localreplacement.ll
third_party/subzero/tests_lit/asan_tests/multiple_returns.ll
third_party/subzero/tests_lit/asan_tests/no_globals.ll
third_party/subzero/tests_lit/asan_tests/quarantine.ll
third_party/subzero/tests_lit/asan_tests/realloc_shrink.ll
third_party/subzero/tests_lit/asan_tests/scatteredallocas.ll
third_party/subzero/tests_lit/asan_tests/startinitcall.ll
third_party/subzero/tests_lit/asan_tests/wideloads.ll
third_party/subzero/tests_lit/assembler/arm32/add-vec.ll
third_party/subzero/tests_lit/assembler/arm32/add.ll
third_party/subzero/tests_lit/assembler/arm32/and-vec.ll
third_party/subzero/tests_lit/assembler/arm32/and.ll
third_party/subzero/tests_lit/assembler/arm32/asr.ll
third_party/subzero/tests_lit/assembler/arm32/bic.ll
third_party/subzero/tests_lit/assembler/arm32/blx.ll
third_party/subzero/tests_lit/assembler/arm32/branch-mult-fwd.ll
third_party/subzero/tests_lit/assembler/arm32/branch-simple.ll
third_party/subzero/tests_lit/assembler/arm32/check-reg-classes.ll
third_party/subzero/tests_lit/assembler/arm32/clz.ll
third_party/subzero/tests_lit/assembler/arm32/cmn.ll
third_party/subzero/tests_lit/assembler/arm32/cmp-vec.ll
third_party/subzero/tests_lit/assembler/arm32/cmp.ll
third_party/subzero/tests_lit/assembler/arm32/div-vec.ll
third_party/subzero/tests_lit/assembler/arm32/dmb.ll
third_party/subzero/tests_lit/assembler/arm32/eor.ll
third_party/subzero/tests_lit/assembler/arm32/global-load-store.ll
third_party/subzero/tests_lit/assembler/arm32/insert-extract.ll
third_party/subzero/tests_lit/assembler/arm32/int-extend.ll
third_party/subzero/tests_lit/assembler/arm32/ldr-shift.ll
third_party/subzero/tests_lit/assembler/arm32/ldr-str-more.ll
third_party/subzero/tests_lit/assembler/arm32/ldrex-strex.ll
third_party/subzero/tests_lit/assembler/arm32/load-store.ll
third_party/subzero/tests_lit/assembler/arm32/lsl.ll
third_party/subzero/tests_lit/assembler/arm32/lsr.ll
third_party/subzero/tests_lit/assembler/arm32/mls.ll
third_party/subzero/tests_lit/assembler/arm32/mov-const.ll
third_party/subzero/tests_lit/assembler/arm32/mov-imm.ll
third_party/subzero/tests_lit/assembler/arm32/mov-reg.ll
third_party/subzero/tests_lit/assembler/arm32/mul-vec.ll
third_party/subzero/tests_lit/assembler/arm32/mul.ll
third_party/subzero/tests_lit/assembler/arm32/mvn.ll
third_party/subzero/tests_lit/assembler/arm32/or-vec.ll
third_party/subzero/tests_lit/assembler/arm32/orr.ll
third_party/subzero/tests_lit/assembler/arm32/popmult.ll
third_party/subzero/tests_lit/assembler/arm32/push-pop.ll
third_party/subzero/tests_lit/assembler/arm32/rbit.ll
third_party/subzero/tests_lit/assembler/arm32/rem-vec.ll
third_party/subzero/tests_lit/assembler/arm32/ret.ll
third_party/subzero/tests_lit/assembler/arm32/rev.ll
third_party/subzero/tests_lit/assembler/arm32/rsb.ll
third_party/subzero/tests_lit/assembler/arm32/rsc.ll
third_party/subzero/tests_lit/assembler/arm32/sandboxing.ll
third_party/subzero/tests_lit/assembler/arm32/sdiv.ll
third_party/subzero/tests_lit/assembler/arm32/select-vec.ll
third_party/subzero/tests_lit/assembler/arm32/store-sf.ll
third_party/subzero/tests_lit/assembler/arm32/sub-vec.ll
third_party/subzero/tests_lit/assembler/arm32/sub.ll
third_party/subzero/tests_lit/assembler/arm32/trap.ll
third_party/subzero/tests_lit/assembler/arm32/udiv.ll
third_party/subzero/tests_lit/assembler/arm32/uxtb.ll
third_party/subzero/tests_lit/assembler/arm32/vabs-vec.ll
third_party/subzero/tests_lit/assembler/arm32/vabs.ll
third_party/subzero/tests_lit/assembler/arm32/vadd.ll
third_party/subzero/tests_lit/assembler/arm32/vcmp.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.f32.s32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.f32.u32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.f64.s32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.f64.u32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.s32.f32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.s32.f64.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.u32.f32.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt.u32.f64.ll
third_party/subzero/tests_lit/assembler/arm32/vcvt_f32_f64.ll
third_party/subzero/tests_lit/assembler/arm32/vdiv.ll
third_party/subzero/tests_lit/assembler/arm32/vec-move.ll
third_party/subzero/tests_lit/assembler/arm32/vec-sh-imm.ll
third_party/subzero/tests_lit/assembler/arm32/veor.ll
third_party/subzero/tests_lit/assembler/arm32/vldr-vector.ll
third_party/subzero/tests_lit/assembler/arm32/vldr.ll
third_party/subzero/tests_lit/assembler/arm32/vldr.vstr.imm.ll
third_party/subzero/tests_lit/assembler/arm32/vmla.ll
third_party/subzero/tests_lit/assembler/arm32/vmls.ll
third_party/subzero/tests_lit/assembler/arm32/vmov-cast.ll
third_party/subzero/tests_lit/assembler/arm32/vmov-dbl.ll
third_party/subzero/tests_lit/assembler/arm32/vmov-f2i.ll
third_party/subzero/tests_lit/assembler/arm32/vmov-fp.ll
third_party/subzero/tests_lit/assembler/arm32/vmov-imm.ll
third_party/subzero/tests_lit/assembler/arm32/vmrs.ll
third_party/subzero/tests_lit/assembler/arm32/vmul.ll
third_party/subzero/tests_lit/assembler/arm32/vpush.ll
third_party/subzero/tests_lit/assembler/arm32/vsqrt.ll
third_party/subzero/tests_lit/assembler/arm32/vstr-vector.ll
third_party/subzero/tests_lit/assembler/arm32/vstr.ll
third_party/subzero/tests_lit/assembler/arm32/vsub.ll
third_party/subzero/tests_lit/assembler/arm32/xor-vec.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_intrinsics.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_test_arith.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_test_arith_fp.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_test_branch.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_test_fcmp.ll
third_party/subzero/tests_lit/assembler/mips32/encoding_trap.ll
third_party/subzero/tests_lit/assembler/x86/immediate_encodings.ll
third_party/subzero/tests_lit/assembler/x86/jump_encodings.ll
third_party/subzero/tests_lit/assembler/x86/opcode_register_encodings.ll
third_party/subzero/tests_lit/assembler/x86/sandboxing.ll
third_party/subzero/tests_lit/lit.cfg
third_party/subzero/tests_lit/llvm2ice_tests/64bit.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/8bit.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/Input/no-terminator-inst.tbc
third_party/subzero/tests_lit/llvm2ice_tests/Input/phi-invalid.tbc
third_party/subzero/tests_lit/llvm2ice_tests/abi-atomics.ll
third_party/subzero/tests_lit/llvm2ice_tests/addr-opt-multi-def-var.ll
third_party/subzero/tests_lit/llvm2ice_tests/address-mode-global.ll
third_party/subzero/tests_lit/llvm2ice_tests/address-mode-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/adv-switch-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/align-spill-locations.ll
third_party/subzero/tests_lit/llvm2ice_tests/alloc.ll
third_party/subzero/tests_lit/llvm2ice_tests/arith-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/arith.ll
third_party/subzero/tests_lit/llvm2ice_tests/asm-verbose.ll
third_party/subzero/tests_lit/llvm2ice_tests/bitcast.ll
third_party/subzero/tests_lit/llvm2ice_tests/bool-folding.ll
third_party/subzero/tests_lit/llvm2ice_tests/bool-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/branch-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/branch-simple.ll
third_party/subzero/tests_lit/llvm2ice_tests/callArgs.ll
third_party/subzero/tests_lit/llvm2ice_tests/callindirect.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/cmp-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/commutativity.ll
third_party/subzero/tests_lit/llvm2ice_tests/cond-br-same-target.ll
third_party/subzero/tests_lit/llvm2ice_tests/cond-branch.ll
third_party/subzero/tests_lit/llvm2ice_tests/contract.ll
third_party/subzero/tests_lit/llvm2ice_tests/convert.ll
third_party/subzero/tests_lit/llvm2ice_tests/div_legalization.ll
third_party/subzero/tests_lit/llvm2ice_tests/ebp_args.ll
third_party/subzero/tests_lit/llvm2ice_tests/elf_container.ll
third_party/subzero/tests_lit/llvm2ice_tests/elf_function_sections.ll
third_party/subzero/tests_lit/llvm2ice_tests/elf_nodata.ll
third_party/subzero/tests_lit/llvm2ice_tests/external_declaration.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.arith.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.arm.call.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.call_ret.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.cmp.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.convert.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp.load_store.ll
third_party/subzero/tests_lit/llvm2ice_tests/fp_const_pool.ll
third_party/subzero/tests_lit/llvm2ice_tests/fpcall.ll
third_party/subzero/tests_lit/llvm2ice_tests/fpconst.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/function_aligned.ll
third_party/subzero/tests_lit/llvm2ice_tests/fused-alloca-arg.ll
third_party/subzero/tests_lit/llvm2ice_tests/fused-alloca.ll
third_party/subzero/tests_lit/llvm2ice_tests/globalinit.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/globalrelocs.ll
third_party/subzero/tests_lit/llvm2ice_tests/ias-data-reloc.ll
third_party/subzero/tests_lit/llvm2ice_tests/ias-multi-reloc.ll
third_party/subzero/tests_lit/llvm2ice_tests/icmp-with-zero.ll
third_party/subzero/tests_lit/llvm2ice_tests/icmp.ll
third_party/subzero/tests_lit/llvm2ice_tests/int-arg.ll
third_party/subzero/tests_lit/llvm2ice_tests/invalid.test
third_party/subzero/tests_lit/llvm2ice_tests/large_stack_offs.ll
third_party/subzero/tests_lit/llvm2ice_tests/licm.ll
third_party/subzero/tests_lit/llvm2ice_tests/load.ll
third_party/subzero/tests_lit/llvm2ice_tests/load_cast.ll
third_party/subzero/tests_lit/llvm2ice_tests/local-cse.ll
third_party/subzero/tests_lit/llvm2ice_tests/loop-nest-depth.ll
third_party/subzero/tests_lit/llvm2ice_tests/mangle.ll
third_party/subzero/tests_lit/llvm2ice_tests/mips-address-mode-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/mips-legalization.ll
third_party/subzero/tests_lit/llvm2ice_tests/multidef_kill.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-atomic-cmpxchg-optimization.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-atomic-errors.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-atomic-fence-all.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-atomic-intrinsics.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll
third_party/subzero/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll
third_party/subzero/tests_lit/llvm2ice_tests/nonsfi.ll
third_party/subzero/tests_lit/llvm2ice_tests/nop-insertion-no-vectors.ll
third_party/subzero/tests_lit/llvm2ice_tests/nop-insertion.ll
third_party/subzero/tests_lit/llvm2ice_tests/phi.ll
third_party/subzero/tests_lit/llvm2ice_tests/phi_invalid.test
third_party/subzero/tests_lit/llvm2ice_tests/prune_unreachable.ll
third_party/subzero/tests_lit/llvm2ice_tests/randomize-pool-immediate-basic.ll
third_party/subzero/tests_lit/llvm2ice_tests/randomize-regalloc.ll
third_party/subzero/tests_lit/llvm2ice_tests/rangespec.ll
third_party/subzero/tests_lit/llvm2ice_tests/regalloc_evict_non_overlap.ll
third_party/subzero/tests_lit/llvm2ice_tests/reorder-basic-blocks.ll
third_party/subzero/tests_lit/llvm2ice_tests/reorder-functions.ll
third_party/subzero/tests_lit/llvm2ice_tests/reorder-global-variables.ll
third_party/subzero/tests_lit/llvm2ice_tests/reorder-pooled-constants.ll
third_party/subzero/tests_lit/llvm2ice_tests/return_immediates.ll
third_party/subzero/tests_lit/llvm2ice_tests/returns_twice_no_coalesce.ll
third_party/subzero/tests_lit/llvm2ice_tests/rmw.ll
third_party/subzero/tests_lit/llvm2ice_tests/rng.ll
third_party/subzero/tests_lit/llvm2ice_tests/sdiv.ll
third_party/subzero/tests_lit/llvm2ice_tests/select-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/shift.ll
third_party/subzero/tests_lit/llvm2ice_tests/short-circuit.ll
third_party/subzero/tests_lit/llvm2ice_tests/simple-loop.ll
third_party/subzero/tests_lit/llvm2ice_tests/square.ll
third_party/subzero/tests_lit/llvm2ice_tests/store.ll
third_party/subzero/tests_lit/llvm2ice_tests/strength-reduce.ll
third_party/subzero/tests_lit/llvm2ice_tests/struct-arith.pnacl.ll
third_party/subzero/tests_lit/llvm2ice_tests/switch-opt.ll
third_party/subzero/tests_lit/llvm2ice_tests/test_i1.ll
third_party/subzero/tests_lit/llvm2ice_tests/uncond_br.ll
third_party/subzero/tests_lit/llvm2ice_tests/undef.ll
third_party/subzero/tests_lit/llvm2ice_tests/unknown-arm-reg.ll
third_party/subzero/tests_lit/llvm2ice_tests/unreachable.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-align.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-arg.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-arith.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-bitcast.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-cast.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-fcmp.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-icmp.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-mips.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-ops.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-select.ll
third_party/subzero/tests_lit/llvm2ice_tests/vector-shuffle.ll
third_party/subzero/tests_lit/parse_errs/Inputs/bad-bb-size.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/bad-global-alignment.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/bad-intrinsic-arg.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/bad-switch-case.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/bad-var-fwdref.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/call-fcn-bad-param-type.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/dup-module-vst.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/duplicate-fcn-name.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/fcn-value-index-isnt-defined.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/indirect-call-on-float.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/insertelt-wrong-type.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/multiple-modules.tbc
third_party/subzero/tests_lit/parse_errs/Inputs/symtab-after-fcn.tbc
third_party/subzero/tests_lit/parse_errs/bad-bb-size.test
third_party/subzero/tests_lit/parse_errs/bad-global-alignment.test
third_party/subzero/tests_lit/parse_errs/bad-intrinsic-arg.test
third_party/subzero/tests_lit/parse_errs/bad-switch-case.test
third_party/subzero/tests_lit/parse_errs/bad-var-fwdref.test
third_party/subzero/tests_lit/parse_errs/call-fcn-bad-param-type.ll
third_party/subzero/tests_lit/parse_errs/call-fcn-bad-param-type.test
third_party/subzero/tests_lit/parse_errs/call-fcn-bad-return-type.ll
third_party/subzero/tests_lit/parse_errs/call-indirect-i8.ll
third_party/subzero/tests_lit/parse_errs/dup-module-vst.test
third_party/subzero/tests_lit/parse_errs/duplicate-fcn-name.test
third_party/subzero/tests_lit/parse_errs/fcn-bad-param-type.ll
third_party/subzero/tests_lit/parse_errs/fcn-value-index-isnt-defined.test
third_party/subzero/tests_lit/parse_errs/indirect-call-on-float.test
third_party/subzero/tests_lit/parse_errs/insertelt-wrong-type.test
third_party/subzero/tests_lit/parse_errs/insertextract-err.ll
third_party/subzero/tests_lit/parse_errs/lit.local.cfg
third_party/subzero/tests_lit/parse_errs/multiple-modules.test
third_party/subzero/tests_lit/parse_errs/nacl-fake-intrinsic.ll
third_party/subzero/tests_lit/parse_errs/parallel.ll
third_party/subzero/tests_lit/parse_errs/symtab-after-fcn.test
third_party/subzero/tests_lit/reader_tests/Inputs/binop-newform.tbc
third_party/subzero/tests_lit/reader_tests/Inputs/binop-oldform.tbc
third_party/subzero/tests_lit/reader_tests/alloca.ll
third_party/subzero/tests_lit/reader_tests/binop-forms.test
third_party/subzero/tests_lit/reader_tests/binops.ll
third_party/subzero/tests_lit/reader_tests/branch.ll
third_party/subzero/tests_lit/reader_tests/call-indirect.ll
third_party/subzero/tests_lit/reader_tests/call.ll
third_party/subzero/tests_lit/reader_tests/casts.ll
third_party/subzero/tests_lit/reader_tests/compare.ll
third_party/subzero/tests_lit/reader_tests/constants.ll
third_party/subzero/tests_lit/reader_tests/extern_globals.ll
third_party/subzero/tests_lit/reader_tests/forwardref.ll
third_party/subzero/tests_lit/reader_tests/globalinit.pnacl.ll
third_party/subzero/tests_lit/reader_tests/globalrelocs.ll
third_party/subzero/tests_lit/reader_tests/insertextract.ll
third_party/subzero/tests_lit/reader_tests/lit.local.cfg
third_party/subzero/tests_lit/reader_tests/load.ll
third_party/subzero/tests_lit/reader_tests/nacl-atomic-intrinsics.ll
third_party/subzero/tests_lit/reader_tests/nacl-other-intrinsics.ll
third_party/subzero/tests_lit/reader_tests/phi.ll
third_party/subzero/tests_lit/reader_tests/select.ll
third_party/subzero/tests_lit/reader_tests/store.ll
third_party/subzero/tests_lit/reader_tests/switch.ll
third_party/subzero/tests_lit/reader_tests/unnamed.ll
third_party/subzero/tests_lit/reader_tests/unreachable.ll
third_party/subzero/unittest/AssemblerX8632/ControlFlow.cpp
third_party/subzero/unittest/AssemblerX8632/DataMov.cpp
third_party/subzero/unittest/AssemblerX8632/GPRArith.cpp
third_party/subzero/unittest/AssemblerX8632/Locked.cpp
third_party/subzero/unittest/AssemblerX8632/LowLevel.cpp
third_party/subzero/unittest/AssemblerX8632/Other.cpp
third_party/subzero/unittest/AssemblerX8632/TestUtil.h
third_party/subzero/unittest/AssemblerX8632/X87.cpp
third_party/subzero/unittest/AssemblerX8632/XmmArith.cpp
third_party/subzero/unittest/AssemblerX8664/ControlFlow.cpp
third_party/subzero/unittest/AssemblerX8664/DataMov.cpp
third_party/subzero/unittest/AssemblerX8664/GPRArith.cpp
third_party/subzero/unittest/AssemblerX8664/Locked.cpp
third_party/subzero/unittest/AssemblerX8664/LowLevel.cpp
third_party/subzero/unittest/AssemblerX8664/Other.cpp
third_party/subzero/unittest/AssemblerX8664/TestUtil.h
third_party/subzero/unittest/AssemblerX8664/XmmArith.cpp
third_party/subzero/unittest/BitcodeMunge.cpp
third_party/subzero/unittest/BitcodeMunge.h
third_party/subzero/unittest/IceELFSectionTest.cpp
third_party/subzero/unittest/IceParseInstsTest.cpp
third_party/subzero/unittest/IceParseTypesTest.cpp
third_party/subzero/wasm-tests/hello-printf.c
third_party/subzero/wasm-tests/hello-putchar.c
third_party/subzero/wasm-tests/hello-puts.c
third_party/subzero/wasm-tests/hello-write.c
third_party/subzero/wasm-tests/indirect.c
third_party/subzero/wasm-tests/write_loop.c

index 0000000,0000000..34e4b40
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++(
++ (c++-mode . ((fill-column . 80)
++              (indent-tabs-mode . nil)))
++ (c-mode . ((fill-column . 80)
++            (indent-tabs-mode . nil)))
++ (python-mode . ((fill-column . 80)
++                 (tab-width . 2)
++                 (indent-tabs-mode . nil)))
++)
index 0000000,0000000..e2cdacb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++# Ignore filename patterns wherever they appear
++*~
++*.o
++*.orig
++*.pyc
++*.swp
++.#*
++\#*
++
++# Ignore specific patterns at the top-level directory
++/pnacl-sz
++/build/
++/crosstest/Output/
++
++# Ignore WASM torture tests
++/torture-s/
++/torture-s2wasm-sexpr-wasm/
index 0000000,0000000..3c7b3af
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,65 @@@
++unset(PNACL_LLVM)
++# Define PNACL_LLVM for LLVM_VERSION <= 3.7
++if((NOT LLVM_VERSION_MAJOR GREATER 3) AND (NOT LLVM_VERSION_MINOR GREATER 7))
++  set(PNACL_LLVM 1)
++endif()
++
++if(PNACL_LLVM)
++  add_definitions(
++    -DPNACL_LLVM
++    )
++  set(PNACL_EXTRA_COMPONENTS NaClBitReader NaClBitTestUtils)
++else()
++  include_directories(pnacl-llvm/include)
++  file(GLOB pnacl_llvm_SRCS "pnacl-llvm/*.cpp")
++endif()
++
++set(LLVM_LINK_COMPONENTS
++  ${LLVM_TARGETS_TO_BUILD}
++  Core
++  IRReader
++  Support
++  ${PNACL_EXTRA_COMPONENTS}
++  )
++
++file(GLOB pnacl_sz_SRCS "src/*.cpp")
++add_llvm_tool(pnacl-sz ${pnacl_sz_SRCS} ${pnacl_llvm_SRCS})
++
++if(PNACL_BROWSER_TRANSLATOR)
++  add_definitions(
++  -DALLOW_DUMP=0
++  -DALLOW_LLVM_CL=0
++  -DALLOW_LLVM_IR=0
++  -DALLOW_LLVM_IR_AS_INPUT=0
++  -DALLOW_TIMERS=0
++  -DALLOW_MINIMAL_BUILD=1
++  -DALLOW_WASM=0
++  -DPNACL_BROWSER_TRANSLATOR=1
++  )
++else()
++  add_definitions(
++  -DALLOW_DUMP=1
++  -DALLOW_LLVM_CL=1
++  -DALLOW_LLVM_IR=1
++  -DALLOW_LLVM_IR_AS_INPUT=1
++  -DALLOW_TIMERS=1
++  -DALLOW_MINIMAL_BUILD=0
++  -DALLOW_WASM=0
++  -DPNACL_BROWSER_TRANSLATOR=0
++  )
++  add_compile_options(-Wno-undefined-var-template)
++endif()
++
++execute_process(COMMAND git rev-parse HEAD
++  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++  OUTPUT_VARIABLE SZ_GIT_HASH
++  OUTPUT_STRIP_TRAILING_WHITESPACE
++  )
++execute_process(COMMAND git rev-list --count HEAD
++  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++  OUTPUT_VARIABLE SZ_COMMIT_COUNT
++  OUTPUT_STRIP_TRAILING_WHITESPACE
++  )
++add_definitions(-DSUBZERO_REVISION=${SZ_COMMIT_COUNT}_${SZ_GIT_HASH})
++
++target_link_libraries(pnacl-sz pthread)
index 0000000,d0f7162..d0f7162
mode 000000,120000..120000
--- /dev/null
index 0000000,954387d..954387d
mode 000000,100644..100644
--- /dev/null
index 0000000,65e459a..65e459a
mode 000000,100644..100644
--- /dev/null
index 0000000,602616d..602616d
mode 000000,100644..100644
--- /dev/null
index 0000000,0000000..17d9a14
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++dschuff@chromium.org
++eholk@chromium.org
++eliben@chromium.org
++jfb@chromium.org
++jpp@chromium.org
++jvoung@chromium.org
++kschimpf@google.com
++mseaborn@chromium.org
++sehr@chromium.org
++stichnot@chromium.org
++wala@chromium.org
index 0000000,3c261bd..3c261bd
mode 000000,100644..100644
--- /dev/null
index 0000000,cffceba..cffceba
mode 000000,120000..120000
--- /dev/null
index 0000000,4242842..4242842
mode 000000,100644..100644
--- /dev/null
index 0000000,6abf55c..6abf55c
mode 000000,100755..100755
--- /dev/null
index 0000000,750bd01..750bd01
mode 000000,100644..100644
--- /dev/null
index 0000000,85feb6e..85feb6e
mode 000000,100644..100644
--- /dev/null
index 0000000,eeec0a5..eeec0a5
mode 000000,100755..100755
--- /dev/null
index 0000000,19e1584..19e1584
mode 000000,100644..100644
--- /dev/null
index 0000000,a9de168..a9de168
mode 000000,100644..100644
--- /dev/null
index 0000000,6dad168..6dad168
mode 000000,100644..100644
--- /dev/null
index 0000000,8b13fa2..8b13fa2
mode 000000,100644..100644
--- /dev/null
index 0000000,6568380..6568380
mode 000000,100644..100644
--- /dev/null
index 0000000,60d3bb1..60d3bb1
mode 000000,100644..100644
--- /dev/null
index 0000000,0532973..0532973
mode 000000,100644..100644
--- /dev/null
index 0000000,7503bbb..7503bbb
mode 000000,100644..100644
--- /dev/null
index 0000000,c3d6387..c3d6387
mode 000000,100644..100644
--- /dev/null
index 0000000,be62b35..be62b35
mode 000000,100644..100644
--- /dev/null
index 0000000,0b1d1aa..0b1d1aa
mode 000000,100644..100644
--- /dev/null
index 0000000,beb481c..beb481c
mode 000000,100644..100644
--- /dev/null
index 0000000,ebeff44..ebeff44
mode 000000,100644..100644
--- /dev/null
index 0000000,6e890a0..6e890a0
mode 000000,100644..100644
--- /dev/null
index 0000000,b7c3739..b7c3739
mode 000000,100644..100644
--- /dev/null
index 0000000,e4c163e..e4c163e
mode 000000,100644..100644
--- /dev/null
index 0000000,75f3a38..75f3a38
mode 000000,100644..100644
--- /dev/null
index 0000000,b1e848f..b1e848f
mode 000000,100644..100644
--- /dev/null
index 0000000,e587818..e587818
mode 000000,100644..100644
--- /dev/null
index 0000000,363c19c..363c19c
mode 000000,100644..100644
--- /dev/null
index 0000000,2c666ff..2c666ff
mode 000000,100644..100644
--- /dev/null
index 0000000,190ff23..190ff23
mode 000000,100644..100644
--- /dev/null
index 0000000,9edfb98..9edfb98
mode 000000,100644..100644
--- /dev/null
index 0000000,922d99d..922d99d
mode 000000,100644..100644
--- /dev/null
index 0000000,99c6939..99c6939
mode 000000,100644..100644
--- /dev/null
index 0000000,4b06add..4b06add
mode 000000,100644..100644
--- /dev/null
index 0000000,b13874c..b13874c
mode 000000,100644..100644
--- /dev/null
index 0000000,6c95593..6c95593
mode 000000,100755..100755
--- /dev/null
index 0000000,4501754..4501754
mode 000000,100755..100755
--- /dev/null
index 0000000,34c421c..34c421c
mode 000000,100644..100644
--- /dev/null
index 0000000,0000000..a544316
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++//===---- llvm/Support/DataStream.h - Lazy bitcode streaming ----*- C++ -*-===//
++//
++//                     The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++//
++// This header defines DataStreamer, which fetches bytes of data from
++// a stream source. It provides support for streaming (lazy reading) of
++// data, e.g. bitcode
++//
++//===----------------------------------------------------------------------===//
++
++
++#ifndef LLVM_SUPPORT_DATASTREAM_H
++#define LLVM_SUPPORT_DATASTREAM_H
++
++#include <memory>
++#include <string>
++
++namespace llvm {
++
++class DataStreamer {
++public:
++  /// Fetch bytes [start-end) from the stream, and write them to the
++  /// buffer pointed to by buf. Returns the number of bytes actually written.
++  virtual size_t GetBytes(unsigned char *buf, size_t len) = 0;
++
++  virtual ~DataStreamer();
++};
++
++std::unique_ptr<DataStreamer> getDataFileStreamer(const std::string &Filename,
++                                                  std::string *Err);
++}
++
++#endif  // LLVM_SUPPORT_DATASTREAM_H_
index 0000000,0000000..e0c8749
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,68 @@@
++//===- MemoryObject.h - Abstract memory interface ---------------*- C++ -*-===//
++//
++//                     The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++#ifndef LLVM_SUPPORT_MEMORYOBJECT_H
++#define LLVM_SUPPORT_MEMORYOBJECT_H
++
++#include "llvm/Support/DataTypes.h"
++
++namespace llvm {
++
++/// Interface to data which might be streamed. Streamability has 2 important
++/// implications/restrictions. First, the data might not yet exist in memory
++/// when the request is made. This just means that readByte/readBytes might have
++/// to block or do some work to get it. More significantly, the exact size of
++/// the object might not be known until it has all been fetched. This means that
++/// to return the right result, getExtent must also wait for all the data to
++/// arrive; therefore it should not be called on objects which are actually
++/// streamed (this would defeat the purpose of streaming). Instead,
++/// isValidAddress can be used to test addresses without knowing the exact size
++/// of the stream. Finally, getPointer can be used instead of readBytes to avoid
++/// extra copying.
++class MemoryObject {
++public:
++  virtual ~MemoryObject();
++
++  /// Returns the size of the region in bytes.  (The region is contiguous, so
++  /// the highest valid address of the region is getExtent() - 1).
++  ///
++  /// @result         - The size of the region.
++  virtual uint64_t getExtent() const = 0;
++
++  /// Tries to read a contiguous range of bytes from the region, up to the end
++  /// of the region.
++  ///
++  /// @param Buf      - A pointer to a buffer to be filled in.  Must be non-NULL
++  ///                   and large enough to hold size bytes.
++  /// @param Size     - The number of bytes to copy.
++  /// @param Address  - The address of the first byte, in the same space as
++  ///                   getBase().
++  /// @result         - The number of bytes read.
++  virtual uint64_t readBytes(uint8_t *Buf, uint64_t Size,
++                             uint64_t Address) const = 0;
++
++  /// Ensures that the requested data is in memory, and returns a pointer to it.
++  /// More efficient than using readBytes if the data is already in memory. May
++  /// block until (address - base + size) bytes have been read
++  /// @param address - address of the byte, in the same space as getBase()
++  /// @param size    - amount of data that must be available on return
++  /// @result        - valid pointer to the requested data
++  virtual const uint8_t *getPointer(uint64_t address, uint64_t size) const = 0;
++
++  /// Returns true if the address is within the object (i.e. between base and
++  /// base + extent - 1 inclusive). May block until (address - base) bytes have
++  /// been read
++  /// @param address - address of the byte, in the same space as getBase()
++  /// @result        - true if the address may be read with readByte()
++  virtual bool isValidAddress(uint64_t address) const = 0;
++};
++
++}
++
++#endif
index 0000000,0000000..1ab8537
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,87 @@@
++//===- StreamingMemoryObject.h - Streamable data interface -----*- C++ -*-===//
++//
++//                     The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++#ifndef LLVM_SUPPORT_STREAMINGMEMORYOBJECT_H
++#define LLVM_SUPPORT_STREAMINGMEMORYOBJECT_H
++
++#include "llvm/Support/Compiler.h"
++#include "llvm/Support/DataStream.h"
++#include "llvm/Support/ErrorHandling.h"
++#include "llvm/Support/MemoryObject.h"
++#include <memory>
++#include <vector>
++
++namespace llvm {
++
++/// Interface to data which is actually streamed from a DataStreamer. In
++/// addition to inherited members, it has the dropLeadingBytes and
++/// setKnownObjectSize methods which are not applicable to non-streamed objects.
++class StreamingMemoryObject : public MemoryObject {
++public:
++  StreamingMemoryObject(std::unique_ptr<DataStreamer> Streamer);
++  uint64_t getExtent() const override;
++  uint64_t readBytes(uint8_t *Buf, uint64_t Size,
++                     uint64_t Address) const override;
++  const uint8_t *getPointer(uint64_t Address, uint64_t Size) const override;
++  bool isValidAddress(uint64_t address) const override;
++
++  /// Drop s bytes from the front of the stream, pushing the positions of the
++  /// remaining bytes down by s. This is used to skip past the bitcode header,
++  /// since we don't know a priori if it's present, and we can't put bytes
++  /// back into the stream once we've read them.
++  bool dropLeadingBytes(size_t s);
++
++  /// If the data object size is known in advance, many of the operations can
++  /// be made more efficient, so this method should be called before reading
++  /// starts (although it can be called anytime).
++  void setKnownObjectSize(size_t size);
++
++  /// The number of bytes read at a time from the data streamer.
++  static const uint32_t kChunkSize = 4096 * 4;
++
++private:
++  mutable std::vector<unsigned char> Bytes;
++  std::unique_ptr<DataStreamer> Streamer;
++  mutable size_t BytesRead;   // Bytes read from stream
++  size_t BytesSkipped;// Bytes skipped at start of stream (e.g. wrapper/header)
++  mutable size_t ObjectSize; // 0 if unknown, set if wrapper seen or EOF reached
++  mutable bool EOFReached;
++
++  // Fetch enough bytes such that Pos can be read (i.e. BytesRead >
++  // Pos). Returns true if Pos can be read.  Unlike most of the
++  // functions in BitcodeReader, returns true on success.  Most of the
++  // requests will be small, but we fetch at kChunkSize bytes at a
++  // time to avoid making too many potentially expensive GetBytes
++  //&n