Page MenuHomePhabricator

[IR] Add DICallSiteParam and new params field to DILocation
Needs ReviewPublic

Authored by milica-lazarevic on Dec 30 2021, 5:03 AM.

Details

Summary

New kind of MDNode - DICallSiteParam has been added. DICallSiteParam should describe function arguments at call site, whenever it's posible. It coresponds to DWARF tag DW_TAG_call_site_parameter.

New params field has been added to DILocation type. Params field represents an array of DICallSiteParam elements. It should be attached to call instructions and describe values that has being passed to function. Later in pipeline, we're trying to interpret those caller site values as DWARF tag DW_TAG_call_site_parameter.

Diff Detail

Unit TestsFailed

TimeTest
50 msx64 debian > LLVM.Bindings/Go::go.test
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llvm-go go=/usr/bin/go test llvm.org/llvm/bindings/go/llvm

Event Timeline

milica-lazarevic requested review of this revision.Dec 30 2021, 5:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 30 2021, 5:03 AM

Mechanically this looks fine. You will need to add some assembler round-trip test cases to llvm/test/Assembler. Can you explain what feature this is going to enable and in which pass you are intending to produce the new DINode?