Jim Grosbach
e9cc901814
Refact ARM Thumb1 tMOVr instruction family.
...
Merge the tMOVr, tMOVgpr2tgpr, tMOVtgpr2gpr, and tMOVgpr2gpr instructions
into tMOVr. There's no need to keep them separate. Giving the tMOVr
instruction the proper GPR register class for its operands is sufficient
to give the register allocator enough information to do the right thing
directly.
llvm-svn: 134204
2011-06-30 23:38:17 +00:00
Eric Christopher
f45daac30f
Add support for the 'h' constraint.
...
Part of rdar://9119939
llvm-svn: 134203
2011-06-30 23:23:01 +00:00
Bill Wendling
b403f0c4ed
Add target a target hook to get the register number used by the compact unwind
...
encoding for the registers it knows about. Return -1 if it can't handle that
register.
llvm-svn: 134202
2011-06-30 23:20:32 +00:00
Rafael Espindola
abe5f97634
Revert my previous patch while I debug llvm-gcc bootstrap.
...
llvm-svn: 134201
2011-06-30 22:58:17 +00:00
Bill Wendling
2fd8d775df
Add one more comment to the FDE verbose asm output.
...
llvm-svn: 134200
2011-06-30 22:35:49 +00:00
Rafael Espindola
027cb82657
Don't give up on coalescing A and B when we find
...
A = X
B = X
Instead, proceed as if we had found
A = X
B = A
llvm-svn: 134199
2011-06-30 22:24:13 +00:00
Eric Christopher
c486b47b15
Add a convenience typedef for std::pair<unsigned, const TargetRegisterClass*>.
...
No functional change.
Part of rdar://9119939
llvm-svn: 134198
2011-06-30 22:17:01 +00:00
Jim Grosbach
b98ab91e39
Thumb1 register to register MOV instruction is predicable.
...
Fix a FIXME and allow predication (in Thumb2) for the T1 register to
register MOV instructions. This allows some better codegen with
if-conversion (as seen in the test updates), plus it lays the groundwork
for pseudo-izing the tMOVCC instructions.
llvm-svn: 134197
2011-06-30 22:10:46 +00:00
Bill Wendling
f166ab447e
Add comments to the FDE.
...
llvm-svn: 134196
2011-06-30 22:02:20 +00:00
John McCall
db49969b32
No, actually, we do need to be able to mangle substituted template names.
...
llvm-svn: 134195
2011-06-30 21:59:02 +00:00
Bill Wendling
e7fe47e53b
Add more comments to the ASM output for the CIE's "moves".
...
llvm-svn: 134194
2011-06-30 21:45:12 +00:00
Jakob Stoklund Olesen
2034261972
Tweak error messages to match GCC. Should fix gcc.target/i386/pr30848.c
...
llvm-svn: 134193
2011-06-30 21:30:30 +00:00
Johnny Chen
ee481783cb
Add module docstring to the auto-generated lldb.py file.
...
llvm-svn: 134192
2011-06-30 21:29:50 +00:00
Bill Wendling
567a1aee85
Add comments to the ASM output to help understand the compact unwind and CIE tables.
...
llvm-svn: 134191
2011-06-30 21:25:51 +00:00
Howard Hinnant
ce48a1137d
_STD -> _VSTD to avoid macro clash on windows
...
llvm-svn: 134190
2011-06-30 21:18:19 +00:00
Rafael Espindola
070f96c567
Create a isFullCopy predicate.
...
llvm-svn: 134189
2011-06-30 21:15:52 +00:00
Tobias Grosser
7c5ba83015
ScheduleOpt: Prevectorize the innermost parallel loop
...
Only prevectorize loops that are actually parallel and can
be vectorized. Take the innermost loop that is eligible.
llvm-svn: 134187
2011-06-30 20:29:20 +00:00
Tobias Grosser
c6699b7fe8
ScheduleOpt: Add first version of prevectorization
...
We just strip-mine the innermost dimension by the vector width. This does not
take into account if this dimension is parallel nor if it is constant.
llvm-svn: 134186
2011-06-30 20:29:13 +00:00
Hans Wennborg
77d1abef07
Fix off-by-one error in StringLiteral::getLocationOfByte.
...
This fixes PR10223.
llvm-svn: 134183
2011-06-30 20:17:41 +00:00
Rafael Espindola
b10a0f223a
Add r134057 back, but splice the predecessor after the successors phi
...
nodes.
Original message:
Let simplify cfg simplify bb with only debug and lifetime intrinsics.
llvm-svn: 134182
2011-06-30 20:14:24 +00:00
Tobias Grosser
de68cc91cf
ScheduleOpt: Use band forest to get the schedules
...
isl introduced a new representation for the schedules it calculates. The new
representation uses a forest of bands and is closer to the structure of the
data as the old interface. Switch to the new interface, as it is nicer to use
and as the old interface will soon be removed from isl.
WARNING: This commit needs a version of isl that is more recent that the one
included in CLooG. See:
http://polly.grosser.es/get_started.html#islTrunk
llvm-svn: 134181
2011-06-30 20:01:02 +00:00
Tobias Grosser
080307119e
Buildsystem: Add -no-rtti
...
Build Polly without run time type info (rtti), as otherwise Polly cannot be
loaded into a LLVM that is built without rtti.
llvm-svn: 134180
2011-06-30 19:50:04 +00:00
Tobias Grosser
97fb5acf48
CodeGeneration: Adapt to SCEVExpander change
...
Reported-By: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 134179
2011-06-30 19:39:10 +00:00
Jim Grosbach
e4750ef6ec
Pseudo-ize the Thumb tTPsoft instruction.
...
It's just a call to a special helper function. Get rid of the T2 variant
entirely, as it's identical to the Thumb1 version.
llvm-svn: 134178
2011-06-30 19:38:01 +00:00
Andrew Trick
efe89ad414
indvars -disable-iv-rewrite: handle cloning binary operators that cannot overflow.
...
llvm-svn: 134177
2011-06-30 19:02:17 +00:00
Johnny Chen
cc76475fff
Ifdef out the 'lldb::Encoding GetEncoding(uint32_t &count)' API from
...
Python SWIG, since it cannot hanlde the (uint32_t &count) parameter.
llvm-svn: 134176
2011-06-30 18:40:27 +00:00
Jim Grosbach
353da73186
Pseudo-ize the t2LDMIA_RET instruction.
...
It's just a t2LDMIA_UPD instruction with extra codegen properties, so it
doesn't need the encoding information. As a side-benefit, we now correctly
recognize for instruction printing as a 'pop' instruction.
llvm-svn: 134173
2011-06-30 18:25:42 +00:00
Jim Grosbach
417671a7b1
Pseudo-ize the Thumb tPOP_RET instruction.
...
It's just a tPOP instruction with additional code-gen properties, so it
doesn't need encoding information.
llvm-svn: 134172
2011-06-30 17:34:04 +00:00
Hans Wennborg
de7a9c2415
Move test/Sema/return.cpp into test/SemaCXX/return.cpp
...
llvm-svn: 134171
2011-06-30 17:20:18 +00:00
John McCall
0b645e9030
Perform lvalue-to-rvalue conversions on both operands of ->*
...
and the RHS of .*. Noticed by Enea Zaffanella!
llvm-svn: 134170
2011-06-30 17:15:34 +00:00
Hans Wennborg
bfee88a0cf
svn propdel svn:eol-style test/Sema/return.cpp
...
llvm-svn: 134169
2011-06-30 16:49:43 +00:00
Peter Collingbourne
d395b9344d
Replace an unreachable error path with an assert
...
(SourceManager::createFileID cannot return an invalid file ID).
Also update a comment to reflect this.
llvm-svn: 134168
2011-06-30 16:41:03 +00:00
Peter Collingbourne
400d7b9e08
Fix typo
...
llvm-svn: 134167
2011-06-30 16:40:50 +00:00
Hans Wennborg
c47ae95f8d
Test for errors for returning a value from a ctor or dtor.
...
This fell out when Chandler landed the patch in r134138.
llvm-svn: 134163
2011-06-30 15:48:23 +00:00
Tobias Grosser
538d458bbc
www: Fix typos.
...
llvm-svn: 134158
2011-06-30 14:43:35 +00:00
Tobias Grosser
1dbc8a00a2
www/contributers: Add founding through Google Doctoral Fellowship
...
llvm-svn: 134156
2011-06-30 14:32:33 +00:00
Howard Hinnant
15434707e4
Patch by Petteri Räty, http://llvm.org/bugs/show_bug.cgi?id=8992
...
llvm-svn: 134155
2011-06-30 14:21:55 +00:00
Tobias Grosser
3fb8c11bd0
www/get_started: Explain when PoCC is needed
...
llvm-svn: 134153
2011-06-30 14:07:35 +00:00
Tobias Grosser
672137eaa0
www: How to use most recent version of isl
...
In some cases it is necessary to use a version of isl that is more recent than
the one included with CLooG. Point out what is needed to get such a version.
llvm-svn: 134152
2011-06-30 14:07:23 +00:00
Rafael Espindola
79fd2e7a95
Remove dead code.
...
llvm-svn: 134148
2011-06-30 13:17:24 +00:00
David Chisnall
08d6733ed7
Add support for weakly imported classes (GNU runtime).
...
llvm-svn: 134140
2011-06-30 10:14:37 +00:00
Abramo Bagnara
2caedf449e
Fixed enum constant evaluation assertions.
...
llvm-svn: 134139
2011-06-30 09:36:05 +00:00
Chandler Carruth
1406d6c037
Improve the wording of the warning when returning a value from
...
a constructor or destructor.
Patch by Hans Wennborg.
llvm-svn: 134138
2011-06-30 08:56:22 +00:00
John McCall
d9dfe3a1f8
Preserve that a TemplateName was arrived at by substituting
...
for a template template parameter.
Uses to follow.
I've also made the uniquing of SubstTemplateTemplateParmPacks
use a ContextualFoldingSet as a minor space efficiency.
llvm-svn: 134137
2011-06-30 08:33:18 +00:00
Chandler Carruth
c91f09d73a
Fix an obvious typo in an attribute's diagnostics.
...
Patch by Caitlin Sadowski.
Unfortunately, this attribute doesn't seem to have a single test. It is
only mentioned in comments in one test, and as a string literal in
a copy of some Clang code checked in as a test for the Indexer. =[ It
dates from 2009 r74280 as part of OpenCL 1.0.
llvm-svn: 134136
2011-06-30 08:14:54 +00:00
Jason Molenda
a049469c5b
Restructure to be modular instead of a single big function;
...
should make it a little easier to use this as an example of
how to fetch all the different bits of information about
threads.
llvm-svn: 134135
2011-06-30 07:25:17 +00:00
Duncan Sands
23fb54ed15
The enum was moved to ISDOpcodes.h.
...
llvm-svn: 134134
2011-06-30 06:37:07 +00:00
Greg Clayton
e305594277
Centralize all of the type name code so that we always strip the leading
...
"struct ", "class ", and "union " from the start of any type names that are
extracted from clang QualType objects. I had to fix test suite cases that
were expecting the struct/union/class prefix to be there.
llvm-svn: 134132
2011-06-30 02:28:26 +00:00
Jim Grosbach
cfe3b14d77
Kill dead code.
...
llvm-svn: 134131
2011-06-30 02:23:05 +00:00
Jim Grosbach
ed5134a921
Size reducing SP adjusting t2ADDri needs to check predication.
...
tADDrSPi is not predicable, so we can't size-reduce a t2ADDri to it if the
predicate is anything other than "always."
llvm-svn: 134130
2011-06-30 02:22:49 +00:00