[PATCH] D24688: Introduce "hosted" module flag.

Peter Collingbourne via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 16 15:20:57 PDT 2016


pcc created this revision.
pcc added reviewers: mehdi_amini, dexonsmith.
pcc added subscribers: llvm-commits, cfe-commits.
Herald added a reviewer: tstellarAMD.
Herald added subscribers: nhaehnle, nemanjai, mehdi_amini, jyknight, qcolombet.

This module flag is used to mark modules which were compiled in hosted
mode. The TargetLibraryInfoImpl class now uses this module flag to initialize
library availability information.

Fixes PR30403.

https://reviews.llvm.org/D24688

Files:
  clang/lib/CodeGen/BackendUtil.cpp
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/test/CodeGen/nobuiltin.c
  clang/test/CodeGenCUDA/flush-denormals.cu
  clang/test/CodeGenCXX/strict-vtable-pointers.cpp
  lld/ELF/LTO.cpp
  lld/test/ELF/lto/undefined-puts.ll
  llvm/include/llvm/Analysis/TargetLibraryInfo.h
  llvm/lib/Analysis/TargetLibraryInfo.cpp
  llvm/lib/LTO/LTOBackend.cpp
  llvm/lib/LTO/LTOCodeGenerator.cpp
  llvm/lib/LTO/ThinLTOCodeGenerator.cpp
  llvm/lib/LTO/UpdateCompilerUsed.cpp
  llvm/test/Analysis/GlobalsModRef/indirect-global.ll
  llvm/test/Analysis/GlobalsModRef/memset-escape.ll
  llvm/test/Analysis/TypeBasedAliasAnalysis/memcpyopt.ll
  llvm/test/CodeGen/AArch64/arm64-fcopysign.ll
  llvm/test/CodeGen/AArch64/arm64-rounding.ll
  llvm/test/CodeGen/AArch64/arm64-sincos.ll
  llvm/test/CodeGen/AArch64/floatdp_1source.ll
  llvm/test/CodeGen/AArch64/round-conv.ll
  llvm/test/CodeGen/AMDGPU/complex-folding.ll
  llvm/test/CodeGen/AMDGPU/fabs.f64.ll
  llvm/test/CodeGen/AMDGPU/fabs.ll
  llvm/test/CodeGen/AMDGPU/floor.ll
  llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
  llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
  llvm/test/CodeGen/AMDGPU/llvm.SI.fs.interp.ll
  llvm/test/CodeGen/AMDGPU/r600-infinite-loop-bug-while-reorganizing-vector.ll
  llvm/test/CodeGen/AMDGPU/schedule-if-2.ll
  llvm/test/CodeGen/AMDGPU/sgpr-copy.ll
  llvm/test/CodeGen/AMDGPU/si-sgpr-spill.ll
  llvm/test/CodeGen/ARM/apcs-vfp.ll
  llvm/test/CodeGen/ARM/arm32-round-conv.ll
  llvm/test/CodeGen/ARM/arm32-rounding.ll
  llvm/test/CodeGen/ARM/fabs-to-bfc.ll
  llvm/test/CodeGen/ARM/fabss.ll
  llvm/test/CodeGen/ARM/fcopysign.ll
  llvm/test/CodeGen/ARM/floorf.ll
  llvm/test/CodeGen/ARM/fparith.ll
  llvm/test/CodeGen/ARM/ifcvt10.ll
  llvm/test/CodeGen/ARM/sincos.ll
  llvm/test/CodeGen/ARM/v7k-libcalls.ll
  llvm/test/CodeGen/ARM/v7k-sincos.ll
  llvm/test/CodeGen/ARM/vfp.ll
  llvm/test/CodeGen/Hexagon/fminmax.ll
  llvm/test/CodeGen/Hexagon/opt-fabs.ll
  llvm/test/CodeGen/Mips/f16abs.ll
  llvm/test/CodeGen/Mips/fabs.ll
  llvm/test/CodeGen/Mips/fcopysign-f32-f64.ll
  llvm/test/CodeGen/Mips/fcopysign.ll
  llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll
  llvm/test/CodeGen/Mips/mips64-f128.ll
  llvm/test/CodeGen/Mips/optimize-fp-math.ll
  llvm/test/CodeGen/PowerPC/copysignl.ll
  llvm/test/CodeGen/PowerPC/fabs.ll
  llvm/test/CodeGen/PowerPC/fcpsgn.ll
  llvm/test/CodeGen/PowerPC/fnabs.ll
  llvm/test/CodeGen/PowerPC/rounding-ops.ll
  llvm/test/CodeGen/PowerPC/vsx-elementary-arith.ll
  llvm/test/CodeGen/SPARC/64abi.ll
  llvm/test/CodeGen/SystemZ/fp-copysign-01.ll
  llvm/test/CodeGen/SystemZ/fp-sincos-01.ll
  llvm/test/CodeGen/SystemZ/fp-sqrt-01.ll
  llvm/test/CodeGen/SystemZ/fp-sqrt-02.ll
  llvm/test/CodeGen/SystemZ/memchr-01.ll
  llvm/test/CodeGen/SystemZ/memchr-02.ll
  llvm/test/CodeGen/SystemZ/memcmp-01.ll
  llvm/test/CodeGen/SystemZ/memcmp-02.ll
  llvm/test/CodeGen/SystemZ/strcmp-01.ll
  llvm/test/CodeGen/SystemZ/strcmp-02.ll
  llvm/test/CodeGen/SystemZ/strcpy-01.ll
  llvm/test/CodeGen/SystemZ/strlen-01.ll
  llvm/test/CodeGen/SystemZ/strlen-02.ll
  llvm/test/CodeGen/X86/avx-arith.ll
  llvm/test/CodeGen/X86/avx512-arith.ll
  llvm/test/CodeGen/X86/copysign-constant-magnitude.ll
  llvm/test/CodeGen/X86/fabs.ll
  llvm/test/CodeGen/X86/fmaxnum.ll
  llvm/test/CodeGen/X86/fminnum.ll
  llvm/test/CodeGen/X86/fnabs.ll
  llvm/test/CodeGen/X86/fp-in-intregs.ll
  llvm/test/CodeGen/X86/fp128-cast.ll
  llvm/test/CodeGen/X86/fp128-i128.ll
  llvm/test/CodeGen/X86/memcmp.ll
  llvm/test/CodeGen/X86/mempcpy.ll
  llvm/test/CodeGen/X86/negative-sin.ll
  llvm/test/CodeGen/X86/pr13577.ll
  llvm/test/CodeGen/X86/pr2656.ll
  llvm/test/CodeGen/X86/pr26625.ll
  llvm/test/CodeGen/X86/rounding-ops.ll
  llvm/test/CodeGen/X86/sincos-opt.ll
  llvm/test/CodeGen/X86/sincos.ll
  llvm/test/CodeGen/X86/sqrt-fastmath.ll
  llvm/test/CodeGen/X86/stack-align.ll
  llvm/test/Instrumentation/AddressSanitizer/str-nobuiltin.ll
  llvm/test/Instrumentation/BoundsChecking/simple.ll
  llvm/test/Instrumentation/EfficiencySanitizer/str-nobuiltin.ll
  llvm/test/Instrumentation/MemorySanitizer/str-nobuiltin.ll
  llvm/test/Instrumentation/ThreadSanitizer/str-nobuiltin.ll
  llvm/test/LTO/X86/runtime-library.ll
  llvm/test/LTO/X86/triple-init.ll
  llvm/test/Transforms/ConstProp/calls.ll
  llvm/test/Transforms/Coroutines/ArgAddr.ll
  llvm/test/Transforms/Coroutines/ex3.ll
  llvm/test/Transforms/DeadStoreElimination/2016-07-17-UseAfterFree.ll
  llvm/test/Transforms/DeadStoreElimination/calloc-store.ll
  llvm/test/Transforms/DeadStoreElimination/fence.ll
  llvm/test/Transforms/DeadStoreElimination/free.ll
  llvm/test/Transforms/DeadStoreElimination/libcalls.ll
  llvm/test/Transforms/DeadStoreElimination/operand-bundles.ll
  llvm/test/Transforms/DeadStoreElimination/simple.ll
  llvm/test/Transforms/GVN/calloc-load-removal.ll
  llvm/test/Transforms/GVN/malloc-load-removal.ll
  llvm/test/Transforms/GVN/no_speculative_loads_with_asan.ll
  llvm/test/Transforms/GVN/nonescaping-malloc.ll
  llvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll
  llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
  llvm/test/Transforms/GlobalOpt/ctor-list-opt.ll
  llvm/test/Transforms/GlobalOpt/cxx-dtor.ll
  llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
  llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
  llvm/test/Transforms/GlobalOpt/heap-sra-3.ll
  llvm/test/Transforms/GlobalOpt/heap-sra-4.ll
  llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
  llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
  llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
  llvm/test/Transforms/InferFunctionAttrs/annotate.ll
  llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
  llvm/test/Transforms/InstCombine/ARM/strcmp.ll
  llvm/test/Transforms/InstCombine/ARM/strcpy.ll
  llvm/test/Transforms/InstCombine/abs-1.ll
  llvm/test/Transforms/InstCombine/badmalloc.ll
  llvm/test/Transforms/InstCombine/compare-unescaped.ll
  llvm/test/Transforms/InstCombine/cos-1.ll
  llvm/test/Transforms/InstCombine/debug-line.ll
  llvm/test/Transforms/InstCombine/double-float-shrink-1.ll
  llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
  llvm/test/Transforms/InstCombine/err-rep-cold.ll
  llvm/test/Transforms/InstCombine/exp2-1.ll
  llvm/test/Transforms/InstCombine/fabs.ll
  llvm/test/Transforms/InstCombine/fast-math.ll
  llvm/test/Transforms/InstCombine/ffs-1.ll
  llvm/test/Transforms/InstCombine/float-shrink-compare.ll
  llvm/test/Transforms/InstCombine/fold-calls.ll
  llvm/test/Transforms/InstCombine/fprintf-1.ll
  llvm/test/Transforms/InstCombine/fputs-1.ll
  llvm/test/Transforms/InstCombine/fwrite-1.ll
  llvm/test/Transforms/InstCombine/inline-intrinsic-assert.ll
  llvm/test/Transforms/InstCombine/invoke.ll
  llvm/test/Transforms/InstCombine/isascii-1.ll
  llvm/test/Transforms/InstCombine/isdigit-1.ll
  llvm/test/Transforms/InstCombine/log-pow.ll
  llvm/test/Transforms/InstCombine/malloc-free-delete.ll
  llvm/test/Transforms/InstCombine/memchr.ll
  llvm/test/Transforms/InstCombine/memcmp-1.ll
  llvm/test/Transforms/InstCombine/memcpy-1.ll
  llvm/test/Transforms/InstCombine/memmove-1.ll
  llvm/test/Transforms/InstCombine/memset-1.ll
  llvm/test/Transforms/InstCombine/memset_chk-1.ll
  llvm/test/Transforms/InstCombine/no_cgscc_assert.ll
  llvm/test/Transforms/InstCombine/objsize-64.ll
  llvm/test/Transforms/InstCombine/objsize.ll
  llvm/test/Transforms/InstCombine/osx-names.ll
  llvm/test/Transforms/InstCombine/pow-1.ll
  llvm/test/Transforms/InstCombine/pow-exp.ll
  llvm/test/Transforms/InstCombine/pow-sqrt.ll
  llvm/test/Transforms/InstCombine/printf-1.ll
  llvm/test/Transforms/InstCombine/printf-2.ll
  llvm/test/Transforms/InstCombine/printf-3.ll
  llvm/test/Transforms/InstCombine/puts-1.ll
  llvm/test/Transforms/InstCombine/simplify-libcalls.ll
  llvm/test/Transforms/InstCombine/sincospi.ll
  llvm/test/Transforms/InstCombine/sprintf-1.ll
  llvm/test/Transforms/InstCombine/sqrt.ll
  llvm/test/Transforms/InstCombine/stpcpy-1.ll
  llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
  llvm/test/Transforms/InstCombine/strcat-1.ll
  llvm/test/Transforms/InstCombine/strcat-2.ll
  llvm/test/Transforms/InstCombine/strchr-1.ll
  llvm/test/Transforms/InstCombine/strcmp-1.ll
  llvm/test/Transforms/InstCombine/strcpy-1.ll
  llvm/test/Transforms/InstCombine/strcpy_chk-1.ll
  llvm/test/Transforms/InstCombine/strcspn-1.ll
  llvm/test/Transforms/InstCombine/strlen-1.ll
  llvm/test/Transforms/InstCombine/strncat-1.ll
  llvm/test/Transforms/InstCombine/strncat-2.ll
  llvm/test/Transforms/InstCombine/strncmp-1.ll
  llvm/test/Transforms/InstCombine/strncpy-1.ll
  llvm/test/Transforms/InstCombine/strncpy_chk-1.ll
  llvm/test/Transforms/InstCombine/strpbrk-1.ll
  llvm/test/Transforms/InstCombine/strrchr-1.ll
  llvm/test/Transforms/InstCombine/strspn-1.ll
  llvm/test/Transforms/InstCombine/strstr-1.ll
  llvm/test/Transforms/InstCombine/strto-1.ll
  llvm/test/Transforms/InstCombine/tan.ll
  llvm/test/Transforms/InstCombine/toascii-1.ll
  llvm/test/Transforms/InstCombine/weak-symbols.ll
  llvm/test/Transforms/InstCombine/win-math.ll
  llvm/test/Transforms/InstMerge/st_sink_bugfix_22613.ll
  llvm/test/Transforms/InstSimplify/call-callconv.ll
  llvm/test/Transforms/InstSimplify/call.ll
  llvm/test/Transforms/LICM/promote-tls.ll
  llvm/test/Transforms/LoopIdiom/basic-address-space.ll
  llvm/test/Transforms/LoopIdiom/basic.ll
  llvm/test/Transforms/LoopIdiom/debug-line.ll
  llvm/test/Transforms/LoopIdiom/lir-heurs-multi-block-loop.ll
  llvm/test/Transforms/LoopIdiom/pr28196.ll
  llvm/test/Transforms/LoopIdiom/struct.ll
  llvm/test/Transforms/LoopIdiom/struct_pattern.ll
  llvm/test/Transforms/LoopIdiom/unroll.ll
  llvm/test/Transforms/LoopVectorize/X86/svml-calls.ll
  llvm/test/Transforms/LoopVectorize/X86/veclib-calls.ll
  llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
  llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
  llvm/test/Transforms/MemCpyOpt/align.ll
  llvm/test/Transforms/MemCpyOpt/atomic.ll
  llvm/test/Transforms/MemCpyOpt/callslot_aa.ll
  llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
  llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
  llvm/test/Transforms/MemCpyOpt/form-memset.ll
  llvm/test/Transforms/MemCpyOpt/invariant.start.ll
  llvm/test/Transforms/MemCpyOpt/lifetime.ll
  llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll
  llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
  llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll
  llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
  llvm/test/Transforms/MemCpyOpt/memcpy.ll
  llvm/test/Transforms/MemCpyOpt/memmove.ll
  llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
  llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
  llvm/test/Transforms/MemCpyOpt/pr29105.ll
  llvm/test/Transforms/MemCpyOpt/profitable-memset.ll
  llvm/test/Transforms/MemCpyOpt/sret.ll
  llvm/test/Transforms/PhaseOrdering/basic.ll
  llvm/test/Transforms/SCCP/calltest.ll
  llvm/test/Transforms/Util/combine-alias-scope-metadata.ll
  llvm/tools/llc/llc.cpp
  llvm/tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24688.71707.patch
Type: text/x-patch
Size: 97150 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160916/d53a4760/attachment-0001.bin>


More information about the cfe-commits mailing list