On Dec 16, 2005, at 11:47 AM, Daniel Berlin wrote:
On Fri, 2005-12-16 at 11:27 -0800, Chris Lattner wrote:
On Dec 16, 2005, at 11:15 AM, Mark K. Smith wrote:
Additionally to the obstacles to adopt LLVM mentioned by Diego, I
named usage of C++ (although it has advantages too) and patents.
LLVM
should be checked for usage of compiler patents. Gcc people avoided
many patents especially from Microsoft. We can not be sure right now
about LLVM.
The confusion is basically centered around the distinction between my
PhD research work and LLVM itself.
The thesis work I did at UIUC does relate closely to Steensgaard's
pointer analysis work, which is patented by Microsoft. However, this
thesis work is not currently used by LLVM, and certainly won't be
incorporated directly into GCC (for obvious patent reasons), so this
isn't an issue with LLVM adoption by GCC.
The sad fact is it probably doesn't matter if it's actually run by
default or not. It is built into the binary, exists in the source
tree,
and *can be run* by simply passing a command line option to opt.
That's the thing. opt isn't part of the C/C++ compiler. This stuff
isn't built into the binary, and cannot be run by passing an option
to the C compiler. It does exist in the (LLVM) source tree, but if
that's an issue, it can be remedied.
This invariably counts as a "making of the patented invention", and is
considered infringement, even if it's not run by default.
If you made it not built into the binary, you would be on more solid
legal ground (but even then they'd still sue you anyway :P).
It's not built into the binary. Again, 'opt' is a developer tool and
not part of the C/C++ front-end (the front-end never invokes opt, etc).
However, I am certainly not a lawyer and defer to those who are :).
If people would be more comfortable with the code out of the *llvm*
distro, I can remove it, just let me know. In any case, this issue
still has nothing to do with GCC integration.
-Chris