Howard Hinnant
9435d38cfc
sync with working paper
...
llvm-svn: 104542
2010-05-24 19:09:54 +00:00
Bob Wilson
3eb7691858
Thumb2 RSBS instructions were being printed without the 'S' suffix.
...
Fix it by changing the T2I_rbin_s_is multiclass to handle the CPSR
output and 'S' suffix in the same way as T2I_bin_s_irs.
llvm-svn: 104531
2010-05-24 18:44:06 +00:00
Chris Lattner
787aef9aed
when too many errors are emitted, and we produce:
...
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Tell the user that this is controlled with -ferror-limit=, like above.
llvm-svn: 104528
2010-05-24 18:37:03 +00:00
Fariborz Jahanian
36680dd751
Fix a rewriting bug where a local static objective-c
...
pointer is copied into a block. Fixes radar 7924024.
llvm-svn: 104526
2010-05-24 18:32:56 +00:00
Devang Patel
51b37e0bd8
Do not emit line number entries for unknown debug values.
...
This fixes recent regression in store.exp from gdb testsuite.
llvm-svn: 104524
2010-05-24 18:26:49 +00:00
Evan Cheng
755d45be43
LR is in GPR, not tGPR even in Thumb1 mode.
...
llvm-svn: 104518
2010-05-24 18:00:18 +00:00
Jakob Stoklund Olesen
ff2d118733
Add SubRegIndex defs to PowerPC. It looks like the CR subregister indices are
...
never used.
llvm-svn: 104517
2010-05-24 17:55:38 +00:00
Howard Hinnant
128ba7191d
patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
...
llvm-svn: 104516
2010-05-24 17:49:41 +00:00
Jakob Stoklund Olesen
8a57aeca2a
Use SubRegIndex in SystemZ.
...
Anton, please review the change to SystemZAsmPrinter.cpp. It could be a bug.
llvm-svn: 104515
2010-05-24 17:43:01 +00:00
Jakob Stoklund Olesen
5d56769fb6
SubRegIndex'ize Mips
...
llvm-svn: 104514
2010-05-24 17:42:58 +00:00
Jakob Stoklund Olesen
fd6f16fab9
SubRegIndex'ize MSP430
...
llvm-svn: 104513
2010-05-24 17:42:55 +00:00
Fariborz Jahanian
427ee8b5f3
Fix an objective-c rewriter bug when pre-processed file's
...
class declaration's @end is not followed by a new-line.
(radar 7946975).
llvm-svn: 104512
2010-05-24 17:22:38 +00:00
Douglas Gregor
5a5073e4d6
Make sure that we instantiate variably modified types, even if they
...
aren't dependent. Fixes <rdar://problem/8020206>.
llvm-svn: 104511
2010-05-24 17:22:01 +00:00
Jakob Stoklund Olesen
8d042c0269
Fix a few places that depended on the numeric value of subreg indices.
...
Add assertions in places that depend on consecutive indices.
llvm-svn: 104510
2010-05-24 17:13:28 +00:00
Douglas Gregor
bb3348ed33
Downgrade deletion of a void* from an error (which is should be) to an
...
extension warning (which other compilers seem to use). Works around a
known bug in Xalan.
llvm-svn: 104509
2010-05-24 17:01:56 +00:00
Jakob Stoklund Olesen
6c47d6423c
Switch ARMRegisterInfo.td to use SubRegIndex and eliminate the parallel enums
...
from ARMRegisterInfo.h
llvm-svn: 104508
2010-05-24 16:54:32 +00:00
Jakob Stoklund Olesen
9340ea59e1
Rename X86 subregister indices to something shorter.
...
Use the tablegen-produced enums.
llvm-svn: 104493
2010-05-24 14:48:17 +00:00
Jakob Stoklund Olesen
1c69646e99
Add the SubRegIndex TableGen class.
...
This is the beginning of purely symbolic subregister indices, but we need a bit
of jiggling before the explicit numeric indices can be completely removed.
llvm-svn: 104492
2010-05-24 14:48:12 +00:00
Nicolas Geoffray
c5327226e4
Encode the Caml frametable by following what the comment says: the number of descriptors
...
is first emitted, and StackOffsets are emitted in 16 bits.
llvm-svn: 104488
2010-05-24 12:24:11 +00:00
Duncan Sands
e9cd6d069d
Apply timeouts and memory limits in more places. In particular, when
...
bugpoint does "Running the code generator to test for a crash" this
gets you a crash if llc goes into an infinite loop or uses up vast
amounts of memory.
llvm-svn: 104485
2010-05-24 07:49:55 +00:00
Howard Hinnant
5d6a2e509f
Optimized [rand.dist.samp.pconst] and several bug fixes in other distributions
...
llvm-svn: 104478
2010-05-24 00:35:40 +00:00
Douglas Gregor
e87561aa2e
An identity conversion is better than any non-identity
...
conversion. Fixes PR7095.
llvm-svn: 104476
2010-05-23 22:10:15 +00:00
Douglas Gregor
bea453a0fc
In C++, one cannot assign from an arithmetic type to an enumeration
...
type. Fixes PR7051.
llvm-svn: 104475
2010-05-23 21:53:47 +00:00
Douglas Gregor
01308a0e11
Make clang_isFromMainFile() robust against NULL source locations.
...
llvm-svn: 104474
2010-05-23 21:31:22 +00:00
Benjamin Kramer
dc99965343
Add a comment for r104472.
...
llvm-svn: 104473
2010-05-23 20:57:46 +00:00
Benjamin Kramer
11d4d9ec4e
PR5863: Don't erase unreachable BBs which have an associated cleanup size.
...
This works around a crash where malloc reused the memory of an erased BB for a
new BB leaving old cleanup information pointing at the new block.
llvm-svn: 104472
2010-05-23 20:00:44 +00:00
Douglas Gregor
a09387df9f
It turns out that people love using VLAs in templates, too. Weaken our
...
VLA restrictions so that one can use VLAs in templates (even
accidentally), but not as part of a non-type template parameter (which
would be very bad).
llvm-svn: 104471
2010-05-23 19:57:01 +00:00
Douglas Gregor
2788782164
Complain about sizeof(overloaded function) rather than crashing.
...
llvm-svn: 104470
2010-05-23 19:43:23 +00:00
Douglas Gregor
c69978f766
Move OverloadExpr over to a ASTContext-allocated pointer for its
...
storage, rather than an UnresolvedSet.
llvm-svn: 104469
2010-05-23 19:36:40 +00:00
Douglas Gregor
30a4f4c757
Provide the overloaded functions for UnresolvedLookupExpr and
...
UnresolvedMemberExpr in their constructors, rather than adding them
after the fact. No functionality change.
llvm-svn: 104468
2010-05-23 18:57:34 +00:00
Daniel Dunbar
6738a2e39e
llvm-mc: Use EmitIntValue where possible, which makes the API calls from the AsmParser and CodeGen line up better.
...
llvm-svn: 104467
2010-05-23 18:36:38 +00:00
Daniel Dunbar
8271d1bb4a
llvm-mc: Use AddBlankLine in asm parser. This makes transliteration match the input much more closely, and also makes the API calls from the AsmParser and CodeGen line up better.
...
llvm-svn: 104466
2010-05-23 18:36:34 +00:00
Douglas Gregor
1a80933d24
Keep track of all of the class and function template's "common"
...
pointers in the ASTContext, so that the folding sets stored inside
them will be deallocated when the ASTContext is destroyed (under
-disable-free). <rdar://problem/7998824>.
llvm-svn: 104465
2010-05-23 18:26:36 +00:00
Anders Carlsson
5773205a8d
When recording empty subobjects we should always look at the primary virtual base.
...
llvm-svn: 104464
2010-05-23 18:14:24 +00:00
Daniel Dunbar
3ff1a06de6
MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.
...
llvm-svn: 104463
2010-05-23 17:44:06 +00:00
Douglas Gregor
4b636a70d9
Put the VLA-is-an-extension warning into its own warning group (-Wvla)
...
so that it can be selectively enabled/disabled.
llvm-svn: 104462
2010-05-23 16:51:27 +00:00
Douglas Gregor
5e8c8c0e12
Even though we don't unique VLA types, we still need to build a
...
canonical type where the element type is canonical. Fixes PR7206.
llvm-svn: 104461
2010-05-23 16:10:32 +00:00
Bob Wilson
49f40e8c32
VDUP doesn't support vectors with 64-bit elements.
...
llvm-svn: 104455
2010-05-23 05:42:31 +00:00
John McCall
cc04e9f6b9
Re-teach IR gen to perform GC moves on rvalues resulting from various ObjC
...
expressions. Essentially, GC breaks a certain form of the return-value
optimization.
llvm-svn: 104454
2010-05-22 22:13:32 +00:00
Daniel Dunbar
b52fcd6304
MC/X86: Subdivide immediates a bit more, so that we properly recognize immediates based on the width of the target instruction. For example:
...
addw $0xFFFF, %ax
should match the same as
addw $-1, %ax
but we used to match it to the longer encoding.
llvm-svn: 104453
2010-05-22 21:02:33 +00:00
Daniel Dunbar
346782c12c
tblgen/AsmMatcher: Change AsmOperandClass to allow a list of superclasses instead of just one.
...
llvm-svn: 104452
2010-05-22 21:02:29 +00:00
Anders Carlsson
5b94443b16
Really fix PR7139. There was one boost test that we still failed, and my first fix broke self-host.
...
llvm-svn: 104447
2010-05-22 17:45:10 +00:00
Anders Carlsson
c0964b60e5
Re-land the fix for PR7139.
...
llvm-svn: 104446
2010-05-22 17:35:42 +00:00
Douglas Gregor
024d80e571
Don't look for a destructor in a dependent type. Fixes PR7198.
...
llvm-svn: 104445
2010-05-22 17:12:29 +00:00
Douglas Gregor
0c6f539564
When determining whether we can use "this", make sure to look through
...
enum contexts (along with block contexts, which we already did). Fixes
PR7196.
llvm-svn: 104444
2010-05-22 16:25:05 +00:00
Douglas Gregor
959d5a0cbd
Implement support for variable length arrays in C++. VLAs are limited
...
in several important ways:
- VLAs of non-POD types are not permitted.
- VLAs cannot be used in conjunction with C++ templates.
These restrictions are intended to keep VLAs out of the parts of the
C++ type system where they cause the most trouble. Fixes PR5678 and
<rdar://problem/8013618>.
llvm-svn: 104443
2010-05-22 16:17:30 +00:00
Chris Lattner
33eee34230
minor updates
...
llvm-svn: 104436
2010-05-22 07:02:06 +00:00
Daniel Dunbar
d459e29a0a
MC/X86: Add alias for setz, setnz, jz, jnz.
...
llvm-svn: 104435
2010-05-22 06:37:33 +00:00
Douglas Gregor
aae38d6610
Improve our handling of reference binding for subobjects of
...
temporaries. There are actually several interrelated fixes here:
- When converting an object to a base class, it's only an lvalue
cast when the original object was an lvalue and we aren't casting
pointer-to-derived to pointer-to-base. Previously, we were
misclassifying derived-to-base casts of class rvalues as lvalues,
causing various oddities (including problems with reference binding
not extending the lifetimes of some temporaries).
- Teach the code for emitting a reference binding how to look
through no-op casts and parentheses directly, since
Expr::IgnoreParenNoOpCasts is just plain wrong for this. Also, make
sure that we properly look through multiple levels of indirection
from the temporary object, but destroy the actual temporary object;
this fixes the reference-binding issue mentioned above.
- Teach Objective-C message sends to bind the result as a temporary
when needed. This is actually John's change, but it triggered the
reference-binding problem above, so it's included here. Now John
can actually test his return-slot improvements.
llvm-svn: 104434
2010-05-22 05:17:18 +00:00
John Mosby
987a1576d2
Trivial change to dump() function for SparseBitVector
...
llvm-svn: 104433
2010-05-22 05:13:17 +00:00