Chad Rosier
ef5ee1892c
Add a few FIXME comments.
...
llvm-svn: 142299
2011-10-17 22:54:23 +00:00
Dan Gohman
5e2d8538d7
Teach the ARC optimizer about the !clang.arc.copy_on_escape metadata
...
tag on objc_retainBlock calls, which indicates that they may be
optimized away. rdar://10211286.
llvm-svn: 142298
2011-10-17 22:53:25 +00:00
Jim Grosbach
8e9ca16af6
Tidy up.
...
llvm-svn: 142297
2011-10-17 22:41:42 +00:00
Rafael Espindola
a40b412c70
142288 broke the build:
...
Linking CXX executable ../../bin/llvm-as
../../lib/libLLVMAsmParser.a(LLParser.cpp.o):/home/espindola/llvm/llvm/lib/AsmParser/LLParser.cpp:function llvm::LLParser::ParseTargetDefinition(): error: undefined reference to 'llvm::TargetData::parseSpecifier(llvm::StringRef, llvm::TargetData*)'
clang-3: error: linker command failed with exit code 1 (use -v to see invocation)
Revert "Validate target data layout strings."
This reverts commit 599d2d4c25d3aee63a21d9c67a88cd43bd971b7e.
llvm-svn: 142296
2011-10-17 22:37:51 +00:00
Devang Patel
fb32a2ca1b
Update DebugInfoFinder to match recent debug info encoding changes.
...
llvm-svn: 142295
2011-10-17 22:30:34 +00:00
Bill Wendling
8390d96c1a
Now Igor, throw the switch...give my creation life!
...
Use the custom inserter for the ARM setjmp intrinsics. Instead of creating the
SjLj dispatch table in IR, where it frequently violates serveral assumptions --
in particular assumptions made by the landingpad instruction about what can
branch to a landing pad and what cannot. Performing this in the back-end allows
us to violate these assumptions without the IR getting angry at us.
It also allows us to perform a small optimization. We can shove the address of
the dispatch's basic block into the function context and not have to add code
around the setjmp to check for the return value and jump to the dispatch.
Neat, huh?
<rdar://problem/10116753>
llvm-svn: 142294
2011-10-17 22:26:23 +00:00
Jim Grosbach
f3d495fbbd
ARM NEON "vmov.i8" immediate assembly parsing and encoding.
...
NEON immediates are "interesting". Start of the work to handle parsing them
in an 'as' compatible manner. Getting the matcher to play nicely with
these and the floating point immediates from VFP is an extra fun wrinkle.
llvm-svn: 142293
2011-10-17 22:26:03 +00:00
Lang Hames
416d4f3f36
Validate target data layout strings.
...
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion.
llvm-svn: 142288
2011-10-17 22:05:34 +00:00
Cameron Zwarich
89bd8788a1
When deleting a phi cycle after looking through copies, constrain the register
...
to match its final use.
With this change, all of test-suite compiles for Thumb2 with -verify-coalescing
enabled.
llvm-svn: 142287
2011-10-17 21:54:46 +00:00
Lang Hames
5ef0a146b9
Fixed quoting on default data layout option.
...
llvm-svn: 142286
2011-10-17 21:54:43 +00:00
Bill Wendling
6e5fb6cb2c
Forgot to add the project name to the 'svn ls' command.
...
llvm-svn: 142282
2011-10-17 21:45:07 +00:00
Bill Wendling
0200836f77
Add message to svn mkdir command.
...
llvm-svn: 142280
2011-10-17 21:42:29 +00:00
Owen Anderson
e607004d1b
Rewrite most of MachODump to work through the generic libObject interfaces rather than accessing the MachO internals directly.
...
llvm-svn: 142263
2011-10-17 21:37:35 +00:00
Owen Anderson
92666534ad
Add an accessor to get the underlying MachO representation.
...
llvm-svn: 142261
2011-10-17 21:37:03 +00:00
Benjamin Kramer
bc2d3cbf7e
Use a SmallVector for intrinsic argument types.
...
llvm-svn: 142259
2011-10-17 21:33:26 +00:00
Bill Wendling
8f01b6c71d
Don't renumber the blocks here. This could cause problems later on if another
...
pass renumbers the blocks again.
llvm-svn: 142258
2011-10-17 21:32:56 +00:00
Owen Anderson
d13ef506e2
Use the correct predicate for determining if a branch is conditional or not.
...
llvm-svn: 142257
2011-10-17 21:21:44 +00:00
Bill Wendling
2c5486d770
Add support for the Objective-C personality function to the instruction
...
combining of the landingpad instruction. The ObjC personality function acts
almost identically to the C++ personality function. In particular, it uses
"null" as a "catch-all" value.
llvm-svn: 142256
2011-10-17 21:20:24 +00:00
Cameron Zwarich
4f62e0c1e3
Pseudoinstructions should not be less constrained than the instruction they are
...
lowered to. This fixes a lot of verifier failures on the test suite.
llvm-svn: 142254
2011-10-17 21:20:13 +00:00
Benjamin Kramer
a470ea0828
MCOperand is pod-like.
...
llvm-svn: 142253
2011-10-17 21:18:03 +00:00
Jim Grosbach
eeb05f7532
Tidy up organization.
...
llvm-svn: 142248
2011-10-17 21:00:11 +00:00
Benjamin Kramer
524eb5859f
Fix handling of the From parameter in StringRef::find.
...
Enable bounds checking to catch this kind of bug earlier.
llvm-svn: 142247
2011-10-17 20:49:40 +00:00
Bill Wendling
5d4f239d0a
Add a call to EmitSjLjDispatchBlock.
...
Once the intrinsics are marked as having a custom inserter, it will call this
method to emit the dispatch table into the machine function.
llvm-svn: 142245
2011-10-17 20:37:20 +00:00
Bill Wendling
ce26e6190f
Remove mention of llvm-gcc and add mention of dragonegg.
...
llvm-svn: 142243
2011-10-17 20:28:54 +00:00
Nadav Rotem
b03ef2cd0b
Add CHECKs and document PR11158.
...
llvm-svn: 142240
2011-10-17 20:23:23 +00:00
Jim Grosbach
22167dc73c
Fix improperly formed assert() call.
...
llvm-svn: 142239
2011-10-17 20:22:59 +00:00
Michael J. Spencer
c787cb4441
Object: Fix redundant name.
...
llvm-svn: 142238
2011-10-17 20:19:29 +00:00
Evan Cheng
55e3d8aba6
Constraint register class with constrainRegClass() to CSE a virtual into another. rdar://10293289
...
llvm-svn: 142234
2011-10-17 19:50:12 +00:00
Nadav Rotem
2d3d696b51
stabalize tests by specifying the exact sse level
...
llvm-svn: 142229
2011-10-17 19:45:38 +00:00
Akira Hatanaka
4939842b5a
Add definitions of conditional moves with 64-bit operands. Comment out code for
...
expanding conditional moves, which is not needed since architectures that lack
support for conditional moves have been removed.
llvm-svn: 142226
2011-10-17 18:53:29 +00:00
Hal Finkel
f61af0e4b0
Revert change to function alignment b/c existing logic was fine
...
llvm-svn: 142224
2011-10-17 18:53:03 +00:00
Chad Rosier
8247682aba
Removed set, but unused variables.
...
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142223
2011-10-17 18:48:30 +00:00
Dan Gohman
13624a6c83
Suppress partial retain+release elimination when there's a
...
possibility that it will span multiple CFG diamonds/triangles which
could have different controlling predicates. rdar://10282956
llvm-svn: 142222
2011-10-17 18:48:25 +00:00
Bill Wendling
584c5f9c62
Correct over-zealous removal of hack.
...
Some code want to check that *any* call within a function has the 'returns
twice' attribute, not just that the current function has one.
llvm-svn: 142221
2011-10-17 18:43:40 +00:00
Akira Hatanaka
e8cb50da87
Move class and instruction definitions for conditional moves to a seperate file.
...
llvm-svn: 142220
2011-10-17 18:43:19 +00:00
Akira Hatanaka
9045499a59
Revert change made in r142205.
...
llvm-svn: 142217
2011-10-17 18:33:24 +00:00
Akira Hatanaka
0ab0d4d1f4
Redefine count-leading 0s and 1s instructions.
...
llvm-svn: 142216
2011-10-17 18:26:37 +00:00
Bill Wendling
c5372de48f
Temporarily XFAIL waiting for a fix.
...
llvm-svn: 142215
2011-10-17 18:25:32 +00:00
Akira Hatanaka
f81b089ac3
Redefine mfhi/lo and mthi/lo instructions.
...
llvm-svn: 142214
2011-10-17 18:24:15 +00:00
Hal Finkel
e8091aad04
Add comments to TargetLowering.h indicating that the set*Alignment functions take arguments in log2(bytes)
...
llvm-svn: 142213
2011-10-17 18:23:13 +00:00
Bill Wendling
2ee7de36b8
Now that we have the ReturnsTwice function attribute, this method is
...
obsolete. Check the attribute instead.
<rdar://problem/8031714>
llvm-svn: 142212
2011-10-17 18:22:52 +00:00
Akira Hatanaka
4243d8876b
Redefine multiply and divide instructions.
...
llvm-svn: 142211
2011-10-17 18:21:24 +00:00
Akira Hatanaka
6b17ee5b50
Add definition of a base class for logical shift/rotate instructions with two
...
source registers and redefine 32-bit and 64-bit instructions.
llvm-svn: 142210
2011-10-17 18:17:58 +00:00
Hal Finkel
df4af2dd0b
Remove >80-col line and unicode
...
llvm-svn: 142209
2011-10-17 18:10:08 +00:00
Akira Hatanaka
3b8c93eda7
Add definition of a base class for logical shift/rotate immediate instructions
...
and have 32-bit and 64-bit instructions derive from it.
llvm-svn: 142207
2011-10-17 18:06:56 +00:00
Chad Rosier
57b5189638
Removed set, but unused variable.
...
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142206
2011-10-17 18:01:59 +00:00
Akira Hatanaka
82a1bab4ab
Add definition of immZExt5_64 and redefine immZExt5 as an ImmLeaf.
...
llvm-svn: 142205
2011-10-17 18:01:00 +00:00
Michael J. Spencer
7ce30d63fd
Fix CMake build.
...
llvm-svn: 142204
2011-10-17 17:50:39 +00:00
Devang Patel
0b8b4b4a5c
It is safe to speculate load from GOT. This fixes performance regression caused by r141689.
...
Radar 10281206.
llvm-svn: 142202
2011-10-17 17:35:01 +00:00
Jakob Stoklund Olesen
1910496fb4
Admonish that MI is not IR and virtual registers have constraints.
...
In machine code, you can't just replaceRegWith() the same way you can
replaceAllUsesWith() in IR. Virtual registers may have different
register classes that need to be merged first.
llvm-svn: 142201
2011-10-17 17:33:39 +00:00