23

I was reading through this document http://llvm.org/docs/WritingAnLLVMPass.html, where in I came across CallGraphSCCPass. I searched for SCC abbreviation, but wasn't able to find one. What does SCC stand for? Where can I read more about it?

Chethan Ravindranath
  • 2,001
  • 2
  • 16
  • 28

3 Answers3

26

According to The LLVM Lexicon, It stands for "strongly connected component".

The source-code comments explain it this way:

Because there may be cycles in the call graph, passes of this type operate on the call-graph in SCC order: that is, they process function bottom-up, except for recursive functions, which they process all at once.

(But the only reason I was able to find the lexicon is that I figured out that they must mean "strongly connected component", and then I Googled for that phrase on site:llvm.org to confirm. It doesn't seem to be prominently linked.)

ruakh
  • 175,680
  • 26
  • 273
  • 307
7

I believe it stands for Strongly Connected Components, since that documentation talks about Tarjan's algorithm.

Mat
  • 202,337
  • 40
  • 393
  • 406
2

SCC = Strongly connected component