Page MenuHomePhabricator

necipfazil (Necip Fazil Yildiran)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 6 2021, 10:22 AM (11 w, 4 d)

Recent Activity

Jul 29 2021

necipfazil added a comment to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Tomorrow is the last day of my internship. I would like to address any issues before then.

You may continue working on this or ask mentors for help:)
I added some reviewers to your previous patches and made some comments by myself.
(But the important thing is that the duration of internship cannot be used to skip review process, especially for such a patch which needs to touch so many components in llvm-project.)

Jul 29 2021, 6:42 PM · Restricted Project
necipfazil added a comment to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Could you please take another look, @MaskRay?

Jul 29 2021, 4:29 PM · Restricted Project
necipfazil updated the diff for D107038: [Bitcode][Asm] Parse metadata value from operand bundles.

Add reference to the bug report for reading metadata operand bundle values out

Jul 29 2021, 4:13 PM · Restricted Project
necipfazil updated the diff for D107033: [llvm-objdump][CallGraphInfo] Parse .callgraph section.

Use stable iteration order and adapt tests

Jul 29 2021, 4:09 PM · Restricted Project
necipfazil updated the diff for D107032: [llvm-objdump][CallGraphInfo][NFC] Introduce FunctionKind enum.

Fix docs

Jul 29 2021, 4:00 PM · Restricted Project
necipfazil updated the diff for D107030: [llvm-objdump][CallGraphInfo] Extract and print call site info.

Adapt tests to stable function order, refactor FunctionInfo::DirectCallSite

Jul 29 2021, 3:56 PM · Restricted Project
necipfazil updated the diff for D107029: [llvm-objdump][CallGraphInfo] Add CallGraphInfo option, extract functions.

Use stable iteration order for functions

Jul 29 2021, 3:42 PM · Restricted Project
necipfazil added a comment to D107039: [Bitcode][Asm] Read metadata value from operand bundles in and out.

