Commit Graph

35014 Commits

Author SHA1 Message Date
Owen Anderson 4c54024319 Make the copy constructor of SmallPtrSet much faster.
llvm-svn: 40474
2007-07-24 21:31:23 +00:00
Anton Korobeynikov 0c46451d2b Heal EH handling stuff by emitting correct offsets to callee-saved registers.
Pretty hackish, but code itself is dirty mess, so we won't make anything worse. :)

llvm-svn: 40472
2007-07-24 21:07:39 +00:00
Chris Lattner 0443a76b11 add documentation skeleton
llvm-svn: 40471
2007-07-24 18:03:18 +00:00
Chris Lattner b3aee6e87f add a bare bones web page
llvm-svn: 40470
2007-07-24 17:59:54 +00:00
Owen Anderson ab6ec2eac2 Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.

llvm-svn: 40469
2007-07-24 17:55:58 +00:00
Chris Lattner 01e4b243c9 Fix a comment, patch by Kevin Andre!
llvm-svn: 40466
2007-07-24 17:03:04 +00:00
Chris Lattner 366727fca1 implement ast building and trivial semantic analysis of stmt exprs.
This implements test/Sema/stmt_exprs.c

llvm-svn: 40465
2007-07-24 16:58:17 +00:00
Reid Spencer a2e618712d Make output match actual condition tested. Thanks, Duncan.
llvm-svn: 40464
2007-07-24 14:35:44 +00:00
Chris Lattner 1af0e0116a avoid std::string yet again.
llvm-svn: 40462
2007-07-24 06:59:01 +00:00
Chris Lattner 4c4a245475 Use a smallstring instead of an std::string in FileChanged to avoid some malloc traffic.
This speeds up -E on xalancbmk by 2.4%

llvm-svn: 40461
2007-07-24 06:57:14 +00:00
Chris Lattner 830a77fd65 check in an experiment that didn't work out, to allow for future investigation.
llvm-svn: 40460
2007-07-24 06:43:46 +00:00
Chris Lattner 8996ffffe5 Add a cache to SourceManager to accellerate line # lookup. This is a
bottleneck for -E computation, because every token that starts a line needs
to determine *which* line it is on (so -E mode can insert the appropriate 
vertical whitespace).  This optimization improves this common case where
it is striding through the line # table.

This speeds up -E on xalancbmk by 3.2%

llvm-svn: 40459
2007-07-24 05:57:19 +00:00
Devang Patel 13b25df0e9 Unreachable block is not a root node in post dominator tree.
llvm-svn: 40458
2007-07-24 01:02:25 +00:00
Owen Anderson 9baaaa52e6 Rename a lot of things to change FastDLE to RedundantLoadElimination.
llvm-svn: 40457
2007-07-24 00:17:04 +00:00
Owen Anderson 7292a4a93f Rename FastDLE as RedundantLoadElimination.
llvm-svn: 40456
2007-07-24 00:08:38 +00:00
Reid Spencer 0f8fd66a62 1. Make sure we print the Function Value for parameter attribute errors
2. Fold an if statement into the Assert1 macro call.

llvm-svn: 40455
2007-07-23 23:46:43 +00:00
Chris Lattner d63c8a5963 Fix two paste-avoidance bugs I introduced last night. Patch
by Neil Booth.  This fixes Preprocessor/output_paste_avoid.c

llvm-svn: 40454
2007-07-23 23:21:34 +00:00
Reid Spencer 6c2b393f0c Add better verification of attributes on function types. It is not permitted
to use sret or inreg on the function. It is equally illegal to use noreturn
or nounwind on a parameter; they only go with the function. This patch
enforces these rules.

llvm-svn: 40453
2007-07-23 23:09:55 +00:00
Chris Lattner 49a953ab13 fix bogus warnings about potentially uninit vars Size and Align.
Patch by Neil Booth!

llvm-svn: 40452
2007-07-23 22:46:22 +00:00
Chandler Carruth 1b37d5b019 Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.
llvm-svn: 40451
2007-07-23 22:42:15 +00:00
Chris Lattner f97dbcb4ba Fix a scoping bug that apple gcc doesn't catch for some reason.
llvm-svn: 40450
2007-07-23 22:23:52 +00:00
Owen Anderson 0a75315d35 Add testcases for FastDLE.
llvm-svn: 40449
2007-07-23 22:18:05 +00:00
Owen Anderson 5e68f0c93d Don't delete volatile loads. Doing so is not safe.
llvm-svn: 40448
2007-07-23 22:05:54 +00:00
Owen Anderson 70fce4c689 Forgot to commit this file.
llvm-svn: 40447
2007-07-23 22:00:03 +00:00
Owen Anderson 21d76e4a0c Fix a comment.
llvm-svn: 40446
2007-07-23 21:51:37 +00:00
Owen Anderson 6aba721425 Add FastDLE, the load-elimination counterpart of FastDSE.
llvm-svn: 40445
2007-07-23 21:48:08 +00:00
Owen Anderson 59a6840d47 Move these tests to use FastDSE instead of old DSE.
llvm-svn: 40444
2007-07-23 20:49:13 +00:00
Dan Gohman b6a8ae20c7 Fix some uses of dyn_cast to be uses of cast.
llvm-svn: 40443
2007-07-23 20:24:29 +00:00
Dan Gohman 17f68f95d8 Delete the svn:executable property on these files, which aren't executable.
llvm-svn: 40441
2007-07-23 19:26:08 +00:00
Owen Anderson 5a201baba9 Fix file header.
llvm-svn: 40440
2007-07-23 18:30:37 +00:00
Chris Lattner 4512cd2cab completely remove a transformation that is unsafe in the face of
undefs.

