Nuno Lopes
5863c999e7
emit padding as undef values, take 2
...
merge also a few tests I had here for this feature, and FileCheck'ize one file
llvm-svn: 101535
2010-04-16 20:56:35 +00:00
Dan Gohman
4d273f4519
Commit this, which should have accompanied 101531.
...
llvm-svn: 101532
2010-04-16 20:22:43 +00:00
Dan Gohman
148c69a3f6
Eliminate an unnecessary SelectionDAG dependency in getOptimalMemOpType.
...
llvm-svn: 101531
2010-04-16 20:11:05 +00:00
Dan Gohman
9dbe61456a
Fix this code to avoid implicit assumptions about the length of the array.
...
llvm-svn: 101530
2010-04-16 20:08:45 +00:00
Johnny Chen
2b7aba10c2
In the same spirit of r101524, which removed the assert() from printAddrMode2OffsetOperand(),
...
this patch removes the assert() from printAddrMode3OffsetOperand() and adds a test case.
llvm-svn: 101529
2010-04-16 19:57:21 +00:00
Dan Gohman
0591a050ff
Revert 101520, which depended on 101503, which was reverted.
...
llvm-svn: 101528
2010-04-16 19:36:41 +00:00
Johnny Chen
807e1748fc
Multiclass LdStCop was using pre-UAL syntax LDC<c>L for the L fragment. Changed
...
to the UAL syntax of LDCL<c>, instead.
Add a test case for this change which also tests the removal of assert() from
printAddrMode2OffsetOperand().
llvm-svn: 101527
2010-04-16 19:33:23 +00:00
Douglas Gregor
5c8ffab9fb
Switch the checking of implicit casts for static_cast, C-style, and
...
functional casts over to InitializationSequence, eliminating a caller
of Sema::TryImplicitConversion. We also get access and ambiguity
checking "for free".
More cleanups to come in this routine.
llvm-svn: 101526
2010-04-16 19:30:02 +00:00
Duncan Sands
7fc8123b37
Revert commit 101503 (johannes), in the hope of fixing the dragonegg build,
...
see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693
Original commit text:
Use a ValueMap not a std::map for the reason indicated
in the comment. This was causing nondeterministic changes
in inlining decisions.
llvm-svn: 101525
2010-04-16 19:28:59 +00:00
Johnny Chen
88599a42bb
Remove the assert() from printAddrMode2OffsetOperand(). "#0 and #-0" are
...
considered legal instructions.
Refs: A8.6.51 LDC, LDC2 (immediate) -- page A8-107, A8.6.58 LDR (immediate, ARM)
-- page A8-121, and A8.6.194 STR (immediate, ARM) -- page A8-395.
llvm-svn: 101524
2010-04-16 19:10:52 +00:00
Nick Lewycky
40884c0520
Add a write(raw_ostream&) method to RewriteBuffer. This uses an inefficient
...
implementation today but is the right place if we want to make it faster some
day.
llvm-svn: 101521
2010-04-16 18:49:45 +00:00
Dan Gohman
076a3278a1
Trim a #include.
...
llvm-svn: 101520
2010-04-16 18:45:11 +00:00
Chris Lattner
4dcc6ddb43
allow mapping fatal errors to errors.
...
llvm-svn: 101516
2010-04-16 18:39:52 +00:00
Dan Gohman
c1ce91603c
Revert r101455, which fails on the llvm-arm-linux buildbot.
...
llvm-svn: 101515
2010-04-16 18:37:31 +00:00
Dale Johannesen
3104bf1618
Use a ValueMap not a std::map for the reason indicated
...
in the comment. This was causing nondeterministic changes
in inlining decisions.
llvm-svn: 101503
2010-04-16 18:16:08 +00:00
Douglas Gregor
e81335c85b
Kill ForceRValue once and for all
...
llvm-svn: 101502
2010-04-16 18:00:29 +00:00
Evan Cheng
954bd598dd
80 col.
...
llvm-svn: 101501
2010-04-16 17:58:41 +00:00
Evan Cheng
d6b0a7c075
80 col.
...
llvm-svn: 101500
2010-04-16 17:57:59 +00:00
Ted Kremenek
ef55dd17ec
Static analyzer: Don't crash when casting a symbolic region address to a float. Fixes PR 6854.
...
llvm-svn: 101499
2010-04-16 17:54:33 +00:00
Douglas Gregor
dcd27fff43
Eliminate the ForceRValue parameter from TryCopyInitialization.
...
llvm-svn: 101498
2010-04-16 17:53:55 +00:00
Douglas Gregor
cb13cfc878
Move Sema::TryCopyInitialization into a static function in
...
SemaOverload.cpp; no functionality change.
llvm-svn: 101497
2010-04-16 17:51:22 +00:00
Douglas Gregor
adc7a704d2
Eliminate ForceRValue parameters from reference binding. Did I mention
...
that we aren't using ForceRValue any more?
llvm-svn: 101496
2010-04-16 17:45:54 +00:00
Benjamin Kramer
659d7fc003
Silence warning.
...
llvm-svn: 101495
2010-04-16 17:43:15 +00:00
Douglas Gregor
b05275ac47
Eliminate the ForceRValue parameter to Sema::AddOverloadCandidate
...
llvm-svn: 101494
2010-04-16 17:41:49 +00:00
Douglas Gregor
f1e4669232
Eliminate the ForceRValue parameter from most of Sema's Add*Candidate
...
functions.
llvm-svn: 101492
2010-04-16 17:33:27 +00:00
Douglas Gregor
7b23e41774
Eliminate the ForceRValue parameter from Sema::IsUserDefinedConversion. It's not the way we're going to handle this.
...
llvm-svn: 101483
2010-04-16 17:25:05 +00:00
Douglas Gregor
73b0cd72ff
Eliminate the default value for the UserCast parameter of Sema::IsUserDefinedConversion. No functionality change
...
llvm-svn: 101482
2010-04-16 17:21:50 +00:00
Douglas Gregor
f149520464
Eliminate the Elidable parameter to PerformImplicitConversion; we
...
don't need it.
llvm-svn: 101481
2010-04-16 17:16:43 +00:00
Dan Gohman
3a7ee8eead
Avoid creating virtual registers for unused values.
...
llvm-svn: 101480
2010-04-16 17:15:02 +00:00
Dan Gohman
5664b9f1a9
Fix an assertion string.
...
llvm-svn: 101478
2010-04-16 16:55:18 +00:00
Dan Gohman
4572a9f479
Fix a comment.
...
llvm-svn: 101477
2010-04-16 16:52:37 +00:00
Dan Gohman
6e8427e066
Remove this hard-coded buffer size. In some basic experiments preprocessing
...
large files, this doesn't seem significantly better than just letting
raw_ostream pick a buffer size.
This code predates raw-ostream's automatic buffer sizing; in fact, it
was introduced as part of the code which would eventually become
raw_ostream.
llvm-svn: 101473
2010-04-16 16:28:05 +00:00
Anders Carlsson
be6f3181dd
Make CGRecordLayoutBuilder deal with wide bit-fields. Will land tests shortly (Daniel, please review).
...
llvm-svn: 101472
2010-04-16 16:23:02 +00:00
Dan Gohman
f13f69f296
Disable inlining of recursive calls. It can complicate tailcallelim and
...
dependent analyses, and increase code size, so doing it profitably would
require more complex heuristics.
llvm-svn: 101471
2010-04-16 16:01:18 +00:00
Anders Carlsson
d9abbe56a5
Remove printfs.
...
llvm-svn: 101470
2010-04-16 15:59:41 +00:00
Dan Gohman
99e5327bfd
Refine the detection of seemingly infinitely recursive calls where the
...
callee is expected to be expanded to something else by codegen, so that
normal infinitely recursive calls are still transformed.
llvm-svn: 101468
2010-04-16 15:57:50 +00:00
Anders Carlsson
5723516ce9
More work on wide bit-fields, WIP.
...
llvm-svn: 101467
2010-04-16 15:57:11 +00:00
Dan Gohman
74b3631d57
Add Debug+Coverage to svn:ignore.
...
llvm-svn: 101466
2010-04-16 15:44:09 +00:00
Gabor Greif
f375520f7b
reapply r101434
...
with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101465
2010-04-16 15:33:14 +00:00
Anders Carlsson
d5635feb1a
Start working on handling wide bitfields in C++
...
llvm-svn: 101464
2010-04-16 15:16:32 +00:00
Dan Gohman
b3862ecd48
Make callIsSmall accessible as a utility function.
...
llvm-svn: 101463
2010-04-16 15:14:50 +00:00
Anders Carlsson
5efc56e36b
Rename the ASTContext member 'Context'.
...
llvm-svn: 101462
2010-04-16 15:07:51 +00:00
Dan Gohman
12293815de
Fix SCEVCommutativeExpr::print to be robust in the case of improper
...
expression canonicalization. Its job is to print what's there, not to
make judgements about it.
llvm-svn: 101461
2010-04-16 15:03:25 +00:00
Dan Gohman
aa4d9ea465
Delete a blank line.
...
llvm-svn: 101459
2010-04-16 13:32:55 +00:00
Dan Gohman
c3d9af03bb
Add Debug+Coverage to more svn:ignore properties.
...
llvm-svn: 101457
2010-04-16 13:29:35 +00:00
Bill Wendling
ae4541d758
Add JIT exception handling test.
...
llvm-svn: 101455
2010-04-16 09:04:28 +00:00
Bill Wendling
929f3c0927
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
...
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
section for the MCSymbol is never set. And thus the MCSymbol for the EH label
isn't marked as "defined". Because of that, TidyLandingPads removes the needed
landing pads from the JIT output. This breaks EH for every JIT program.
This is a work-around for this limitation. We pass in the label locations
map. If the label has a non-zero value, then it was "emitted" by the JIT and
TidyLandingPads shouldn't remove that label.
A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
upon the section being set to determine if it's defined or not.
llvm-svn: 101453
2010-04-16 08:46:10 +00:00
Douglas Gregor
d2b896ab69
Only predefine the macro _GNU_SOURCE in C++ mode when we're on a
...
platform that typically uses glibc. Fixes a Boost.Thread compilation
failure.
llvm-svn: 101450
2010-04-16 06:31:05 +00:00
Chris Lattner
408f79197c
completed my pass over all 6+ months of commits, next step, format and make comprehendable.
...
llvm-svn: 101449
2010-04-16 06:20:22 +00:00
Evan Cheng
af56facacd
Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding.
...
x86 support is off by default. It can be enabled with -promote-16bit.
Work in progress.
llvm-svn: 101448
2010-04-16 06:14:10 +00:00