Dan Gohman
ecb20c12a2
Add an explicit keyword.
...
llvm-svn: 100187
2010-04-02 14:57:49 +00:00
Dan Gohman
f7239102fe
Manually notify ScalarEvolution before making an operand replacement, since
...
it can't currently observe such changes automatically.
llvm-svn: 100186
2010-04-02 14:48:31 +00:00
Torok Edwin
3645e95c91
Fix SpecificBumpPtrAllocator iteration.
...
Need to start from (char*)(Slab+1), and not from (char*)Slab+1.
This fixes crashes in Win64 debug mode.
Thanks to Nicolas Capens!
llvm-svn: 100184
2010-04-02 13:20:51 +00:00
Duncan Sands
92452b9e12
Add notes about dragonegg.
...
llvm-svn: 100183
2010-04-02 09:23:15 +00:00
Anders Carlsson
db0a965eca
If a constructor is a dependent context, just set the base and member initializers as they are written. Fixes a bug where we wouldn't show initialization order warnings when instantiating.
...
llvm-svn: 100180
2010-04-02 06:26:44 +00:00
Anders Carlsson
7b3f2788a1
Diagnose multiple base and member initializers in class templates.
...
llvm-svn: 100179
2010-04-02 05:42:15 +00:00
Bob Wilson
3c54edf9b3
Recommit 100158 now that the buildbots are happy again.
...
llvm-svn: 100177
2010-04-02 05:09:46 +00:00
Eric Christopher
06a1639b98
Remove FIXME - if there's a better way to do this it isn't here.
...
llvm-svn: 100176
2010-04-02 04:32:37 +00:00
Anders Carlsson
4c8cb01b5a
More cleanup.
...
llvm-svn: 100175
2010-04-02 03:43:34 +00:00
Anders Carlsson
96b8fc664a
Constify.
...
llvm-svn: 100174
2010-04-02 03:38:04 +00:00
Anders Carlsson
e857b29e0c
Minor cleanup.
...
llvm-svn: 100173
2010-04-02 03:37:03 +00:00
Dan Gohman
4bd755419f
Revert the recent alignment changes. They're broken for -Os because,
...
in particular, they end up aligning strings at 16-byte boundaries, and
there's no way for GlobalOpt to check OptForSize.
llvm-svn: 100172
2010-04-02 03:04:37 +00:00
Evan Cheng
604bc162da
After trivial coalescing, the MI being visited may have become a copy. Avoid adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted.
...
rdar://7819990
llvm-svn: 100170
2010-04-02 02:21:24 +00:00
Chandler Carruth
4a70ae54b4
Resolve a layering violation by making AddTaggedVal public for
...
PartialDiagnostic objects, and hoisting the stream operator for QualType into
Type.h with the operator for the normal DiagnosticBuilder. Also remove the no
longer needed friend declaration for the DeclarationName stream operator.
llvm-svn: 100169
2010-04-02 01:39:03 +00:00
Dale Johannesen
4244d12769
Teach AnalyzeBranch, RemoveBranch and the branch
...
folder to be tolerant of debug info following the
branch(es) at the end of a block.
llvm-svn: 100168
2010-04-02 01:38:09 +00:00
Chandler Carruth
8d6d0d4c58
Disambiguate conditional expression for newer GCCs.
...
llvm-svn: 100167
2010-04-02 01:31:24 +00:00
Dan Gohman
8ceeeb444e
Remove this initializer so that the optimizer doesn't convert
...
unaligned loads into aligned loads.
llvm-svn: 100166
2010-04-02 01:26:13 +00:00
Dan Gohman
ffb9c71174
Update this test for the new preferred alignment heuristics.
...
llvm-svn: 100165
2010-04-02 01:24:08 +00:00
Bob Wilson
0389adcd73
Revert 100158 in case it is causing some of the buildbot problems.
...
llvm-svn: 100164
2010-04-02 01:22:49 +00:00
Sean Callanan
dfc8a75755
Updated the install location for EnhancedDisassembly
...
on Mac OS X to use @rpath rather than an absolute
path. Also allowed the version to be set using an
environment variable.
llvm-svn: 100163
2010-04-02 00:53:42 +00:00
Dan Gohman
0e3218f6af
Change variables which are exactly 16 bytes to be 16-byte-aligned too.
...
This fixes test/Transforms/GlobalOpt/gv-align.ll.
llvm-svn: 100161
2010-04-02 00:46:07 +00:00
Dan Gohman
c671347fcb
Make globalopt refine global variable alignment.
...
llvm-svn: 100160
2010-04-02 00:14:16 +00:00
John McCall
cdf40bed1b
Check in a motivating test for the revised access semantics.
...
llvm-svn: 100159
2010-04-02 00:11:49 +00:00
Bob Wilson
9af4e118c6
Check for terminating conditions before adding PHIs to the worklists.
...
This is more efficient than adding them to the worklist and then ignoring them.
llvm-svn: 100158
2010-04-02 00:10:41 +00:00
Gabor Greif
d3020a4b90
remove these merge-tracking properties as they
...
might interfere with merges to other branches (as Dan pointed out)
llvm-svn: 100157
2010-04-02 00:08:26 +00:00
Dan Gohman
e447aeb9fe
If the bitcode reader input stream isn't a multiple of 4 bytes, it's more
...
likely not a bitcode file at all, rather than being a bitcode file which
is truncated. Check for this case and issue a more relevant error message.
llvm-svn: 100156
2010-04-02 00:03:51 +00:00
John McCall
d79b4d8173
Correct the calculation of access to more closely model the wording in
...
the standard.
llvm-svn: 100155
2010-04-02 00:03:43 +00:00
Ted Kremenek
cbcb692133
Update analyzer build.
...
llvm-svn: 100153
2010-04-01 23:25:38 +00:00
Bob Wilson
737195069a
Remove trailing whitespace.
...
llvm-svn: 100148
2010-04-01 23:06:38 +00:00
Bob Wilson
37b73d9d3e
Rewrite another SSAUpdater function to avoid recursion.
...
llvm-svn: 100147
2010-04-01 23:05:58 +00:00
Eric Christopher
5342ddaadf
Revert r100143.
...
llvm-svn: 100146
2010-04-01 22:54:42 +00:00
Devang Patel
18737b2a81
Revert r100117.
...
llvm-svn: 100145
2010-04-01 22:47:29 +00:00
Douglas Gregor
697a39110f
Minor cleanup with the ternary operator
...
llvm-svn: 100144
2010-04-01 22:47:07 +00:00
David Greene
6789e21094
Add some switches helpful for debugging:
...
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100143
2010-04-01 22:43:57 +00:00
Evan Cheng
f997c31598
In 64-bit mode, use i64 to lower memcpy / memset instead of f64.
...
llvm-svn: 100137
2010-04-01 20:27:45 +00:00
Devang Patel
15676e5167
Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.
...
llvm-svn: 100134
2010-04-01 20:22:44 +00:00
Evan Cheng
8563ee4ed4
Skip checking preferred alignment of GVs defined in other translation units all together.
...
llvm-svn: 100133
2010-04-01 20:13:28 +00:00
Evan Cheng
d9929f03cf
Add comments about DstAlign and SrcAlign.
...
llvm-svn: 100132
2010-04-01 20:10:42 +00:00
Bob Wilson
8409feadf0
Change another SSAUpdater function to avoid recursion.
...
llvm-svn: 100131
2010-04-01 20:04:30 +00:00
Bob Wilson
043c0406f7
Simplify the code to check for existing PHIs, now that it is only used in
...
one place. This removes the template function added in svn 94690.
llvm-svn: 100130
2010-04-01 19:53:48 +00:00
Fariborz Jahanian
d603b54c55
Relax the typesafty rules of block pointers types which
...
take'id' or return 'id' in their type. Fixes radar 7814131.
llvm-svn: 100129
2010-04-01 19:50:22 +00:00
Bob Wilson
38fc88ee5d
The SSAUpdater should avoid recursive traversals of the CFG, since that may
...
blow out the stack for really big functions. Start by fixing an easy case.
llvm-svn: 100126
2010-04-01 18:46:59 +00:00
Douglas Gregor
b242683d99
Overhaul checking of non-type template arguments that should refer to
...
an object or function. Our previous checking was too lax, and ended up
allowing missing or extraneous address-of operators, among other
evils. The new checking provides better diagnostics and adheres more
closely to the standard.
Fixes PR6563 and PR6749.
llvm-svn: 100125
2010-04-01 18:32:35 +00:00
Daniel Dunbar
e43887bd2b
Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enable
...
Clang++ support, even in "Production" mode (for testing purposes).
llvm-svn: 100119
2010-04-01 18:21:41 +00:00
Evan Cheng
4c014c892a
- Avoid using floating point stores to implement memset unless the value is zero.
...
- Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type.
llvm-svn: 100118
2010-04-01 18:19:11 +00:00
Devang Patel
1a55ef0427
Skip instructions until new scope is seen.
...
llvm-svn: 100117
2010-04-01 17:32:01 +00:00
Devang Patel
4c603b1c4e
Cosmetic changes.
...
Update comment, rename a local variable.
llvm-svn: 100116
2010-04-01 17:16:48 +00:00
Daniel Dunbar
f4b37e1926
Fix -Asserts warning, and protect against missing case.
...
llvm-svn: 100115
2010-04-01 16:50:48 +00:00
Benjamin Kramer
15630f8238
Remove accidental include and add a comment.
...
llvm-svn: 100107
2010-04-01 14:39:55 +00:00
Benjamin Kramer
10b0f3b314
Various improvements to MemoryBuffer::getFile:
...
- Use a RAII object to close the FD.
- Use sys::StrError instead of thread-unsafe strerror calls.
- Recover gracefully if read returns zero. This works around an issue on
DragonFlyBSD where /dev/null has an st_size of 136 but we can't read 136 bytes
from it.
llvm-svn: 100106
2010-04-01 14:35:22 +00:00