From: Fangrui Song Date: Tue, 1 Dec 2020 18:33:18 +0000 (-0800) Subject: static const char *const foo => const char foo[] X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a5309438fe8d4f1212ae645bc0aaf71fdf73d028;p=android-x86%2Fexternal-llvm-project.git static const char *const foo => const char foo[] By default, a non-template variable of non-volatile const-qualified type having namespace-scope has internal linkage, so no need for `static`. --- diff --git a/llvm/lib/Analysis/ReleaseModeModelRunner.cpp b/llvm/lib/Analysis/ReleaseModeModelRunner.cpp index af300fb71b4..0b038b3e1c3 100644 --- a/llvm/lib/Analysis/ReleaseModeModelRunner.cpp +++ b/llvm/lib/Analysis/ReleaseModeModelRunner.cpp @@ -25,8 +25,8 @@ using namespace llvm; namespace { -static const char *const FeedPrefix = "feed_"; -static const char *const FetchPrefix = "fetch_"; +const char FeedPrefix[] = "feed_"; +const char FetchPrefix[] = "fetch_"; /// MLModelRunner - production mode implementation. It uses a AOT-compiled /// SavedModel for efficient execution. diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 4d7f17aa65b..12090fc370c 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -136,17 +136,16 @@ static cl::opt DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden, cl::desc("Disable debug info printing")); -static const char *const DWARFGroupName = "dwarf"; -static const char *const DWARFGroupDescription = "DWARF Emission"; -static const char *const DbgTimerName = "emit"; -static const char *const DbgTimerDescription = "Debug Info Emission"; -static const char *const EHTimerName = "write_exception"; -static const char *const EHTimerDescription = "DWARF Exception Writer"; -static const char *const CFGuardName = "Control Flow Guard"; -static const char *const CFGuardDescription = "Control Flow Guard"; -static const char *const CodeViewLineTablesGroupName = "linetables"; -static const char *const CodeViewLineTablesGroupDescription = - "CodeView Line Tables"; +const char DWARFGroupName[] = "dwarf"; +const char DWARFGroupDescription[] = "DWARF Emission"; +const char DbgTimerName[] = "emit"; +const char DbgTimerDescription[] = "Debug Info Emission"; +const char EHTimerName[] = "write_exception"; +const char EHTimerDescription[] = "DWARF Exception Writer"; +const char CFGuardName[] = "Control Flow Guard"; +const char CFGuardDescription[] = "Control Flow Guard"; +const char CodeViewLineTablesGroupName[] = "linetables"; +const char CodeViewLineTablesGroupDescription[] = "CodeView Line Tables"; STATISTIC(EmittedInsts, "Number of machine instrs printed"); diff --git a/llvm/lib/IRReader/IRReader.cpp b/llvm/lib/IRReader/IRReader.cpp index cb33e40be61..e7fd835f8ad 100644 --- a/llvm/lib/IRReader/IRReader.cpp +++ b/llvm/lib/IRReader/IRReader.cpp @@ -24,10 +24,10 @@ namespace llvm { extern bool TimePassesIsEnabled; } -static const char *const TimeIRParsingGroupName = "irparse"; -static const char *const TimeIRParsingGroupDescription = "LLVM IR Parsing"; -static const char *const TimeIRParsingName = "parse"; -static const char *const TimeIRParsingDescription = "Parse IR"; +const char TimeIRParsingGroupName[] = "irparse"; +const char TimeIRParsingGroupDescription[] = "LLVM IR Parsing"; +const char TimeIRParsingName[] = "parse"; +const char TimeIRParsingDescription[] = "Parse IR"; std::unique_ptr llvm::getLazyIRModule(std::unique_ptr Buffer, SMDiagnostic &Err, diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp index c18dd11a72c..11c9de4455d 100644 --- a/llvm/lib/Object/Archive.cpp +++ b/llvm/lib/Object/Archive.cpp @@ -38,8 +38,8 @@ using namespace llvm; using namespace object; using namespace llvm::support::endian; -static const char *const Magic = "!\n"; -static const char *const ThinMagic = "!\n"; +const char Magic[] = "!\n"; +const char ThinMagic[] = "!\n"; void Archive::anchor() {} diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 6c5caa0997c..7990bea90dc 100644 --- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -130,56 +130,48 @@ static const size_t kMaxStackMallocSize = 1 << 16; // 64K static const uintptr_t kCurrentStackFrameMagic = 0x41B58AB3; static const uintptr_t kRetiredStackFrameMagic = 0x45E0360E; -static const char *const kAsanModuleCtorName = "asan.module_ctor"; -static const char *const kAsanModuleDtorName = "asan.module_dtor"; +const char kAsanModuleCtorName[] = "asan.module_ctor"; +const char kAsanModuleDtorName[] = "asan.module_dtor"; static const uint64_t kAsanCtorAndDtorPriority = 1; // On Emscripten, the system needs more than one priorities for constructors. static const uint64_t kAsanEmscriptenCtorAndDtorPriority = 50; -static const char *const kAsanReportErrorTemplate = "__asan_report_"; -static const char *const kAsanRegisterGlobalsName = "__asan_register_globals"; -static const char *const kAsanUnregisterGlobalsName = - "__asan_unregister_globals"; -static const char *const kAsanRegisterImageGlobalsName = - "__asan_register_image_globals"; -static const char *const kAsanUnregisterImageGlobalsName = - "__asan_unregister_image_globals"; -static const char *const kAsanRegisterElfGlobalsName = - "__asan_register_elf_globals"; -static const char *const kAsanUnregisterElfGlobalsName = - "__asan_unregister_elf_globals"; -static const char *const kAsanPoisonGlobalsName = "__asan_before_dynamic_init"; -static const char *const kAsanUnpoisonGlobalsName = "__asan_after_dynamic_init"; -static const char *const kAsanInitName = "__asan_init"; -static const char *const kAsanVersionCheckNamePrefix = - "__asan_version_mismatch_check_v"; -static const char *const kAsanPtrCmp = "__sanitizer_ptr_cmp"; -static const char *const kAsanPtrSub = "__sanitizer_ptr_sub"; -static const char *const kAsanHandleNoReturnName = "__asan_handle_no_return"; +const char kAsanReportErrorTemplate[] = "__asan_report_"; +const char kAsanRegisterGlobalsName[] = "__asan_register_globals"; +const char kAsanUnregisterGlobalsName[] = "__asan_unregister_globals"; +const char kAsanRegisterImageGlobalsName[] = "__asan_register_image_globals"; +const char kAsanUnregisterImageGlobalsName[] = + "__asan_unregister_image_globals"; +const char kAsanRegisterElfGlobalsName[] = "__asan_register_elf_globals"; +const char kAsanUnregisterElfGlobalsName[] = "__asan_unregister_elf_globals"; +const char kAsanPoisonGlobalsName[] = "__asan_before_dynamic_init"; +const char kAsanUnpoisonGlobalsName[] = "__asan_after_dynamic_init"; +const char kAsanInitName[] = "__asan_init"; +const char kAsanVersionCheckNamePrefix[] = "__asan_version_mismatch_check_v"; +const char kAsanPtrCmp[] = "__sanitizer_ptr_cmp"; +const char kAsanPtrSub[] = "__sanitizer_ptr_sub"; +const char kAsanHandleNoReturnName[] = "__asan_handle_no_return"; static const int kMaxAsanStackMallocSizeClass = 10; -static const char *const kAsanStackMallocNameTemplate = "__asan_stack_malloc_"; -static const char *const kAsanStackFreeNameTemplate = "__asan_stack_free_"; -static const char *const kAsanGenPrefix = "___asan_gen_"; -static const char *const kODRGenPrefix = "__odr_asan_gen_"; -static const char *const kSanCovGenPrefix = "__sancov_gen_"; -static const char *const kAsanSetShadowPrefix = "__asan_set_shadow_"; -static const char *const kAsanPoisonStackMemoryName = - "__asan_poison_stack_memory"; -static const char *const kAsanUnpoisonStackMemoryName = - "__asan_unpoison_stack_memory"; +const char kAsanStackMallocNameTemplate[] = "__asan_stack_malloc_"; +const char kAsanStackFreeNameTemplate[] = "__asan_stack_free_"; +const char kAsanGenPrefix[] = "___asan_gen_"; +const char kODRGenPrefix[] = "__odr_asan_gen_"; +const char kSanCovGenPrefix[] = "__sancov_gen_"; +const char kAsanSetShadowPrefix[] = "__asan_set_shadow_"; +const char kAsanPoisonStackMemoryName[] = "__asan_poison_stack_memory"; +const char kAsanUnpoisonStackMemoryName[] = "__asan_unpoison_stack_memory"; // ASan version script has __asan_* wildcard. Triple underscore prevents a // linker (gold) warning about attempting to export a local symbol. -static const char *const kAsanGlobalsRegisteredFlagName = - "___asan_globals_registered"; +const char kAsanGlobalsRegisteredFlagName[] = "___asan_globals_registered"; -static const char *const kAsanOptionDetectUseAfterReturn = +const char kAsanOptionDetectUseAfterReturn[] = "__asan_option_detect_stack_use_after_return"; -static const char *const kAsanShadowMemoryDynamicAddress = +const char kAsanShadowMemoryDynamicAddress[] = "__asan_shadow_memory_dynamic_address"; -static const char *const kAsanAllocaPoison = "__asan_alloca_poison"; -static const char *const kAsanAllocasUnpoison = "__asan_allocas_unpoison"; +const char kAsanAllocaPoison[] = "__asan_alloca_poison"; +const char kAsanAllocasUnpoison[] = "__asan_allocas_unpoison"; // Accesses sizes are powers of two: 1, 2, 4, 8, 16. static const size_t kNumberOfAccessSizes = 5; diff --git a/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp index ee8766b7e4b..4fd6308fcc4 100644 --- a/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp @@ -109,7 +109,7 @@ using namespace llvm; // External symbol to be used when generating the shadow address for // architectures with multiple VMAs. Instead of using a constant integer // the runtime will set the external mask based on the VMA range. -static const char *const kDFSanExternShadowPtrMask = "__dfsan_shadow_ptr_mask"; +const char kDFSanExternShadowPtrMask[] = "__dfsan_shadow_ptr_mask"; // The -dfsan-preserve-alignment flag controls whether this pass assumes that // alignment requirements provided by the input IR are correct. For example, diff --git a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp index 25b70f7ea68..79a2aa35433 100644 --- a/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp @@ -55,13 +55,12 @@ using namespace llvm; #define DEBUG_TYPE "hwasan" -static const char *const kHwasanModuleCtorName = "hwasan.module_ctor"; -static const char *const kHwasanNoteName = "hwasan.note"; -static const char *const kHwasanInitName = "__hwasan_init"; -static const char *const kHwasanPersonalityThunkName = - "__hwasan_personality_thunk"; +const char kHwasanModuleCtorName[] = "hwasan.module_ctor"; +const char kHwasanNoteName[] = "hwasan.note"; +const char kHwasanInitName[] = "__hwasan_init"; +const char kHwasanPersonalityThunkName[] = "__hwasan_personality_thunk"; -static const char *const kHwasanShadowMemoryDynamicAddress = +const char kHwasanShadowMemoryDynamicAddress[] = "__hwasan_shadow_memory_dynamic_address"; // Accesses sizes are powers of two: 1, 2, 4, 8, 16. diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp index 1d4f279aeff..188403b54b5 100644 --- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -338,8 +338,8 @@ static cl::opt ClOriginBase("msan-origin-base", cl::desc("Define custom MSan OriginBase"), cl::Hidden, cl::init(0)); -static const char *const kMsanModuleCtorName = "msan.module_ctor"; -static const char *const kMsanInitName = "__msan_init"; +const char kMsanModuleCtorName[] = "msan.module_ctor"; +const char kMsanInitName[] = "__msan_init"; namespace { diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp index 9796e4cd652..02fc511493b 100644 --- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp +++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp @@ -45,49 +45,39 @@ using namespace llvm; #define DEBUG_TYPE "sancov" -static const char *const SanCovTracePCIndirName = - "__sanitizer_cov_trace_pc_indir"; -static const char *const SanCovTracePCName = "__sanitizer_cov_trace_pc"; -static const char *const SanCovTraceCmp1 = "__sanitizer_cov_trace_cmp1"; -static const char *const SanCovTraceCmp2 = "__sanitizer_cov_trace_cmp2"; -static const char *const SanCovTraceCmp4 = "__sanitizer_cov_trace_cmp4"; -static const char *const SanCovTraceCmp8 = "__sanitizer_cov_trace_cmp8"; -static const char *const SanCovTraceConstCmp1 = - "__sanitizer_cov_trace_const_cmp1"; -static const char *const SanCovTraceConstCmp2 = - "__sanitizer_cov_trace_const_cmp2"; -static const char *const SanCovTraceConstCmp4 = - "__sanitizer_cov_trace_const_cmp4"; -static const char *const SanCovTraceConstCmp8 = - "__sanitizer_cov_trace_const_cmp8"; -static const char *const SanCovTraceDiv4 = "__sanitizer_cov_trace_div4"; -static const char *const SanCovTraceDiv8 = "__sanitizer_cov_trace_div8"; -static const char *const SanCovTraceGep = "__sanitizer_cov_trace_gep"; -static const char *const SanCovTraceSwitchName = "__sanitizer_cov_trace_switch"; -static const char *const SanCovModuleCtorTracePcGuardName = +const char SanCovTracePCIndirName[] = "__sanitizer_cov_trace_pc_indir"; +const char SanCovTracePCName[] = "__sanitizer_cov_trace_pc"; +const char SanCovTraceCmp1[] = "__sanitizer_cov_trace_cmp1"; +const char SanCovTraceCmp2[] = "__sanitizer_cov_trace_cmp2"; +const char SanCovTraceCmp4[] = "__sanitizer_cov_trace_cmp4"; +const char SanCovTraceCmp8[] = "__sanitizer_cov_trace_cmp8"; +const char SanCovTraceConstCmp1[] = "__sanitizer_cov_trace_const_cmp1"; +const char SanCovTraceConstCmp2[] = "__sanitizer_cov_trace_const_cmp2"; +const char SanCovTraceConstCmp4[] = "__sanitizer_cov_trace_const_cmp4"; +const char SanCovTraceConstCmp8[] = "__sanitizer_cov_trace_const_cmp8"; +const char SanCovTraceDiv4[] = "__sanitizer_cov_trace_div4"; +const char SanCovTraceDiv8[] = "__sanitizer_cov_trace_div8"; +const char SanCovTraceGep[] = "__sanitizer_cov_trace_gep"; +const char SanCovTraceSwitchName[] = "__sanitizer_cov_trace_switch"; +const char SanCovModuleCtorTracePcGuardName[] = "sancov.module_ctor_trace_pc_guard"; -static const char *const SanCovModuleCtor8bitCountersName = +const char SanCovModuleCtor8bitCountersName[] = "sancov.module_ctor_8bit_counters"; -static const char *const SanCovModuleCtorBoolFlagName = - "sancov.module_ctor_bool_flag"; +const char SanCovModuleCtorBoolFlagName[] = "sancov.module_ctor_bool_flag"; static const uint64_t SanCtorAndDtorPriority = 2; -static const char *const SanCovTracePCGuardName = - "__sanitizer_cov_trace_pc_guard"; -static const char *const SanCovTracePCGuardInitName = - "__sanitizer_cov_trace_pc_guard_init"; -static const char *const SanCov8bitCountersInitName = - "__sanitizer_cov_8bit_counters_init"; -static const char *const SanCovBoolFlagInitName = - "__sanitizer_cov_bool_flag_init"; -static const char *const SanCovPCsInitName = "__sanitizer_cov_pcs_init"; - -static const char *const SanCovGuardsSectionName = "sancov_guards"; -static const char *const SanCovCountersSectionName = "sancov_cntrs"; -static const char *const SanCovBoolFlagSectionName = "sancov_bools"; -static const char *const SanCovPCsSectionName = "sancov_pcs"; - -static const char *const SanCovLowestStackName = "__sancov_lowest_stack"; +const char SanCovTracePCGuardName[] = "__sanitizer_cov_trace_pc_guard"; +const char SanCovTracePCGuardInitName[] = "__sanitizer_cov_trace_pc_guard_init"; +const char SanCov8bitCountersInitName[] = "__sanitizer_cov_8bit_counters_init"; +const char SanCovBoolFlagInitName[] = "__sanitizer_cov_bool_flag_init"; +const char SanCovPCsInitName[] = "__sanitizer_cov_pcs_init"; + +const char SanCovGuardsSectionName[] = "sancov_guards"; +const char SanCovCountersSectionName[] = "sancov_cntrs"; +const char SanCovBoolFlagSectionName[] = "sancov_bools"; +const char SanCovPCsSectionName[] = "sancov_pcs"; + +const char SanCovLowestStackName[] = "__sancov_lowest_stack"; static cl::opt ClCoverageLevel( "sanitizer-coverage-level", diff --git a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp index b8d9b3061f0..783878cf1ec 100644 --- a/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp @@ -96,8 +96,8 @@ STATISTIC(NumOmittedReadsFromConstantGlobals, STATISTIC(NumOmittedReadsFromVtable, "Number of vtable reads"); STATISTIC(NumOmittedNonCaptured, "Number of accesses ignored due to capturing"); -static const char *const kTsanModuleCtorName = "tsan.module_ctor"; -static const char *const kTsanInitName = "__tsan_init"; +const char kTsanModuleCtorName[] = "tsan.module_ctor"; +const char kTsanInitName[] = "__tsan_init"; namespace { diff --git a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp index ca114581a51..028c98f93a7 100644 --- a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp +++ b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp @@ -435,7 +435,7 @@ static Instruction *findLocationForEntrySafepoint(Function &F, return Cursor; } -static const char *const GCSafepointPollName = "gc.safepoint_poll"; +const char GCSafepointPollName[] = "gc.safepoint_poll"; static bool isGCSafepointPoll(Function &F) { return F.getName().equals(GCSafepointPollName); diff --git a/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp b/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp index 825455ce1e4..3e15cad5f3f 100644 --- a/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp +++ b/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp @@ -57,7 +57,7 @@ using namespace llvm::PatternMatch; #define DEBUG_TYPE "structurizecfg" // The name for newly created blocks. -static const char *const FlowBlockName = "Flow"; +const char FlowBlockName[] = "Flow"; namespace { diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index d87938bb146..a3efb702604 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -159,11 +159,10 @@ using namespace llvm; /// @{ /// Metadata attribute names -static const char *const LLVMLoopVectorizeFollowupAll = - "llvm.loop.vectorize.followup_all"; -static const char *const LLVMLoopVectorizeFollowupVectorized = +const char LLVMLoopVectorizeFollowupAll[] = "llvm.loop.vectorize.followup_all"; +const char LLVMLoopVectorizeFollowupVectorized[] = "llvm.loop.vectorize.followup_vectorized"; -static const char *const LLVMLoopVectorizeFollowupEpilogue = +const char LLVMLoopVectorizeFollowupEpilogue[] = "llvm.loop.vectorize.followup_epilogue"; /// @}