clattner at apple.com
Mon Jan 21 09:44:39 PST 2013
On Jan 21, 2013, at 5:08 AM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote:
> On 1/21/2013 12:35 AM, Chris Lattner wrote:
>> I'm confused here. You're acting as though we don't use the STL. In fact, we do use std::string, std::vector, std::map etc when they are the right solution for the job.
> I'm trying to understand the reasoning behind the decisions made at the beginning of LLVM. My working assumption is that ADT didn't exist when LLVM started (whereas STL did).
Right. LLVM started using the stl much more pervasively. When I (and others) started using an actual profiler on it (2006 or later?) ADT started coming into existence.
> In such case, I'm assuming that creation of ADT was motivated by needs of LLVM that STL didn't meet. I'm trying to understand what the needs were and where STL was considered inadequate. Creating a new set of containers is an investment, so, again, I'm assuming that there were specific motives that caused that investment to be made. Benjamin's answer was actually very informative, that was that kind of information I was looking for.
As DannyB says, the best way to find this is svn history. Look at and near the commits that added SmallVector.h or whatever.
More information about the llvm-dev