Douglas Gregor
3f09de6442
Introduce a module map for (some of) the compiler-supplied
...
headers. The remaining headers require more sophisticated
requirements; they'll be handled separately. Part of
<rdar://problem/10710060>.
llvm-svn: 149206
2012-01-29 20:52:14 +00:00
Fariborz Jahanian
715fdd53a6
revert r149184
...
llvm-svn: 149205
2012-01-29 20:27:13 +00:00
Douglas Gregor
e212489fef
Switch over to LLVM's file-level locking facility
...
llvm-svn: 149204
2012-01-29 20:15:24 +00:00
Douglas Gregor
7039e358fc
Move Clang's file-level locking facility over to LLVM's support
...
library, since it doesn't really have anything to do with Clang.
llvm-svn: 149203
2012-01-29 20:15:10 +00:00
Douglas Gregor
4f39919f38
Update line numbers. Sigh
...
llvm-svn: 149202
2012-01-29 20:05:18 +00:00
Douglas Gregor
65412ec682
Also require a proper shell
...
llvm-svn: 149201
2012-01-29 20:04:46 +00:00
Douglas Gregor
e1fbde55dd
Ensure that we clean up after a failed module build and cope with the
...
results in libclang.
llvm-svn: 149200
2012-01-29 19:57:03 +00:00
Douglas Gregor
07f4357b44
Implement code completion support for module import declarations, e.g.,
...
@import <complete with module names here>
or
@import std.<complete with submodule names here>
Addresses <rdar://problem/10710117>.
llvm-svn: 149199
2012-01-29 18:15:03 +00:00
Douglas Gregor
279a6c3747
Rework HeaderSearch's interface for getting a module from a name and
...
for getting the name of the module file, unifying the code for
searching for a module with a given name (into lookupModule()) and
separating out the mapping to a module file (into
getModuleFileName()). No functionality change.
llvm-svn: 149197
2012-01-29 17:08:11 +00:00
Douglas Gregor
dd7cae51d8
Test module lookup within a subdirectory of a normal include directory.
...
llvm-svn: 149196
2012-01-29 16:43:46 +00:00
Anton Korobeynikov
d0c46550fe
Cleanups for EABI standard functions
...
llvm-svn: 149195
2012-01-29 09:11:50 +00:00
Anton Korobeynikov
1b42e64280
Use base AAPCS for varargs functions even for AAPCS-VFP CC
...
llvm-svn: 149194
2012-01-29 09:06:09 +00:00
John McCall
ffa2c1a48e
When emitting an ARC epilogue that looks like a return of 'self',
...
kill the retain from the return site.
This has the workaround nature. It's badness all around.
llvm-svn: 149193
2012-01-29 07:46:59 +00:00
Greg Clayton
bbb032e219
Removed an incorrectly added property from SBTarget.i
...
llvm-svn: 149192
2012-01-29 07:09:30 +00:00
Greg Clayton
13d1950ae6
Added the ability to get the target triple, byte order and address byte size
...
from the SBTarget and SBModule interfaces. Also added many python properties
for easier access to many things from many SB objects.
llvm-svn: 149191
2012-01-29 06:07:39 +00:00
John McCall
6e1c012385
Get a little bit smarter about killing off the ReturnValue alloca
...
in the presence of straight-line cleanups. This is a simple but
important case, particularly for ARC.
llvm-svn: 149190
2012-01-29 02:35:02 +00:00
Jakob Stoklund Olesen
198236edae
Fix some scavenger performance issues.
...
- Don't call malloc+free in the very hot forward().
- Don't call isTiedToDefOperand().
- Don't create BitVector temporaries.
- Merge DeadRegs into KillRegs.
- Eliminate the early clobber checks, they were irrelevant to scavenging.
- Remove unnecessary code from -Asserts builds.
This speeds up ARM PEI by 3.4x and overall llc -O0 codegen time by 11%.
llvm-svn: 149189
2012-01-29 01:29:28 +00:00
Jakob Stoklund Olesen
8b1853ddef
Avoid creating BitVector temporaries.
...
llvm-svn: 149188
2012-01-29 01:29:25 +00:00
Jakob Stoklund Olesen
aaeaae07c4
Add a BitVector::reset(BitVector&) method.
...
The alternative LHS &= ~RHS is way too slow because it creates a
temporary that calls malloc/free.
llvm-svn: 149187
2012-01-29 01:29:22 +00:00
John McCall
eed64c77d2
Complain about attempts to use 'protected' visibility on targets
...
like Darwin that don't support it. We should also complain about
invalid -fvisibility=protected, but that information doesn't seem
to exist at the most appropriate time, so I've left a FIXME behind.
llvm-svn: 149186
2012-01-29 01:20:30 +00:00
Nick Lewycky
1b3167edec
Fix typo.
...
llvm-svn: 149185
2012-01-28 23:33:44 +00:00
Fariborz Jahanian
326efeb95a
objc-arc: Perform null check on receiver before sending methods which
...
consume one or more of their arguments. If not done, this will cause a leak
as method will not consume the argument when receiver is null.
// rdar://10444474
llvm-svn: 149184
2012-01-28 18:46:31 +00:00
Benjamin Kramer
1412816686
Make the __builtin_c[lt]zs builtins target independent.
...
There is really no reason to have these only available on x86. It's
just __builtin_c[tl]z for shorts.
Modernize the test while at it.
llvm-svn: 149183
2012-01-28 18:42:57 +00:00
Bob Wilson
de0c335560
Add a note about a potential optimization for clz/ctz patterns for ARM
...
(and other targets).
llvm-svn: 149182
2012-01-28 18:30:07 +00:00
Bob Wilson
19a2f2bcc0
Use defined-at-zero behavior for CLZ/CTZ builtins on PowerPC.
...
llvm-svn: 149181
2012-01-28 18:02:29 +00:00
James Molloy
b47489d4ef
Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM and MIPS ELF backends.
...
Fixes PR11877
llvm-svn: 149180
2012-01-28 15:58:32 +00:00
Benjamin Kramer
4efe5064c3
Silence GCC's -Wreturn-type warning.
...
llvm-svn: 149179
2012-01-28 15:28:41 +00:00
Benjamin Kramer
11764ab4c0
StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers.
...
llvm-svn: 149178
2012-01-28 12:06:22 +00:00
Abramo Bagnara
365591575d
Added tests for template keyword presence.
...
llvm-svn: 149177
2012-01-28 11:04:22 +00:00
Rafael Espindola
004725876e
Small improvement to the recursion detection logic from the previous commit.
...
llvm-svn: 149175
2012-01-28 06:22:14 +00:00
Rafael Espindola
72f5f170c6
Handle recursive variable definitions directly. This gives us better error
...
messages and allows us to fix PR11865.
llvm-svn: 149174
2012-01-28 05:57:00 +00:00
Argyrios Kyrtzidis
059cac4db4
DiagnosticsEngine::setMappingToAllDiagnostics() does not need to return bool,
...
caught by Chad.
llvm-svn: 149173
2012-01-28 04:35:52 +00:00
Kostya Serebryany
7471d1303d
[asan] correctly use ConstantExpr::getGetElementPtr. Catch by NAKAMURA Takumi
...
llvm-svn: 149172
2012-01-28 04:27:16 +00:00
Jason Molenda
b10ebda354
Fix shell commands that do code signing.
...
llvm-svn: 149171
2012-01-28 04:19:15 +00:00
Greg Clayton
3120dc6261
Bumping Xcode project versions for lldb-109 and debugserver-167.
...
llvm-svn: 149168
2012-01-28 02:48:10 +00:00
Greg Clayton
821ac6ddbd
Added logging so we can see the field names and offsets of any structures
...
for when we enable the assisted layout.
llvm-svn: 149167
2012-01-28 02:22:27 +00:00
Greg Clayton
037f9fda5a
Stop running so many individual commands when going into the script interpreter.
...
All of the commands now get globbed into a single line.
lldb.target, lldb.process, lldb.thread and lldb.frame now get initialized with
empty SBTarget, SBProcess, SBThread and SBFrame objects when they don't contain
anything.
llvm-svn: 149166
2012-01-28 02:11:02 +00:00
Greg Clayton
9f94975ca6
Xcode codesigning is broken. Work around this by doing code signing in a shell script build phase.
...
llvm-svn: 149165
2012-01-28 01:40:47 +00:00
Bill Wendling
8c09040854
Reapply r149159 with a fix to add to a PHI node with a non-null parent.
...
llvm-svn: 149164
2012-01-28 01:17:56 +00:00
Lang Hames
d78ec25e65
Remove code that adds live ranges for dead defs. It seems to be breaking things.
...
llvm-svn: 149163
2012-01-28 01:17:01 +00:00
Bill Wendling
fa5ad212f8
Revert r149159 until I can fix tests.
...
llvm-svn: 149162
2012-01-28 01:10:01 +00:00
Douglas Gregor
44ba7899c4
Allow the external AST source to provide a layout without specifying
...
the alignment (because it's not encoded in DWARF). In this case, make
an educated guess at the alignment.
llvm-svn: 149161
2012-01-28 00:53:29 +00:00
Greg Clayton
caab74e02d
Adding the DWARF parser side for assited layout where the AST context
...
will ask ExternalASTSource objects to help laying out a type. This is needed
because the DWARF typically doesn't contain alignement or packing attribute
values, and we need to be able to match up types that the compiler uses
in expressions.
llvm-svn: 149160
2012-01-28 00:48:57 +00:00
Bill Wendling
b4544544a6
Don't always create a separate block for the call to _Unwind_Resume.
...
Sometimes there is only one 'resume' instruction per function. In those
situations, we don't need a separate block for the call to _Unwind_Resume. In
fact, it adds a lot of overhead to code-gen if we do that -- especially at -O0.
If we have a single 'resume' instruction, just generate the call within that
block.
<rdar://problem/10694814>
llvm-svn: 149159
2012-01-28 00:47:18 +00:00
Howard Hinnant
9aa4684fbb
Minor updates to a couple of comments.
...
llvm-svn: 149158
2012-01-28 00:34:46 +00:00
Howard Hinnant
ece71ead6d
Add a little paranoia for testing purposes.
...
llvm-svn: 149157
2012-01-28 00:32:31 +00:00
Howard Hinnant
805036cc83
Minor header fixups for test.
...
llvm-svn: 149156
2012-01-28 00:30:38 +00:00
Howard Hinnant
44e3703639
Silence a warning.
...
llvm-svn: 149155
2012-01-28 00:29:27 +00:00
Howard Hinnant
ad048719a7
Sometimes it takes all day to write a decent comment. This is one of those times, and I'm still not quite sure I have them correct.
...
llvm-svn: 149154
2012-01-28 00:28:31 +00:00
David Greene
ebb006fc3d
Fix Record Name Reference
...
Get the record name though the init to avoid an assert.
llvm-svn: 149153
2012-01-28 00:03:24 +00:00