llvm-svn: 40439
2007-07-23 17:10:17 +00:00
Chris Lattner 54f4d2bd57 correctly verify that default and case are in a switchstmt,
this fixes test/Sema/switch.c.

llvm-svn: 40438
2007-07-23 17:05:23 +00:00
Duncan Sands b063fa59d3 The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.

llvm-svn: 40437
2007-07-23 15:23:35 +00:00
Duncan Sands 1747440364 For multipart tests, place the parts with no
RUN line in Support.  Give up on sending output
to /dev/null - this cannot always be arranged.

llvm-svn: 40436
2007-07-23 13:41:53 +00:00
Reid Spencer fcd7815249 Restore ability to build archives (oops)
Fix -include line so it doesn't reference /dev/null

llvm-svn: 40429
2007-07-23 08:20:46 +00:00
Reid Spencer 63ebdf7994 Remove bizarre use of /dev/null in a makefile include line that
produces warning from make about bad timestamp on /dev/null

Patch by Holger Schurig.

llvm-svn: 40426
2007-07-23 08:09:15 +00:00
Chris Lattner 5cdfebbf10 avoid creating std::strings in MoveToLine
llvm-svn: 40424
2007-07-23 06:31:11 +00:00
Chris Lattner 93c4ea75ec In OutputString, avoid calling memcpy for really tiny strings.
This speeds up -E on 447.dealII by 5.8%

llvm-svn: 40423
2007-07-23 06:23:07 +00:00
Chris Lattner 0af9823e4d Avoid calling getSpelling at all for identifiers, which are
trivial to handle and very very common.  This speeds up -E on 
447.dealII by 2.5%

llvm-svn: 40422
2007-07-23 06:14:36 +00:00
Chris Lattner 4418ce1091 change the concatenation avoidance algorithm to be partially table-driven
and avoid computing the spelling of tokens when not needed.  This speeds
up -E on 447.dealII by 2.2%

llvm-svn: 40421
2007-07-23 06:09:34 +00:00
Chris Lattner e4c566c604 If a token doesn't need cleaning, we can get its first character
without having to get the whole token.  This speeds up -E on 
447.dealII by 1.8%

llvm-svn: 40420
2007-07-23 05:18:42 +00:00
Chris Lattner 5f075827bf A minor tweak to -E output, speeding up -E 1.5% on 447.dealII
llvm-svn: 40419
2007-07-23 05:14:05 +00:00
Chris Lattner 43eafb4ed5 implement a missing feature in the #include handler, where
it did not handle <xyz> headers coming from macro expansions.
This requires special treatment, as the include name is lexed
as multiple tokens, which require reassembly before processing.

llvm-svn: 40418
2007-07-23 04:56:47 +00:00
Bill Wendling 803a639cff Fix some validation errors.
llvm-svn: 40417
2007-07-23 04:44:02 +00:00
Bill Wendling 922169c385 Converted to "svn" and reformatted.
llvm-svn: 40416
2007-07-23 04:41:42 +00:00
Reid Spencer ec5058eb96 Remove dead option.
llvm-svn: 40415
2007-07-23 04:23:32 +00:00
Chris Lattner 93ab9f134e refactor the interface to Preprocessor::GetIncludeFilenameSpelling,
no functionality changes.

llvm-svn: 40414
2007-07-23 04:15:27 +00:00
Bill Wendling d0c5c282de Small change.
llvm-svn: 40413
2007-07-23 03:56:42 +00:00
Bill Wendling 9f1b2d9491 Point to the correct SVN repository.
llvm-svn: 40412
2007-07-23 03:56:11 +00:00
Bill Wendling 3d88e9940a Add missing SSE builtins:
__builtin_ia32_cvtss2si64
    __builtin_ia32_cvttss2si64
    __builtin_ia32_cvtsi642ss
    __builtin_ia32_cvtsd2si64
    __builtin_ia32_cvttsd2si64
    __builtin_ia32_cvtsi642sd

llvm-svn: 40411
2007-07-23 03:07:27 +00:00