Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m not sure if this is a subjective question, I hope not but I\'m not proficie

ID: 655529 • Letter: I

Question

I'm not sure if this is a subjective question, I hope not but I'm not proficient with LLVM so I'm just wondering: how come it's become so popular and so widespread used in the industry?

Were the optimization algorithms used in gcc/icc/msvc just worse than the LLVM ones? Is it possible that a university project managed to outperform such known and long-standing compilers? I know that LLVM is modular, but can then a design be the cause of that much success?

I can't understand the real reasons behind that, this is also probably related to a subjective question like "is the success of a software always related to a new or semi-new algorithm that speeds something up?" but I'd like to get objective reasons to my first question if possible

Explanation / Answer

The license of LLVM is more acceptable to some companies, thus creating a greater current critical mass of corporate sponsored/paid development of the tool suite for certain architectures/languages.

The division between compiler components/front/back/ends has a cleaner (resulting from being newer) specification in LLVM, and thus presents a lower hurdle for new developers.

The effect of the new algorithms was that research implementers needed a place to put them to experiment with them without digging through as much legacy compiler architecture, which may be another reason for the newer specified modularity.