Chris Lattner
1ce41edd8d
Optimize Declarator to avoid malloc/free traffic for the argument list of a
...
function DeclaratorChunk in common cases. This uses a fixed array in
Declarator when it is small enough for the first function declarator chunk
in a declarator.
This eliminates all malloc/free traffic from DeclaratorChunk::getFunction
when running on Cocoa.h except for five functions: signal/bsd_signal/sigset,
which have multiple Function DeclChunk's, and
CFUUIDCreateWithBytes/CFUUIDGetConstantUUIDWithBytes, which take more than
16 arguments.
This patch was pair programmed with Steve.
llvm-svn: 62599
2009-01-20 19:11:22 +00:00
Devang Patel
72854c3811
zap white spaces.
...
llvm-svn: 62598
2009-01-20 19:08:39 +00:00
Devang Patel
6befc4d34e
Fix global variable's address in a DIE.
...
llvm-svn: 62596
2009-01-20 18:55:39 +00:00
Devang Patel
f0dae1aae3
Enable debug info for enums.
...
llvm-svn: 62594
2009-01-20 18:35:14 +00:00
Dale Johannesen
fe750179ff
Add an IEEE remainder function, which is not
...
fully implemented yet and not used. This is
mainly to clarify that APFloat::mod implements
C fmod, not remainder.
llvm-svn: 62593
2009-01-20 18:35:05 +00:00
Chris Lattner
17844c7a88
improve compatibility with various versions of graphviz, patch by
...
Patrick Boettcher!
llvm-svn: 62592
2009-01-20 18:25:03 +00:00
Chris Lattner
ca4881aeca
eliminate use of uint32_t to improve compatibility with cygwin
...
llvm-svn: 62591
2009-01-20 18:23:14 +00:00
Chris Lattner
4612ae1f8e
Eliminate use of uint32_t to improve compatibility with cygwin
...
llvm-svn: 62590
2009-01-20 18:22:57 +00:00
Devang Patel
120e962243
Enable debug info for composite types.
...
llvm-svn: 62589
2009-01-20 18:13:03 +00:00
Duncan Sands
489c5484d3
Check that the "don't barf on k8" fix is not
...
accidentally reverted again.
llvm-svn: 62587
2009-01-20 18:08:39 +00:00
Eli Friedman
75a495b495
Pixel font sizes are evil.
...
llvm-svn: 62586
2009-01-20 17:56:18 +00:00
Eli Friedman
ddea0ade30
Slight cleanup, and fix for va_arg on architectures where va_list is a
...
struct.
llvm-svn: 62585
2009-01-20 17:46:04 +00:00
Evan Cheng
63f9e249ba
Spacing
...
llvm-svn: 62584
2009-01-20 17:30:40 +00:00
Eli Friedman
8687a09fd0
Do codegen correctly for va_start/end/copy on architectures where
...
va_list is a struct, like x86-64.
If anyone has a better idea for how to do the check in the if
statements, suggestions are welcome.
llvm-svn: 62582
2009-01-20 17:25:25 +00:00
Douglas Gregor
0da5ac8499
Rename DeclContext::insert to DeclContext::makeDeclVisibleInContext and document both it and DeclContext::addDecl properly
...
llvm-svn: 62581
2009-01-20 16:54:50 +00:00
Bill Wendling
a908b60fb2
Temporarily XFAIL until this can be looked at. r62557 is what caused it to start failing.
...
llvm-svn: 62578
2009-01-20 10:28:39 +00:00
Duncan Sands
cd3fbfb460
If a vector is empty, you're not allowed to access any
...
elements, even if it is only to take the address. Test:
break-anti-dependencies.ll with ENABLE_EXPENSIVE_CHECKS.
llvm-svn: 62576
2009-01-20 09:05:19 +00:00
Eli Friedman
08c5dabf1b
Fix for PR3350: add special-casing for "references" to va_lists in
...
builtins.
Also, a minor tweak to va_copy for consistency.
llvm-svn: 62574
2009-01-20 07:46:22 +00:00
Evan Cheng
6cdcf1eb73
Refactor code. No functionality change.
...
llvm-svn: 62573
2009-01-20 06:44:16 +00:00
Bill Wendling
1d9c8e5522
Testcase for limited precision stuff.
...
llvm-svn: 62572
2009-01-20 06:23:59 +00:00
Bill Wendling
786a683441
Shift types need to match.
...
llvm-svn: 62571
2009-01-20 06:10:42 +00:00
Daniel Dunbar
7966091399
ccc: Darwin/x86: Teach compile tool how to build .pch files. xcc is
...
now fully independent of the gcc driver when targetting Darwin/x86.
llvm-svn: 62570
2009-01-20 05:51:52 +00:00
Daniel Dunbar
8bc09f4085
ccc: PCH generation doesn't strip the path when generating a derived
...
filename from the input path.
llvm-svn: 62569
2009-01-20 05:49:32 +00:00
Douglas Gregor
00447933f6
Remove the TopLevelDecls from TranslationUnit, since all of those decls are owned by the ASTContext's TranslationUnitDecl. There are definitely some leaking Decls now that I'll tackle tomorrow
...
llvm-svn: 62568
2009-01-20 04:25:11 +00:00
Douglas Gregor
d42b0a4dc9
Fix Decl::NextDeclInScope access issue
...
llvm-svn: 62567
2009-01-20 04:04:17 +00:00
Daniel Dunbar
313e301574
ccc: Recognize that -M and -MM only run preprocessor.
...
- Clean up some placement of output args to match gcc more precisely
(for testing).
llvm-svn: 62566
2009-01-20 01:53:54 +00:00
Daniel Dunbar
7dd97b12e7
Make test independent of stdint.h
...
llvm-svn: 62565
2009-01-20 01:27:09 +00:00
Douglas Gregor
6e6ad602e5
Remove ScopedDecl, collapsing all of its functionality into Decl, so
...
that every declaration lives inside a DeclContext.
Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.
The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.
llvm-svn: 62562
2009-01-20 01:17:11 +00:00
Chris Lattner
c59945b4bd
another fix for PR3354
...
llvm-svn: 62561
2009-01-20 01:15:41 +00:00
Dan Gohman
83d2e066c1
Add a README entry noticed while investigating PR3216.
...
llvm-svn: 62558
2009-01-20 01:07:33 +00:00
Dan Gohman
161b7b66ac
Fix a dagcombine to not generate loads of non-round integer types,
...
as its comment says, even in the case where it will be generating
extending loads. This fixes PR3216.
llvm-svn: 62557
2009-01-20 01:06:45 +00:00
Daniel Dunbar
9789e1ebcb
Update for new SourceLocation API.
...
llvm-svn: 62556
2009-01-20 01:06:30 +00:00
Devang Patel
af6a3748c7
Do not use DenseMap because the iterator is invalidated while constructing types. After all there was a reason why std::map was used initially!
...
llvm-svn: 62555
2009-01-20 00:58:55 +00:00
Nick Lewycky
c94134dc96
Regenerate.
...
BUILT WITH WRONG VERSION OF AUTOCONF! Somebody please regenerate with an
approved version. Thanks!
llvm-svn: 62554
2009-01-20 00:52:24 +00:00
Nick Lewycky
766ac10452
Make the Interpreter use libffi if it's available. Patch from Alexei Svitkine!
...
This requires a rebuild of 'configure' itself. I will be committing that next, but
built with the wrong version of autoconf. Somebody who has the right one, please update
it.
As a side-note, because of the way autoconf works, all built tools will link against
libffi, not just lli. If you know how to fix this, please let me know ...
llvm-svn: 62553
2009-01-20 00:51:40 +00:00
Ted Kremenek
e5fe617e2b
Dead stores checker: Fix <rdar://problem/6506065> by being more selective when say that a store is dead even though the computed value is used in the enclosing expression.
...
llvm-svn: 62552
2009-01-20 00:47:45 +00:00
Daniel Dunbar
0c8d6c9d27
ccc: Darwin/x86: Add direct cpp support.
...
- Add Darwin_X86_CC1Tool which is shared by Darwin/x86/Compile and
Darwin/x86/Preprocess tools.
- Minor bug fixes (CmpDriver exit code, -x cpp-output handling, some
linker argument translation).
llvm-svn: 62551
2009-01-20 00:47:24 +00:00
Evan Cheng
8f79775a66
Make linear scan's trivial coalescer slightly more aggressive.
...
llvm-svn: 62547
2009-01-20 00:16:18 +00:00
Bill Wendling
caf1d22243
Doxygen-ify comments.
...
llvm-svn: 62546
2009-01-19 23:43:56 +00:00
Devang Patel
44afc82ebe
Verify debug info.
...
llvm-svn: 62545
2009-01-19 23:21:49 +00:00
Ted Kremenek
8433f0b400
PTH: Emitted tokens now consist of 12 bytes that are loaded used 3 32-bit loads. This reduces user time but increases system time because of the slightly larger PTH file. Although there is no performance win on Cocoa.h and -Eonly, overall this seems like a good step.
...
llvm-svn: 62542
2009-01-19 23:13:15 +00:00
Chris Lattner
ea9f1d3c47
Fix a problem exposed by PR3354: simplifycfg was making a potentially
...
trapping instruction be executed unconditionally.
llvm-svn: 62541
2009-01-19 23:03:13 +00:00
Steve Naroff
d21d7226b1
Make sure all types are allocated with 8-byte alignment.
...
The QualType smart pointer assumes we have 3 flag bits available.
llvm-svn: 62540
2009-01-19 22:45:10 +00:00
Dan Gohman
534c8a2d72
Remove SDNode's virtual destructor. This makes it impossible for
...
SDNode subclasses to keep state that requires non-trivial
destructors, however it was already effectively impossible,
since the destructor isn't actually ever called. There currently
aren't any SDNode subclasses affected by this, and in general
it's desireable to keep SDNode objects light-weight.
This eliminates the last virtual member function in the SDNode
class, so it eliminates the need for a vtable pointer, making
SDNode smaller.
llvm-svn: 62539
2009-01-19 22:39:36 +00:00
Dale Johannesen
d067ecd1c7
Move & restructure test per review.
...
llvm-svn: 62538
2009-01-19 22:33:12 +00:00
Sebastian Redl
b5d49356e6
Convert more expression actions to smart pointers.
...
llvm-svn: 62537
2009-01-19 22:31:54 +00:00
Chris Lattner
7eeb1cc605
convert this to an unfoldable potentially trapping constant expr.
...
llvm-svn: 62536
2009-01-19 22:12:33 +00:00
Chris Lattner
73d7fe5a34
improve compatibility with cygwin, patch by Jay Foad!
...
llvm-svn: 62535
2009-01-19 22:00:18 +00:00
Chris Lattner
dd8ef1bf30
div/rem by zero and div/rem overflow are both undefined according to
...
langref. Constant fold them to undef instead of trying to preserve
the trap. This fixes PR3354.
llvm-svn: 62534
2009-01-19 21:55:26 +00:00
Dan Gohman
cd0b1bf0a0
Fix SelectionDAG::ReplaceAllUsesWith to behave correctly when
...
uses are added to the From node while it is processing From's
use list, because of automatic local CSE. The fix is to avoid
visiting any new uses.
Fix a few places in the DAGCombiner that assumed that after
a RAUW call, the From node has no users and may be deleted.
This fixes PR3018.
llvm-svn: 62533
2009-01-19 21:44:21 +00:00