Rafael Espindola
2e84c82750
Use %rbp on a 64 bit test.
...
llvm-svn: 132279
2011-05-29 04:04:50 +00:00
Rafael Espindola
0f17990f28
Fix to match the dwarf register numbers that gdb uses.
...
llvm-svn: 132278
2011-05-29 03:58:16 +00:00
Eli Friedman
8f630d9ffc
Fix tests broken by r132257.
...
llvm-svn: 132277
2011-05-29 03:51:55 +00:00
Rafael Espindola
ccfd392c13
Dwarf register 0 is r0, remove incorrect entries.
...
llvm-svn: 132276
2011-05-29 03:17:01 +00:00
John McCall
2c6d23fba2
Fix this to work correctly with phis; test case to follow if this successfully
...
fixes self-host.
llvm-svn: 132275
2011-05-29 03:01:09 +00:00
Rafael Espindola
fd75d45b88
Remove the dwarf numbers from the D registers. They don't have dwarf numbers
...
and should probably be encoded as
DW_OP_reg 32 DW_OP_piece 4 DW_OP_reg 33
llvm-svn: 132274
2011-05-29 02:21:01 +00:00
Greg Clayton
2dfd12fb22
lldb-57
...
llvm-svn: 132271
2011-05-29 01:30:02 +00:00
Greg Clayton
c0ea046a80
Fixed an issue that could cause LLDB to spin indefinitely.
...
llvm-svn: 132270
2011-05-29 00:45:15 +00:00
John McCall
9b382dde92
Convert Clang over to resuming from landing pads with llvm.eh.resume.
...
It's quite likely that this will explode, but I need to know how. :)
llvm-svn: 132269
2011-05-28 21:13:02 +00:00
Cameron Zwarich
6528a54946
Fix ARM fast isel to correctly flag memory operands to stores. This fixes
...
-verify-machineinstrs failures on several tests.
llvm-svn: 132268
2011-05-28 20:34:49 +00:00
Howard Hinnant
9e5c99f61f
noexcept for <typeindex>. This completes Chapter 20 [utilities].
...
llvm-svn: 132267
2011-05-28 18:57:24 +00:00
Howard Hinnant
cfd52789dc
noexcept for <scoped_allocator>.
...
llvm-svn: 132266
2011-05-28 18:51:12 +00:00
Howard Hinnant
d53d81522d
noexcept for <chrono>.
...
llvm-svn: 132265
2011-05-28 18:34:36 +00:00
Howard Hinnant
6a07d6f06d
noexcept for <functional>.
...
llvm-svn: 132264
2011-05-28 17:59:48 +00:00
Nadav Rotem
d86c1c41fb
Refactor the type legalizer. Switch TargetLowering to a new enum - LegalizeTypeAction.
...
This patch does not change the behavior of the type legalizer. The codegen
produces the same code.
This infrastructural change is needed in order to enable complex decisions
for vector types (needed by the vector-select patch).
llvm-svn: 132263
2011-05-28 17:57:14 +00:00
Chris Lattner
4b799d4e0c
make this a bit less confusing
...
llvm-svn: 132262
2011-05-28 17:53:17 +00:00
Howard Hinnant
3739fe79e5
noexcept for <memory>. I've added a few extension noexcept to: allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default|
...
llvm-svn: 132261
2011-05-28 14:41:13 +00:00
Benjamin Kramer
df1fb13a5c
Eliminate temporary argument vectors.
...
llvm-svn: 132260
2011-05-28 14:26:31 +00:00
David Chisnall
7441d8823f
Fix another type mismatch.
...
llvm-svn: 132259
2011-05-28 14:23:43 +00:00
David Chisnall
8a42d19b33
Fix missing cast.
...
llvm-svn: 132258
2011-05-28 14:09:01 +00:00
Renato Golin
161505f480
adding XFAIL and XTARGET to those that require Darwin host
...
llvm-svn: 132257
2011-05-28 14:03:16 +00:00
Benjamin Kramer
e260b2b08a
Erase instructions _after_ checking their type.
...
llvm-svn: 132256
2011-05-28 11:48:37 +00:00
Benjamin Kramer
41112a1703
Move ARM specific test into the ARM subdir.
...
llvm-svn: 132255
2011-05-28 11:01:30 +00:00
Benjamin Kramer
fd53a27f99
ConstantFoldInstOperands doesn't like compares, hand it off to instsimplify instead.
...
Fixes PR10040.
llvm-svn: 132254
2011-05-28 10:16:58 +00:00
John McCall
046c47e970
Implement and document the llvm.eh.resume intrinsic, which is
...
transformed by the inliner into a branch to the enclosing landing pad
(when inlined through an invoke). If not so optimized, it is lowered
DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
as appropriate). Its chief advantage is that it takes both the
exception value and the selector value as arguments, meaning that there
is zero effort in recovering these; however, the frontend is required
to pass these down, which is not actually particularly difficult.
Also document the behavior of landing pads a bit better, and make it
clearer that it's okay that personality functions don't always land at
landing pads. This is just a fact of life. Don't write optimizations that
rely on pushing things over an unwind edge.
llvm-svn: 132253
2011-05-28 07:45:59 +00:00
John McCall
375dcc9ec9
Change how tblgen generates attributes for intrinsics to use a single
...
switch. With this newfound organization, teach tblgen how not to give
all intrinsics the 'nounwind' attribute. Introduce a new intrinsic,
llvm.eh.resume, which does not have this attribute. Documentation and uses
to follow.
llvm-svn: 132252
2011-05-28 06:31:34 +00:00
Charles Davis
5638b9f01e
When generating code for Win64 EH, emit StartProc and EndProc directives.
...
llvm-svn: 132250
2011-05-28 04:21:04 +00:00
Bruno Cardoso Lopes
fe73374d7a
Add support for ARM ldrexd/strexd builtins
...
llvm-svn: 132249
2011-05-28 04:11:33 +00:00
Bruno Cardoso Lopes
325110f30d
Add support for ARM ldrexd/strexd intrinsics. They both use i32 register pairs
...
to load/store i64 values. Since there's no current support to explicitly
declare such restrictions, implement it by using specific hardcoded register
pairs during isel.
llvm-svn: 132248
2011-05-28 04:07:29 +00:00
Argyrios Kyrtzidis
814b2a6d6b
Add a couple of helper methods in the SourceManager API, isAtStartOfMacroInstantiation/isAtEndOfMacroInstantiation
...
useful only for source locations that point at a macro token.
llvm-svn: 132247
2011-05-28 03:56:11 +00:00
Eric Christopher
368976f5cc
This actually starts at offset 0, not 1.
...
llvm-svn: 132246
2011-05-28 03:16:22 +00:00
Jakob Stoklund Olesen
fd3f71ef3a
Create two BlockInfo entries when a live range is discontinuous through a block.
...
Delete the Kill and Def markers in BlockInfo. They are no longer
necessary when BlockInfo describes a continuous live range.
This only affects the relatively rare kind of basic block where a live
range looks like this:
|---x o---|
Now live range splitting can pretend that it is looking at two blocks:
|---x
o---|
This allows the code to be simplified a bit.
llvm-svn: 132245
2011-05-28 02:33:00 +00:00
Jakob Stoklund Olesen
5cc91b2611
Add SplitAnalysis::getNumLiveBlocks().
...
It is important that this function returns the same number of live blocks as
countLiveBlocks(CurLI) because live range splitting uses the number of live
blocks to ensure it is making progress.
This is in preparation of supporting duplicate UseBlock entries for basic blocks
that have a virtual register live-in and live-out, but not live-though.
llvm-svn: 132244
2011-05-28 02:32:57 +00:00
Akira Hatanaka
a6664cdbf0
Change the set of callee-saved registers for non-MIPS32 architectures specified
...
in MipsRegisterInfo::getCalleeSavedRegs so that both registers paired for a
double precision register get saved.
llvm-svn: 132243
2011-05-28 01:41:05 +00:00
Eric Christopher
d00e8ad803
Implement the 'M' output modifier for arm inline asm. This is fairly
...
register allocation dependent and will occasionally break. WIP in the
register allocator to model paired/etc registers.
rdar://9119939
llvm-svn: 132242
2011-05-28 01:40:44 +00:00
Chad Rosier
96ea58e7c7
Add missing newlines.
...
llvm-svn: 132241
2011-05-28 01:35:58 +00:00
Akira Hatanaka
b406843fe5
Define a wrapper node for target constant nodes (tglobaladdr, etc.).
...
Need this to prevent emitting illegal conditional move instructions.
llvm-svn: 132240
2011-05-28 01:07:07 +00:00
Devang Patel
8816bbc02d
Select DW_AT_const_value size based on global variable size.
...
llvm-svn: 132239
2011-05-28 00:39:18 +00:00
Rafael Espindola
19fea7a840
Add 132187 back now that the real problem is fixed.
...
llvm-svn: 132238
2011-05-28 00:24:37 +00:00
Chad Rosier
f374d8b0cf
Fix test cases that were previously using grep to use FileCheck
...
llvm-svn: 132237
2011-05-28 00:15:10 +00:00
Rafael Espindola
836f7db2cc
Fix the root cause of the bootstrap failure:
...
There was no way to check if a given register/mode pair was valid. We now return
an error code (-2) instead of asserting. If anyone thinks that an assert
at this point is really needed, we can autogen a hasValidDwarfRegNum instead.
llvm-svn: 132236
2011-05-28 00:13:01 +00:00
Cameron Zwarich
1d553a2cc4
Fix the remaining atomic intrinsics to use the right register classes on Thumb2,
...
and add some basic tests for them.
llvm-svn: 132235
2011-05-27 23:54:00 +00:00
Charles Davis
91ed799eb4
Stub out support for Win64-style exceptions. Note that this is merely using
...
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
llvm-svn: 132234
2011-05-27 23:47:32 +00:00
Bruno Cardoso Lopes
787dfadc7c
ARM asm parser wasn't able to parse a "mov" instruction while in Thumb
...
mode (only the "mov.w" variant). Now, when parsing "mov" in thumb mode,
default to the Thumb 1 versions/encodings.
llvm-svn: 132233
2011-05-27 23:46:09 +00:00
Johnny Chen
61c79c0ba4
Fix some comments.
...
llvm-svn: 132232
2011-05-27 23:42:45 +00:00
Johnny Chen
f359cf2c84
Add comment headers describing some method groups of our TestBase class.
...
Remove an unnecessary __import__() function call.
llvm-svn: 132231
2011-05-27 23:36:52 +00:00
Rafael Espindola
a5149b5cea
It looks like 132187 might have broken the llvm-gcc bootstrap. Revert while I check.
...
llvm-svn: 132230
2011-05-27 23:36:02 +00:00
Douglas Gregor
e3ba404560
Clean up a C++0x/C++03 conditional check.
...
llvm-svn: 132229
2011-05-27 23:15:17 +00:00
Eli Friedman
873106a932
Force a triple to make this test pass on Darwin.
...
llvm-svn: 132228
2011-05-27 23:12:48 +00:00
Chad Rosier
06da55e7d0
Clean out the 2.9 Release Notes. Mostly limited to What's New in LLVM
...
and enhancements in sub-project status updates.
llvm-svn: 132227
2011-05-27 22:50:46 +00:00