Commit Graph

52779 Commits

Author SHA1 Message Date
Chris Lattner 5742c1edc4 Fix a crash Anders' was seeing due to free'ing an invalid pointer
caused by my previous commit.

llvm-svn: 62613
2009-01-20 21:06:38 +00:00
Steve Naroff e5564628b4 Convert more exprs to use ASTContext's Allocator.
When using a BumpPtrAllocator, this reduces malloc overhead from 2.2->1.9% (for Cocoa.h).

At this point, malloc() has dropped the fourth most expensive routine (behind Preprocessor::HandleIdentifier()).

llvm-svn: 62612
2009-01-20 21:06:31 +00:00
Douglas Gregor 82c1fe1cfc Use the ASTContext's allocator for FunctionTypeNoProto and TypeOfExpr
llvm-svn: 62611
2009-01-20 21:02:13 +00:00
Devang Patel bd7743d772 Fix struct member's debug info.
llvm-svn: 62610
2009-01-20 21:02:02 +00:00
Anders Carlsson 224fca8982 Improvements to Sema of asm statements. Fixes <rdar://problem/6156893>
llvm-svn: 62609
2009-01-20 20:49:22 +00:00
Fariborz Jahanian 2f85a6450a Detailed documentation for encoding of properties and a test
case.

llvm-svn: 62607
2009-01-20 20:04:12 +00:00
Steve Naroff 5faaef7692 Allocate expresssions through ASTContext (still more work to do).
Add debug hook to DeclContext.

llvm-svn: 62605
2009-01-20 19:53:53 +00:00
Evan Cheng 4022b7c3f4 Add test case for PR3154.
llvm-svn: 62604
2009-01-20 19:29:54 +00:00
Devang Patel bf7c6a90f5 indentation...
llvm-svn: 62603
2009-01-20 19:23:29 +00:00
Devang Patel 2333409d06 Need only one set of debug info versions enum.
llvm-svn: 62602
2009-01-20 19:22:03 +00:00
Fariborz Jahanian 218c630171 Improving on encoding of objective-c's property types. More to come.
llvm-svn: 62601
2009-01-20 19:14:18 +00:00
Evan Cheng c544cb0eca Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well.
llvm-svn: 62600
2009-01-20 19:12:24 +00:00
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