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