brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · ad9ef91 Raw
175 lines · plain
1set(LLVM_LINK_COMPONENTS2  AggressiveInstCombine3  Analysis4  BitReader5  BitWriter6  CodeGenTypes7  Core8  Coroutines9  Coverage10  Demangle11  Extensions12  FrontendDriver13  FrontendHLSL14  FrontendOpenMP15  FrontendOffloading16  HIPStdPar17  IPO18  IRPrinter19  IRReader20  InstCombine21  Instrumentation22  LTO23  Linker24  MC25  ObjCARCOpts26  Object27  Passes28  ProfileData29  ScalarOpts30  Support31  Target32  TargetParser33  TransformUtils34  )35 36# Workaround for MSVC ARM64 performance regression:37# https://developercommunity.visualstudio.com/t/Compiling-a-specific-code-for-ARM64-with/1044497038# Since /O1 and /O2 represent a set of optimizations,39# our goal is to disable the /Og flag while retaining the other optimizations from the /O1|/O2 set40if(MSVC AND NOT CMAKE_CXX_COMPILER_ID MATCHES Clang41    AND MSVC_VERSION VERSION_GREATER_EQUAL 193242    AND MSVC_VERSION VERSION_LESS 193943    AND CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64")44 45  string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)46  string(REGEX MATCHALL "/[Oo][12]" opt_flags "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}}")47  if (opt_flags)48    if(opt_flags MATCHES "1$")49      set(opt_flags "/Od;/Os;/Oy;/Ob2;/GF;/Gy")50    elseif (opt_flags MATCHES "2$")51      set(opt_flags "/Od;/Oi;/Ot;/Oy;/Ob2;/GF;/Gy")52    endif()53    set_source_files_properties(CGBuiltin.cpp PROPERTIES COMPILE_OPTIONS "${opt_flags}")54  endif()55endif()56 57add_clang_library(clangCodeGen58  ABIInfo.cpp59  ABIInfoImpl.cpp60  BackendUtil.cpp61  CGAtomic.cpp62  CGBlocks.cpp63  CGBuiltin.cpp64  CGCUDANV.cpp65  CGCUDARuntime.cpp66  CGCXX.cpp67  CGCXXABI.cpp68  CGCall.cpp69  CGClass.cpp70  CGCleanup.cpp71  CGCoroutine.cpp72  CGDebugInfo.cpp73  CGDecl.cpp74  CGDeclCXX.cpp75  CGException.cpp76  CGExpr.cpp77  CGExprAgg.cpp78  CGExprCXX.cpp79  CGExprComplex.cpp80  CGExprConstant.cpp81  CGExprScalar.cpp82  CGGPUBuiltin.cpp83  CGHLSLRuntime.cpp84  CGHLSLBuiltins.cpp85  CGLoopInfo.cpp86  CGNonTrivialStruct.cpp87  CGObjC.cpp88  CGObjCGNU.cpp89  CGObjCMac.cpp90  CGObjCRuntime.cpp91  CGOpenCLRuntime.cpp92  CGOpenMPRuntime.cpp93  CGOpenMPRuntimeGPU.cpp94  CGPointerAuth.cpp95  CGRecordLayoutBuilder.cpp96  CGStmt.cpp97  CGStmtOpenMP.cpp98  CGVTT.cpp99  CGVTables.cpp100  CodeGenABITypes.cpp101  CodeGenAction.cpp102  CodeGenFunction.cpp103  CodeGenModule.cpp104  CodeGenPGO.cpp105  CodeGenSYCL.cpp106  CodeGenTBAA.cpp107  CodeGenTypes.cpp108  ConstantInitBuilder.cpp109  CoverageMappingGen.cpp110  ItaniumCXXABI.cpp111  HLSLBufferLayoutBuilder.cpp112  LinkInModulesPass.cpp113  MacroPPCallbacks.cpp114  MicrosoftCXXABI.cpp115  ModuleBuilder.cpp116  ObjectFilePCHContainerWriter.cpp117  PatternInit.cpp118  SanitizerMetadata.cpp119  SwiftCallingConv.cpp120  TargetBuiltins/ARM.cpp121  TargetBuiltins/AMDGPU.cpp122  TargetBuiltins/DirectX.cpp123  TargetBuiltins/Hexagon.cpp124  TargetBuiltins/NVPTX.cpp125  TargetBuiltins/PPC.cpp126  TargetBuiltins/RISCV.cpp127  TargetBuiltins/SPIR.cpp128  TargetBuiltins/SystemZ.cpp129  TargetBuiltins/WebAssembly.cpp130  TargetBuiltins/X86.cpp131  TargetInfo.cpp132  Targets/AArch64.cpp133  Targets/AMDGPU.cpp134  Targets/ARC.cpp135  Targets/ARM.cpp136  Targets/AVR.cpp137  Targets/BPF.cpp138  Targets/CSKY.cpp139  Targets/DirectX.cpp140  Targets/Hexagon.cpp141  Targets/Lanai.cpp142  Targets/LoongArch.cpp143  Targets/M68k.cpp144  Targets/MSP430.cpp145  Targets/Mips.cpp146  Targets/NVPTX.cpp147  Targets/PPC.cpp148  Targets/RISCV.cpp149  Targets/SPIR.cpp150  Targets/Sparc.cpp151  Targets/SystemZ.cpp152  Targets/TCE.cpp153  Targets/VE.cpp154  Targets/WebAssembly.cpp155  Targets/X86.cpp156  Targets/XCore.cpp157  TrapReasonBuilder.cpp158  VarBypassDetector.cpp159 160  DEPENDS161  vt_gen162  intrinsics_gen163  ClangDriverOptions164  # These generated headers are included transitively.165  target_parser_gen166 167  LINK_LIBS168  clangAST169  clangAnalysis170  clangBasic171  clangFrontend172  clangLex173  clangSerialization174  )175