[PATCH] D65582: IR: accept and print numbered %N names for function args
Tim Northover via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 1 08:28:35 PDT 2019
t.p.northover created this revision.
t.p.northover added a reviewer: rnk.
Herald added subscribers: s.egerton, Jim, asbirlea, jocewei, PkmX, jfb, dexonsmith, the_o, brucehoult, MartinMosbeck, rogfer01, steven_wu, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, apazos, simoncook, johnrusso, rbar, asb, kbarton, aheejin, hiraditya, sbc100, javed.absar, nhaehnle, jvesely, nemanjai, mcrosier, mehdi_amini, dylanmckay.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: jdoerfert.
Herald added projects: clang, LLVM.
Currently unnamed function arguments get assigned the first available numbers %0, %1, ... and developers are just expected to know that and count arguments if needed. It would be better to print out the numbers explicitly, like we do for instructions in the body.
It's worth noting that updating front-ends' tests will probably be a bit of work, but I've got a (embarrassingly bad) script that gets about 80-90% of the way there. I'll reply to any commit with it attached.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D65582
Files:
clang/test/CXX/except/except.spec/p14-ir.cpp
clang/test/CodeGen/64bit-swiftcall.c
clang/test/CodeGen/arm-arguments.c
clang/test/CodeGen/arm-swiftcall.c
clang/test/CodeGen/arm64-arguments.c
clang/test/CodeGen/attr-cpuspecific.c
clang/test/CodeGen/attr-naked.c
clang/test/CodeGen/attr-target-mv-va-args.c
clang/test/CodeGen/attr-target-mv.c
clang/test/CodeGen/blocks.c
clang/test/CodeGen/cfi-check-fail.c
clang/test/CodeGen/cfi-check-fail2.c
clang/test/CodeGen/long_double_fp128.cpp
clang/test/CodeGen/mingw-long-double.c
clang/test/CodeGen/mips-vector-arg.c
clang/test/CodeGen/mips64-padding-arg.c
clang/test/CodeGen/pass-object-size.c
clang/test/CodeGen/pch-dllexport.cpp
clang/test/CodeGen/ppc64-align-struct.c
clang/test/CodeGen/ppc64-qpx-vector.c
clang/test/CodeGen/ppc64-vector.c
clang/test/CodeGen/regcall.c
clang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
clang/test/CodeGen/riscv32-ilp32d-abi.c
clang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
clang/test/CodeGen/riscv64-lp64-abi.c
clang/test/CodeGen/riscv64-lp64-lp64f-abi.c
clang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
clang/test/CodeGen/riscv64-lp64d-abi.c
clang/test/CodeGen/riscv64-lp64f-lp64d-abi.c
clang/test/CodeGen/sanitize-thread-no-checking-at-run-time.m
clang/test/CodeGen/systemz-abi-vector.c
clang/test/CodeGen/systemz-abi.c
clang/test/CodeGen/systemz-inline-asm.c
clang/test/CodeGen/vectorcall.c
clang/test/CodeGen/win64-i128.c
clang/test/CodeGen/windows-swiftcall.c
clang/test/CodeGen/x86_32-arguments-darwin.c
clang/test/CodeGen/x86_32-arguments-linux.c
clang/test/CodeGen/x86_32-arguments-realign.c
clang/test/CodeGenCUDA/usual-deallocators.cu
clang/test/CodeGenCXX/arm-swiftcall.cpp
clang/test/CodeGenCXX/attr-cpuspecific.cpp
clang/test/CodeGenCXX/attr-target-mv-diff-ns.cpp
clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
clang/test/CodeGenCXX/attr-target-mv-member-funcs.cpp
clang/test/CodeGenCXX/attr-target-mv-out-of-line-defs.cpp
clang/test/CodeGenCXX/attr-target-mv-overloads.cpp
clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
clang/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
clang/test/CodeGenCXX/dllexport-members.cpp
clang/test/CodeGenCXX/dllexport.cpp
clang/test/CodeGenCXX/dllimport-members.cpp
clang/test/CodeGenCXX/dllimport-runtime-fns.cpp
clang/test/CodeGenCXX/exceptions.cpp
clang/test/CodeGenCXX/implicit-copy-constructor.cpp
clang/test/CodeGenCXX/mangle.cpp
clang/test/CodeGenCXX/member-templates.cpp
clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
clang/test/CodeGenCXX/microsoft-abi-byval-vararg.cpp
clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp
clang/test/CodeGenCXX/noescape.cpp
clang/test/CodeGenCXX/pod-member-memcpys.cpp
clang/test/CodeGenCXX/regcall.cpp
clang/test/CodeGenCXX/runtime-dllstorage.cpp
clang/test/CodeGenCXX/static-destructor.cpp
clang/test/CodeGenCXX/virtual-bases.cpp
clang/test/CodeGenCXX/wasm-eh.cpp
clang/test/CodeGenCXX/x86_32-arguments.cpp
clang/test/CodeGenCXX/x86_64-arguments.cpp
clang/test/CodeGenCoroutines/coro-await.cpp
clang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
clang/test/CodeGenCoroutines/coro-params.cpp
clang/test/CodeGenObjC/arc-blocks.m
clang/test/CodeGenObjC/debug-info-blocks.m
clang/test/CodeGenObjC/strong-in-c-struct.m
clang/test/CodeGenObjC/weak-in-c-struct.m
clang/test/CodeGenObjCXX/arc-indirect.mm
clang/test/CodeGenObjCXX/arc-mangle.mm
clang/test/CodeGenObjCXX/implicit-copy-constructor.mm
clang/test/CodeGenObjCXX/microsoft-abi-arc-param-order.mm
clang/test/CodeGenObjCXX/property-object-reference-2.mm
clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
clang/test/OpenMP/declare_reduction_codegen.c
clang/test/OpenMP/declare_reduction_codegen.cpp
clang/test/OpenMP/for_reduction_codegen.cpp
clang/test/OpenMP/for_reduction_codegen_UDR.cpp
clang/test/OpenMP/function-attr.cpp
clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
clang/test/OpenMP/openmp_offload_registration.cpp
clang/test/OpenMP/parallel_reduction_codegen.cpp
clang/test/OpenMP/sections_reduction_codegen.cpp
clang/test/OpenMP/single_codegen.cpp
clang/test/OpenMP/target_codegen_registration.cpp
clang/test/OpenMP/target_depend_codegen.cpp
clang/test/OpenMP/target_enter_data_depend_codegen.cpp
clang/test/OpenMP/target_exit_data_depend_codegen.cpp
clang/test/OpenMP/target_parallel_codegen_registration.cpp
clang/test/OpenMP/target_parallel_depend_codegen.cpp
clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
clang/test/OpenMP/target_simd_codegen_registration.cpp
clang/test/OpenMP/target_simd_depend_codegen.cpp
clang/test/OpenMP/target_teams_codegen_registration.cpp
clang/test/OpenMP/target_teams_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
clang/test/OpenMP/target_update_depend_codegen.cpp
clang/test/OpenMP/task_codegen.cpp
clang/test/OpenMP/task_firstprivate_codegen.cpp
clang/test/OpenMP/task_private_codegen.cpp
clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
clang/test/OpenMP/taskloop_private_codegen.cpp
clang/test/OpenMP/taskloop_reduction_codegen.cpp
clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
clang/test/OpenMP/taskloop_simd_private_codegen.cpp
clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
clang/test/OpenMP/threadprivate_codegen.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/test/Assembler/block-labels.ll
llvm/test/Assembler/byval-type-attr.ll
llvm/test/Assembler/call-nonzero-program-addrspace-2.ll
llvm/test/Assembler/incorrect-tdep-attrs-parsing.ll
llvm/test/Assembler/invalid-arg-num-1.ll
llvm/test/Assembler/invalid-arg-num-2.ll
llvm/test/Assembler/invalid-arg-num-3.ll
llvm/test/Bindings/llvm-c/debug_info.ll
llvm/test/Bitcode/attributes-3.3.ll
llvm/test/Bitcode/attributes.ll
llvm/test/Bitcode/avr-calling-conventions.ll
llvm/test/CodeGen/AMDGPU/rewrite-out-arguments-address-space.ll
llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll
llvm/test/CodeGen/WinEH/wineh-comdat.ll
llvm/test/CodeGen/X86/win32-eh-available-externally.ll
llvm/test/Feature/strip_names.ll
llvm/test/Instrumentation/DataFlowSanitizer/abilist.ll
llvm/test/Instrumentation/DataFlowSanitizer/debug-nonzero-labels.ll
llvm/test/Instrumentation/DataFlowSanitizer/memset.ll
llvm/test/LTO/Resolution/X86/comdat.ll
llvm/test/Linker/comdat16.ll
llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
llvm/test/Transforms/ArgumentPromotion/naked_functions.ll
llvm/test/Transforms/Coroutines/coro-early.ll
llvm/test/Transforms/FunctionAttrs/align.ll
llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll
llvm/test/Transforms/FunctionAttrs/dereferenceable.ll
llvm/test/Transforms/FunctionAttrs/naked_functions.ll
llvm/test/Transforms/FunctionAttrs/noalias_returned.ll
llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
llvm/test/Transforms/FunctionAttrs/nosync.ll
llvm/test/Transforms/FunctionAttrs/nounwind.ll
llvm/test/Transforms/FunctionAttrs/readnone.ll
llvm/test/Transforms/FunctionAttrs/willreturn.ll
llvm/test/Transforms/GlobalOpt/naked_functions.ll
llvm/test/Transforms/JumpThreading/thread-loads.ll
llvm/test/Transforms/LICM/hoisting.ll
llvm/test/Transforms/MergeFunc/comdat.ll
llvm/test/Transforms/MergeFunc/phi-check-blocks.ll
llvm/test/Transforms/MergeFunc/weak-small.ll
llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
llvm/unittests/IR/AsmWriterTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65582.212824.patch
Type: text/x-patch
Size: 471493 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190801/9840625c/attachment-0001.bin>
More information about the cfe-commits
mailing list