| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
ImmutableSet/ImmtuableMap/ImmutableList APIs.
Along the way, clean up some method names in
the static analyzer so that they are more
descriptive and/or start with lowercase letters.
llvm-svn: 120071
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
followed by an open for every source file we open, probe the file system with
'open' and then do an fstat when it succeeds. open+fstat is faster than
stat+open because the kernel only has to perform the string->inode mapping
once. Presumably it gets faster the deeper in your filesystem a lookup
happens.
For -Eonly on cocoa.h, this reduces system time from 0.042s to 0.039s on
my machine, a 7.7% speedup.
llvm-svn: 120066
|
| |
|
|
|
|
|
|
| |
Not sure what I was thinking before.
Fixes PR8668.
llvm-svn: 120063
|
| |
|
|
|
|
| |
leak a filedescriptor if a client ever starts returning one.
llvm-svn: 120062
|
| |
|
|
| |
llvm-svn: 120061
|
| |
|
|
|
|
|
|
|
| |
pointer that is passed down through the APIs, and make
FileSystemStatCache::get be the one that filters out
directory lookups that hit files. This also paves the
way to have stat queries be able to return opened files.
llvm-svn: 120060
|
| |
|
|
|
|
|
| |
which simplifies clients and is important for future directions.
Add a FD member to FileEntry which isn't used but will be shortly.
llvm-svn: 120056
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Default argument expressions pick up the value kind of the incoming
expression, not the value kind of the parameter it initializes.
- When building a template argument for substitution, A::x is an rvalue
if x is an instance method.
- Anonymous struct/union paths pick up value kind the same way that
normal member accesses do; extract out a common code path for this.
Enable the value-kind assertion, now that it passes self-host.
llvm-svn: 120055
|
| |
|
|
| |
llvm-svn: 120053
|
| |
|
|
| |
llvm-svn: 120048
|
| |
|
|
| |
llvm-svn: 120039
|
| |
|
|
| |
llvm-svn: 120038
|
| |
|
|
|
|
| |
method in FileSystemStatCache.
llvm-svn: 120037
|
| |
|
|
|
|
|
| |
MemoryBuffer::getFile, causing us to pick up a fstat for
every file. Restore the optimization.
llvm-svn: 120032
|
| |
|
|
|
|
| |
the result code of the stat to/from the PCH file since it is always 0.
llvm-svn: 120031
|
| |
|
|
|
|
|
| |
its own header and giving it some more structure. No
functionality change.
llvm-svn: 120030
|
| |
|
|
|
|
|
|
|
|
| |
two copies, since they are fundamentally different
operations and the StringRef one should go away
(it shouldn't be part of FileManager at least).
Remove some dead arguments.
llvm-svn: 120013
|
| |
|
|
|
|
| |
client should just pass in absolute paths.
llvm-svn: 120012
|
| |
|
|
|
|
| |
this code. no functionality change.
llvm-svn: 120011
|
| |
|
|
|
|
|
|
|
| |
FileSystemOpts through a ton of apis, simplifying a lot of code.
This also fixes a latent bug in ASTUnit where it would invoke
methods on FileManager without creating one in some code paths
in cindextext.
llvm-svn: 120010
|
| |
|
|
|
|
|
| |
to simplify a bunch of code in it. It should ultimately get inlined
into FileManager.
llvm-svn: 120007
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch completely defeated the "passing in a prestat'd size
to MemoryBuffer" optimization, leading to an extra fstat call for
every buffer opened, in order to find out if the datestamp and size
of the file on disk matches what is in the stat cache.
I fully admit that I don't completely understand what is going on here:
why punish code when a stat cache isn't in use? what is the point of a
stat cache if you have to turn around and stat stuff to validate it?
To resolve both these issues, just drop the modtime check and check the
file size, which is the important thing anyway. This should also resolve
PR6812, because presumably windows is stable when it comes to file sizes.
If the modtime is actually important, we should get it and keep it on the
first stat.
This eliminates 833 fstat syscalls when processing Cocoa.h, speeding up
system time on -Eonly Cocoa.h from 0.041 to 0.038s.
llvm-svn: 120001
|
| |
|
|
|
|
| |
Documentation: http://msdn.microsoft.com/en-us/library/z2cx9y4f.aspx
llvm-svn: 120000
|
| |
|
|
| |
llvm-svn: 119997
|
| |
|
|
| |
llvm-svn: 119996
|
| |
|
|
| |
llvm-svn: 119995
|
| |
|
|
|
|
|
|
|
|
|
| |
1. "no 'else' after 'return'" -- this is for conformance with the
coding standards.
2. move 'else' to the line of the previous '}' -- this is for consistency.
Reviewed by kremenek.
llvm-svn: 119983
|
| |
|
|
|
|
| |
that aren't i8 arrays.
llvm-svn: 119980
|
| |
|
|
|
|
| |
testable via -ast-dump.
llvm-svn: 119971
|
| |
|
|
|
|
| |
correct.
llvm-svn: 119969
|
| |
|
|
| |
llvm-svn: 119968
|
| |
|
|
| |
llvm-svn: 119966
|
| |
|
|
| |
llvm-svn: 119965
|
| |
|
|
| |
llvm-svn: 119960
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
stdlib.h. There were numerous problems with forward declaring 'malloc' and
'free', but the most important is that these are reserved by POSIX and may be
implemented via a function-like macro.
As suggested by Dale Johannesen, I'm instead guarding the only include of this
in our builtin headers with __STDC_HOSTED__, and I've removed the include of
the header from the test suite. I'll discuss with folks whether we want to have
a hosted section of the test suite or not, and add it (and perhaps other tests)
back there if that's the direction.
llvm-svn: 119958
|
| |
|
|
| |
llvm-svn: 119957
|
| |
|
|
| |
llvm-svn: 119956
|
| |
|
|
| |
llvm-svn: 119955
|
| |
|
|
| |
llvm-svn: 119946
|
| |
|
|
|
|
| |
- Negative ChainingSize doesn't make sense, make it unsigned.
llvm-svn: 119943
|
| |
|
|
|
|
| |
seperator.
llvm-svn: 119939
|
| |
|
|
| |
llvm-svn: 119935
|
| |
|
|
|
|
| |
form.
llvm-svn: 119934
|
| |
|
|
| |
llvm-svn: 119924
|
| |
|
|
|
|
|
|
|
|
|
| |
A new AST node is introduced:
def IndirectField : DDecl<Value>;
IndirectFields are injected into the anonymous's parent scope and chain back to
the original field. Name lookup for anonymous entities now result in an
IndirectFieldDecl instead of a FieldDecl.
There is no functionality change, the code generated should be the same.
llvm-svn: 119919
|
| |
|
|
| |
llvm-svn: 119915
|
| |
|
|
| |
llvm-svn: 119900
|
| |
|
|
| |
llvm-svn: 119899
|
| |
|
|
| |
llvm-svn: 119897
|
| |
|
|
|
|
|
|
|
|
| |
expands to nothing"
and use a better and more general approach, where NullStmt has a flag to indicate whether it was preceded by an empty macro.
Thanks to Abramo Bagnara for the hint!
llvm-svn: 119887
|