Could you add a TODO in the new code (maybe https://reviews.llvm.org/D107038) that refers to the bug?

Jul 29 2021, 3:25 PM · Restricted Project
necipfazil updated the diff for D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

ADd further docs for FunctionKind

Jul 29 2021, 3:24 PM · Restricted Project
necipfazil updated the diff for D107038: [Bitcode][Asm] Parse metadata value from operand bundles.

Return error if operand bundle value type cannot be parsed

Jul 29 2021, 3:20 PM · Restricted Project
necipfazil updated the diff for D107028: [llvm-objdump][NFC] Add quiet disassembly.

Fix nit

Jul 29 2021, 3:13 PM · Restricted Project
necipfazil abandoned D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.

Abandoning this revision as it is split.

Jul 29 2021, 3:10 PM · Restricted Project
necipfazil abandoned D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.
Jul 29 2021, 3:05 PM · Restricted Project
necipfazil added a reviewer for D107111: [CallSiteInfo][CallGraphSection] Extract and propagate indirect call type ids: djtodoro.
Jul 29 2021, 3:04 PM · Restricted Project
necipfazil added a reviewer for D107110: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo with TypeId: djtodoro.
Jul 29 2021, 3:04 PM · Restricted Project
necipfazil added a reviewer for D107109: [CallSiteInfo][NFC] CallSiteInfo -> CallSiteInfo.ArgRegPairs: djtodoro.
Jul 29 2021, 3:04 PM · Restricted Project
necipfazil added a reviewer for D107108: [MIPS][CallSiteInfo][NFC] Fill CallSiteInfo only when needed: djtodoro.
Jul 29 2021, 3:04 PM · Restricted Project
necipfazil added a comment to D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

This patch is split to 4 per @vitalybuka's feedback: D107108, D107109, D107110, D107111.

Jul 29 2021, 2:53 PM · Restricted Project
necipfazil added inline comments to D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.
Jul 29 2021, 2:51 PM · Restricted Project
necipfazil added reviewers for D107111: [CallSiteInfo][CallGraphSection] Extract and propagate indirect call type ids: llvm-commits, kcc, morehouse, vitalybuka.
Jul 29 2021, 2:48 PM · Restricted Project
necipfazil added reviewers for D107110: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo with TypeId: llvm-commits, kcc, morehouse, vitalybuka.
Jul 29 2021, 2:48 PM · Restricted Project
necipfazil added reviewers for D107109: [CallSiteInfo][NFC] CallSiteInfo -> CallSiteInfo.ArgRegPairs: llvm-commits, kcc, morehouse, vitalybuka.
Jul 29 2021, 2:47 PM · Restricted Project
necipfazil added reviewers for D107108: [MIPS][CallSiteInfo][NFC] Fill CallSiteInfo only when needed: kcc, morehouse, vitalybuka, llvm-commits.
Jul 29 2021, 2:47 PM · Restricted Project
necipfazil requested review of D107111: [CallSiteInfo][CallGraphSection] Extract and propagate indirect call type ids.
Jul 29 2021, 2:42 PM · Restricted Project
necipfazil requested review of D107110: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo with TypeId.
Jul 29 2021, 2:42 PM · Restricted Project
necipfazil requested review of D107109: [CallSiteInfo][NFC] CallSiteInfo -> CallSiteInfo.ArgRegPairs.
Jul 29 2021, 2:41 PM · Restricted Project
necipfazil requested review of D107108: [MIPS][CallSiteInfo][NFC] Fill CallSiteInfo only when needed.
Jul 29 2021, 2:41 PM · Restricted Project

Jul 28 2021

necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Fix nit

Jul 28 2021, 11:39 PM · Restricted Project, Restricted Project
necipfazil added a comment to D107039: [Bitcode][Asm] Read metadata value from operand bundles in and out.

Please mark the following bug report resolved when this is fixed: https://bugs.llvm.org/show_bug.cgi?id=51264

Jul 28 2021, 11:33 PM · Restricted Project
necipfazil abandoned D106523: [Bitcode][Asm] Parse metadata value from operand bundles.

Abandoning this revision since it is split to two:

Jul 28 2021, 11:21 PM · Restricted Project
necipfazil added reviewers for D107039: [Bitcode][Asm] Read metadata value from operand bundles in and out: kcc, morehouse.
Jul 28 2021, 11:15 PM · Restricted Project
necipfazil added reviewers for D107038: [Bitcode][Asm] Parse metadata value from operand bundles: kcc, morehouse.
Jul 28 2021, 11:15 PM · Restricted Project
necipfazil added a comment to D107038: [Bitcode][Asm] Parse metadata value from operand bundles.

The reason why metadata values cannot be explicity tested is that we cannot read them out. See D107039. A potential fix to D107039 might involve BitcodeReader/Writer.

Jul 28 2021, 11:14 PM · Restricted Project
necipfazil requested review of D107039: [Bitcode][Asm] Read metadata value from operand bundles in and out.
Jul 28 2021, 11:09 PM · Restricted Project
necipfazil requested review of D107038: [Bitcode][Asm] Parse metadata value from operand bundles.
Jul 28 2021, 11:07 PM · Restricted Project
necipfazil updated the diff for D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Add function begin symbol for call graph section if does not exist

Jul 28 2021, 10:26 PM · Restricted Project
necipfazil added a comment to D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.
Jul 28 2021, 10:08 PM · Restricted Project
necipfazil added reviewers for D107033: [llvm-objdump][CallGraphInfo] Parse .callgraph section: kcc, morehouse.
Jul 28 2021, 9:57 PM · Restricted Project
necipfazil added reviewers for D107032: [llvm-objdump][CallGraphInfo][NFC] Introduce FunctionKind enum: kcc, morehouse.
Jul 28 2021, 9:57 PM · Restricted Project
necipfazil added reviewers for D107031: [llvm-objdump][CallGraphInfo] Get .callgraph section: kcc, morehouse.
Jul 28 2021, 9:57 PM · Restricted Project
necipfazil added reviewers for D107030: [llvm-objdump][CallGraphInfo] Extract and print call site info: kcc, morehouse.
Jul 28 2021, 9:56 PM · Restricted Project
necipfazil added reviewers for D107029: [llvm-objdump][CallGraphInfo] Add CallGraphInfo option, extract functions: kcc, morehouse.
Jul 28 2021, 9:56 PM · Restricted Project
necipfazil added reviewers for D107028: [llvm-objdump][NFC] Add quiet disassembly: kcc, morehouse.
Jul 28 2021, 9:55 PM · Restricted Project
necipfazil requested review of D107033: [llvm-objdump][CallGraphInfo] Parse .callgraph section.
Jul 28 2021, 9:53 PM · Restricted Project
necipfazil requested review of D107032: [llvm-objdump][CallGraphInfo][NFC] Introduce FunctionKind enum.
Jul 28 2021, 9:52 PM · Restricted Project
necipfazil requested review of D107031: [llvm-objdump][CallGraphInfo] Get .callgraph section.
Jul 28 2021, 9:51 PM · Restricted Project
necipfazil requested review of D107030: [llvm-objdump][CallGraphInfo] Extract and print call site info.
Jul 28 2021, 9:50 PM · Restricted Project
necipfazil requested review of D107029: [llvm-objdump][CallGraphInfo] Add CallGraphInfo option, extract functions.
Jul 28 2021, 9:50 PM · Restricted Project
necipfazil requested review of D107028: [llvm-objdump][NFC] Add quiet disassembly.
Jul 28 2021, 9:49 PM · Restricted Project

Jul 22 2021

necipfazil updated the diff for D105907: [CallGraphSection] Add call graph section options and documentation.

Fix nits in documentation and tests

Jul 22 2021, 11:04 PM · Restricted Project, Restricted Project
necipfazil updated the diff for D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

Refactor extracting and setting type id
Create a constructor for CallSiteInfo that takes a CallBase instance to encapsulate extracting and setting type id, and any warnings/assertions.

Jul 22 2021, 10:29 PM · Restricted Project
necipfazil added a comment to D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

Has the YAML format of the callSites: (MF attribute) changed? If yes, can you please add a test case that demonstrates that?

Jul 22 2021, 9:43 PM · Restricted Project
necipfazil updated the diff for D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

Add typeId to callSites YAML format, add tests

  • MIRPrinter/MIRParser: Parse/print CallSiteInfo::TypeId. This also enables better testing of the feature.
  • Add tests: Test MIRPrinter/MIRParser. Test that call site type ids can be extracted and set from type operand bundles.
  • Fix nits.
Jul 22 2021, 9:40 PM · Restricted Project
necipfazil updated the diff for D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

MipsISelLowering: Fill CallSiteInfo::ArgRegPairs only if -emit-call-site-info
ArgRegPairs was always filled but the container CallSiteInfo instance was only passed to DAG if -emit-call-site-info. Now we pass the CallSiteInfo instance to DAG when --call-graph-section as well. Avoid superfluous ArgRegPairs by filling them only when -emit-call-site-info.

Jul 22 2021, 9:35 PM · Restricted Project
necipfazil added inline comments to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.
Jul 22 2021, 3:16 PM · Restricted Project
necipfazil updated the diff for D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Several fixes and refactoring

  • Emit call graph section per function right after the function information is gathered rather than collection all and emitting once. This simplifies the code with less book keeping. Also, emitting the section at AsmPrinter::doFinalization() was wrong, leading to linker issues when section is not linked with function symbol.
  • Use function begin symbol as function entry label in call graph section. Avoid emitting yet another temp symbol.
  • Fix MCObjectFileInfo::getCallGraphSection(). Create section based on text section instead of the function symbol.
  • Move FunctionKind to AsmPrinter::FunctionInfo to make the FunctionKind values clear to call graph section consumers.
  • Propagate some more call graph section logic from AsmPrinter::emitFunctionBody() to AsmPrinter::emitCallGraphSection(). This also means less bookkeeping in AsmPrinter::FunctionInfo.
Jul 22 2021, 3:15 PM · Restricted Project
necipfazil added inline comments to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.
Jul 22 2021, 1:18 PM · Restricted Project
necipfazil added inline comments to D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
Jul 22 2021, 1:06 PM · Restricted Project, Restricted Project
necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Verify type operand bundle usage

  • Check if type operand bundle id is drifted
  • Verify and complain if multiple type operand bundles are used
  • Add type operand bundle test to operand bundle verifier tests
Jul 22 2021, 1:05 PM · Restricted Project, Restricted Project
necipfazil added a comment to D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

@morehouse PTAL

Jul 22 2021, 10:30 AM · Restricted Project, Restricted Project
necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Fix lint

Jul 22 2021, 10:29 AM · Restricted Project, Restricted Project

Jul 21 2021

necipfazil added a comment to D106523: [Bitcode][Asm] Parse metadata value from operand bundles.

This is needed for D105909 since it attaches type identifiers to call sites as operand bundles with metadata value. Now we can successfully compile LLVM IR with metadata operand bundles to object file while preserving the bundle value.

Jul 21 2021, 10:54 PM · Restricted Project
necipfazil added a comment to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

D106523 fixes the issue with llc by parsing metadata value from operand bundles. The test case will pass with this fix.

Jul 21 2021, 10:45 PM · Restricted Project
necipfazil added reviewers for D106523: [Bitcode][Asm] Parse metadata value from operand bundles: morehouse, kcc, sanjoy.
Jul 21 2021, 10:43 PM · Restricted Project
necipfazil requested review of D106523: [Bitcode][Asm] Parse metadata value from operand bundles.
Jul 21 2021, 10:40 PM · Restricted Project
necipfazil added inline comments to D105916: [AsmPrinter][CallGraphSection] Emit call graph section.
Jul 21 2021, 6:27 PM · Restricted Project
necipfazil updated the diff for D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Fix creating call graph section

  • For call graph section, set SHF_GROUP if the text section has.
  • Remove XFAIL from test. A seperate revision to fix llc will be sent.
  • Fix nits.
Jul 21 2021, 6:27 PM · Restricted Project
necipfazil added inline comments to D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.
Jul 21 2021, 3:34 PM · Restricted Project
necipfazil updated the diff for D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.

Fix small nits

Jul 21 2021, 3:33 PM · Restricted Project

Jul 17 2021

necipfazil updated the diff for D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.

Adapt to the new call graph section layout, refactor

  • Parse the call graph section based on the new section layout
  • Refactor code for readability and efficiency
  • Account for functions that call graph section has no info for, and them as indirect target with unknown type id.
  • Add additional warning messages (for functions that call graph section has no info for)
Jul 17 2021, 9:02 PM · Restricted Project
necipfazil updated the diff for D105916: [AsmPrinter][CallGraphSection] Emit call graph section.

Adapt to new call graph section layout, no longer use comdats

  • Emit the call graph section following the new call graph section layout.
  • No longer use comdats. Instead, use only SHF_LINK_ORDER to link call graph sections to function symbols.
  • The code is refactored with usage of better data-structures. This increased the readability and the efficiency.
Jul 17 2021, 8:46 PM · Restricted Project
necipfazil abandoned D105911: [CallGraphSection] Introduce CGSectionFuncComdatCreator pass.

Are comdats needed? Can we get proper dead stripping with just SHF_LINK_ORDER?

Jul 17 2021, 7:46 PM · Restricted Project, Restricted Project
necipfazil updated the diff for D105907: [CallGraphSection] Add call graph section options and documentation.

Change call graph section layout

Jul 17 2021, 7:42 PM · Restricted Project, Restricted Project

Jul 16 2021

necipfazil updated the diff for D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.

Extract callsite type ids from operand bundles instead of from metadata

  • Parent commit now passes callsite type ids through operand bundles. Adapt type id extraction to the changes.
  • Fix a few nits
Jul 16 2021, 12:48 PM · Restricted Project
necipfazil added a comment to D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Also, have you looked into operand bundles instead of metadata? I don't know much about them, but they might help with the optimizations-dropping-metadata problem.

Jul 16 2021, 11:51 AM · Restricted Project, Restricted Project
necipfazil abandoned D106172: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Please disregard this revision.

Jul 16 2021, 11:47 AM · Restricted Project, Restricted Project
necipfazil requested review of D106172: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
Jul 16 2021, 11:43 AM · Restricted Project, Restricted Project
necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Use operand bundles for callsite type ids

  • Use (unlossy) operand bundles for propagating indirect callsite type ids
  • No longer use type metadata for indirect callsites
  • Adapt the tests to the changes
Jul 16 2021, 11:43 AM · Restricted Project, Restricted Project

Jul 15 2021

necipfazil updated the diff for D105907: [CallGraphSection] Add call graph section options and documentation.
  • test new clang flags
  • rebase
Jul 15 2021, 9:15 AM · Restricted Project, Restricted Project
necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
  • rebase
  • add C struct parameter test
  • add C++ tests
Jul 15 2021, 8:52 AM · Restricted Project, Restricted Project
necipfazil added inline comments to D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
Jul 15 2021, 8:43 AM · Restricted Project, Restricted Project

Jul 13 2021

necipfazil updated the diff for D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.

Several review comments are addressed

Jul 13 2021, 9:09 PM · Restricted Project, Restricted Project
necipfazil added inline comments to D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
Jul 13 2021, 8:54 PM · Restricted Project, Restricted Project
necipfazil updated the diff for D105907: [CallGraphSection] Add call graph section options and documentation.

rebase, fix nits in docs

Jul 13 2021, 5:32 PM · Restricted Project, Restricted Project
necipfazil abandoned D105949: [llvm-objdump][CallGraphSection] Extract call graph information from binary.

This revision was created by mistake . Please disregard.

Jul 13 2021, 5:23 PM · Restricted Project
necipfazil requested review of D105949: [llvm-objdump][CallGraphSection] Extract call graph information from binary.
Jul 13 2021, 5:18 PM · Restricted Project
necipfazil added inline comments to D105907: [CallGraphSection] Add call graph section options and documentation.
Jul 13 2021, 1:42 PM · Restricted Project, Restricted Project
necipfazil requested review of D105917: [llvm-objdump][CallGraphSection] Extract call graph information from binary.
Jul 13 2021, 10:42 AM · Restricted Project
necipfazil requested review of D105916: [AsmPrinter][CallGraphSection] Emit call graph section.
Jul 13 2021, 10:39 AM · Restricted Project
necipfazil requested review of D105915: [CallSiteInfo][CallGraphSection] Extend CallSiteInfo for indirect call type ids.
Jul 13 2021, 10:35 AM · Restricted Project
necipfazil requested review of D105911: [CallGraphSection] Introduce CGSectionFuncComdatCreator pass.
Jul 13 2021, 10:30 AM · Restricted Project, Restricted Project
necipfazil requested review of D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets.
Jul 13 2021, 10:22 AM · Restricted Project, Restricted Project
necipfazil requested review of D105907: [CallGraphSection] Add call graph section options and documentation.
Jul 13 2021, 10:06 AM · Restricted Project, Restricted Project