Chris Lattner
832323ea41
simplify management of llvm::Function creation to all go through
...
GetAddrOfFunction. This is simpler and more efficient.
llvm-svn: 67444
2009-03-21 08:53:37 +00:00
Chris Lattner
5eaee5692c
code cleanups, rename EmitForwardFunctionDefinition ->
...
CreateFunctionPrototypeIR, though my next patch will eliminate
it entirely.
llvm-svn: 67443
2009-03-21 08:38:50 +00:00
Chris Lattner
6574906818
fix several problems with asm renaming, by pulling it into the mangling code:
...
1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo")
2. multiple definitions were conflicting, they weren't getting merged.
3. the code was duplicated in several places.
llvm-svn: 67442
2009-03-21 08:24:40 +00:00
Chris Lattner
64c55933ed
add some fixmes
...
llvm-svn: 67441
2009-03-21 08:13:05 +00:00
Chris Lattner
a9cb6261bf
reduce redundant calls of getMangledName.
...
llvm-svn: 67440
2009-03-21 08:06:59 +00:00
Chris Lattner
3bfce1887f
simplify some more code.
...
llvm-svn: 67439
2009-03-21 08:03:33 +00:00
Chris Lattner
0c5e3132aa
simplify and comment some code better. Make BindRuntimeGlobals
...
more optimistic that it will work (optimizing for the common case).
llvm-svn: 67438
2009-03-21 07:48:31 +00:00
Chris Lattner
3637652ab3
random code cleanups.
...
llvm-svn: 67437
2009-03-21 07:12:05 +00:00
Chris Lattner
6098e62d56
remove obviously dead code: you can't bitcast a pointer to "Ty" (a function type).
...
llvm-svn: 67436
2009-03-21 06:58:21 +00:00
Chris Lattner
cbeda87da1
add a fastpath to ConstantExpr::getBitCast to handle the case when an obviously
...
unneeded bitcast is requested. This is common for frontends who just unconditionally
cast even if the target is often the right type already. THis prevents going into
getFoldedCast which switches on the opcode and does a bunch of other stuff before
doing the same opzn.
llvm-svn: 67435
2009-03-21 06:55:54 +00:00
Chris Lattner
9e8120e067
avoid making constant folding logic eliminate obviously dead bitcasts, speeding up PR3810
...
by ~2%.
llvm-svn: 67434
2009-03-21 06:53:34 +00:00
Chris Lattner
316e1c19df
continue dancing around the obvious algorithm issues in PR3810:
...
This speeds up getAsIdentifierInfo from being a call to a function
with a big switch to a single testl instruction. This speeds up
the example in PR3810 by 6.2%
llvm-svn: 67433
2009-03-21 06:49:19 +00:00
Chris Lattner
7d5608dd72
add an assertion for unreachable code.
...
llvm-svn: 67432
2009-03-21 06:40:50 +00:00
Chris Lattner
725a26b818
Add a fast path to CodeGenModule::getMangledName for almost all C functions,
...
speeding up the testcase in PR3810 by 60%.
llvm-svn: 67431
2009-03-21 06:31:09 +00:00
Chris Lattner
c2d987425d
partially inline getAttrs() to speed up PR3810 (and lots of
...
other code presumably) by 4.3%
llvm-svn: 67430
2009-03-21 06:27:31 +00:00
Chris Lattner
cfbe9e746f
simplify CXXNameMangler::mangle, making it exit earlier for C functions.
...
This speeds up a testcase in 3810 by ~16%.
llvm-svn: 67429
2009-03-21 06:19:20 +00:00
Chris Lattner
9b62dff5f6
add some inline methods for infix operators on sparse vectors,
...
tidy some df iteration stuff, patch by John Mosby!
llvm-svn: 67428
2009-03-21 05:40:09 +00:00
Daniel Dunbar
1acb0eb24f
Driver: Give Compilation::Execute total control over the Driver result
...
code; and don't return an error code when -### is present, even if
errors occur.
llvm-svn: 67425
2009-03-21 00:40:53 +00:00
Ted Kremenek
f97c47ca15
Add back warning about a PTH file not containing any identifiers, but don't make
...
it a hard error.
llvm-svn: 67424
2009-03-21 00:25:09 +00:00
Ted Kremenek
b12f24116d
Allow PTH files with no identifiers.
...
llvm-svn: 67423
2009-03-21 00:15:11 +00:00
Bruno Cardoso Lopes
9b9586a5ae
Removed AFGR32 register class
...
Handle odd registers allocation in FGR32.
llvm-svn: 67422
2009-03-21 00:05:07 +00:00
Douglas Gregor
6d00c993f5
When building the structured initializer list, pre-allocate storage in
...
its vectors based on the subobject type we're initializing and the
(unstructured) initializer list. This eliminates some malloc thrashing
when parsing initializers (from 117 vector reallocations down to 0
when parsing Cocoa.h). We can't always pre-allocate the right amount
of storage, since designated initializers can cause us to initialize
in non-predictable patterns.
llvm-svn: 67421
2009-03-20 23:58:33 +00:00
Daniel Dunbar
a792bad824
ccc/Driver/clang-fe: Accept -fbuiltin, and forward -f[no-]builtin to clang.
...
llvm-svn: 67420
2009-03-20 23:49:28 +00:00
Ted Kremenek
8b2c1cd5a2
Fix include-pth.c test case to (hopefully) more resilient to where and how tests
...
are executed.
llvm-svn: 67419
2009-03-20 23:45:36 +00:00
Daniel Dunbar
ea9f032613
ccc/Driver: .s defaults to 'assembler-with-cpp' on Darwin.
...
- <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp
semantics correctly (but clang supports it)
- This is sad, because it requires a fairly useless target
hook. C'est la vie.
llvm-svn: 67418
2009-03-20 23:39:23 +00:00
Douglas Gregor
52a47e9c7b
Destroy expressions properly when resizing an initializer list
...
llvm-svn: 67417
2009-03-20 23:38:03 +00:00
Bob Wilson
dc40d5ae2c
Fix a few more indentation problems and an 80-column violation.
...
llvm-svn: 67416
2009-03-20 23:16:43 +00:00
Douglas Gregor
85992cf607
InitListDesignations hasn't been used (ever). Eliminate it, and
...
simplify the parsing and action interface for designated
initializers.
llvm-svn: 67415
2009-03-20 23:11:49 +00:00
Douglas Gregor
da17bd34e7
Eliminate post-diagnostic hooks. Instead, implement a Sema-specific
...
variant of DiagnosticBuilder that emits the template instantiation
backtrace when needed.
llvm-svn: 67413
2009-03-20 22:48:49 +00:00
Bob Wilson
7117a916f5
No functional changes. Fix indentation and whitespace only.
...
llvm-svn: 67412
2009-03-20 22:42:55 +00:00
Chris Lattner
0a981d1d36
Fix instcombine to not introduce undefined shifts when merging two
...
shifts together. This fixes PR3851.
llvm-svn: 67411
2009-03-20 22:41:15 +00:00
Daniel Dunbar
9b726f88a2
ccc: Use -include-pth.
...
llvm-svn: 67410
2009-03-20 22:13:54 +00:00
Duncan Sands
a09e0afe74
Don't load values out of global constants with weak
...
linkage: the value may be replaced with something
different at link time. (Frontends that want to
allow values to be loaded out of weak constants can
give their constants weak_odr linkage).
llvm-svn: 67407
2009-03-20 21:53:29 +00:00
Mike Stump
692c6e3729
Fix codegen for support for super inside block literal expressions.
...
llvm-svn: 67406
2009-03-20 21:53:12 +00:00
Ted Kremenek
dfd72c2b44
Fix <rdar://problem/6704086> by allowing the format string checking in Sema to
...
allow non-literal format strings that are variables that (a) permanently bind to
a string constant and (b) whose string constants are resolvable within the same
translation unit.
llvm-svn: 67404
2009-03-20 21:35:28 +00:00
Chris Lattner
b45c23a051
fix test/Preprocessor/macro_paste_mscomment.c.
...
llvm-svn: 67403
2009-03-20 21:23:42 +00:00
Fariborz Jahanian
07038f9785
Fix a crash during meta-data generation of objc2's nonfragile abi.
...
llvm-svn: 67402
2009-03-20 20:48:19 +00:00
Douglas Gregor
8ccff03701
Improve documentation for MemberExpr
...
llvm-svn: 67401
2009-03-20 20:46:52 +00:00
Dan Gohman
3bdc4bdba6
Simplify this code; use a while instead of an if and a do-while.
...
llvm-svn: 67400
2009-03-20 20:42:23 +00:00
Douglas Gregor
2460c0c37c
Link from the C++ status page to the open projects page
...
llvm-svn: 67399
2009-03-20 20:39:57 +00:00
Douglas Gregor
7262d1c003
Document some small- to mid-size open C++ projects
...
llvm-svn: 67398
2009-03-20 20:37:36 +00:00
Douglas Gregor
63b4ff6aad
Some minor tweaks and additional tests for rvalue references
...
llvm-svn: 67397
2009-03-20 20:21:37 +00:00
Chris Lattner
1d1d80e5f9
rename the <predefines> buffer to <built-in> to solve PR3849.
...
Add a #include directive around the command line buffer so that
diagnostics generated from -include directives get diagnostics
like:
In file included from <built-in>:98:
In file included from <command line>:3:
./t.h:2:1: warning: type specifier missing, defaults to 'int'
b;
^
llvm-svn: 67396
2009-03-20 20:16:10 +00:00
Ted Kremenek
6b31533ad1
GRExprEngine:
...
- Conjure symbols at '--' and '++' unary operations
- Add utility method SVal::GetConjuredSymbolVal() and constify some arguments
along the way.
llvm-svn: 67395
2009-03-20 20:10:45 +00:00
Ted Kremenek
de9e968c5a
Remove unneeded radar reference.
...
llvm-svn: 67394
2009-03-20 19:57:37 +00:00
Daniel Dunbar
60196720eb
Driver: Switch to using -include-pth.
...
llvm-svn: 67393
2009-03-20 19:38:56 +00:00
Daniel Dunbar
9b2fdf05c0
Update test case.
...
llvm-svn: 67392
2009-03-20 19:34:03 +00:00
Fariborz Jahanian
391d4fc7f7
More super dot-syntax property implementation
...
when there is actually a property declaration
used in the dot-syntax.
llvm-svn: 67391
2009-03-20 19:18:21 +00:00
Ted Kremenek
9ffbe41a6c
Fix <rdar://problem/6703892> by not warning about self-comparisons of enum
...
constants.
llvm-svn: 67390
2009-03-20 18:35:45 +00:00
Devang Patel
9f804934df
Fix ivar's size encoding.
...
llvm-svn: 67389
2009-03-20 18:24:39 +00:00