OSDN Git Service
Kevin Enderby [Fri, 15 Jul 2011 18:30:43 +0000 (18:30 +0000)]
Have tblgen produce code that tolerates operands that return an invalid match class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 15 Jul 2011 18:25:04 +0000 (18:25 +0000)]
Disable loop idiom recognition of memset/memcpy if the function being compiled
is named after a common idiom (i.e., memset/memcpy). Otherwise, we can run into
infinite recursion. Ideally, the user should use the correct -fno-builtin flag,
but in case they don't we should play nicely.
rdar://
9763412
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135286
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 15 Jul 2011 17:48:05 +0000 (17:48 +0000)]
Remove unnecessary duplicate instruction definitions that simply overloaded the type of VEXT. This can be achieved with a Pat definition, and is much more disassembler friendly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135283
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 15 Jul 2011 17:32:45 +0000 (17:32 +0000)]
MachOObjectFile: Get symbol functions ready for 64 bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135282
91177308-0d34-0410-b5e6-
96231b3b80d8
Frits van Bommel [Fri, 15 Jul 2011 17:13:23 +0000 (17:13 +0000)]
No need to explicitly invoke the ArrayRef constructor here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135281
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 15 Jul 2011 16:38:42 +0000 (16:38 +0000)]
Eliminate redundant map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135278
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 15 Jul 2011 12:50:21 +0000 (12:50 +0000)]
Eliminate "const" from extern const to fix breakeage since r135184 on msvc.
MSVC decorates (and distinguishes) "const" in mangler. It brought linkage error between "extern const" declarations and definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135269
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 15 Jul 2011 11:26:11 +0000 (11:26 +0000)]
For my ego.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135268
91177308-0d34-0410-b5e6-
96231b3b80d8
Frits van Bommel [Fri, 15 Jul 2011 11:05:37 +0000 (11:05 +0000)]
In Twine::str(), if the Twine stores only a std::string, just return a direct copy of that instead of first copying to a SmallString and converting that to a std::string. Also fix some indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135267
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Fri, 15 Jul 2011 10:59:52 +0000 (10:59 +0000)]
Convert CallInst and InvokeInst APIs to use ArrayRef. For the LLVM examples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135266
91177308-0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Fri, 15 Jul 2011 08:37:34 +0000 (08:37 +0000)]
Convert CallInst and InvokeInst APIs to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 15 Jul 2011 07:31:10 +0000 (07:31 +0000)]
Explicitly cast the second argument to unsigned in order to select the
desired overload.
This is a bit of a hackish workaround to fix the compile after r135259.
Let me know if there is a better approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135261
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Fri, 15 Jul 2011 07:04:56 +0000 (07:04 +0000)]
Add an APFloat::convertToInt(APSInt) function that automatically manages the
memory for the result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135259
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 15 Jul 2011 06:26:35 +0000 (06:26 +0000)]
Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135254
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 06:18:52 +0000 (06:18 +0000)]
remove the old and dangerous uncheckedReplaceAllUsesWith method,
which was just replaceAllUsesWith without some assertions. It was
needed back when type refinement was alive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135253
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 06:14:08 +0000 (06:14 +0000)]
devirtualize Constant::isNullValue:
4 files changed, 15 insertions(+), 60 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 06:08:15 +0000 (06:08 +0000)]
start using the new helper methods a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 05:58:04 +0000 (05:58 +0000)]
add CFP::isNegative() and ConstnatInt::isNegative() methods.
Devirtualize the isNegativeZeroValue method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135249
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 05:49:15 +0000 (05:49 +0000)]
bump pointer allocate LLVM IR types, since they are never deallocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135248
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Jul 2011 05:21:59 +0000 (05:21 +0000)]
remove the InvalidateStructLayoutInfo API, which is dead and unnecessary now
that type refinement is toast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 15 Jul 2011 04:16:38 +0000 (04:16 +0000)]
Remove an unnecessary header from this file. I don't think this header
was really intended, and it may have been required prior to some of the
recent refactors. Including it however causes LLVMX86Desc to need
symbols from LLVMX86CodeGen, forming a dependency cycle. This was masked
in almost all builds: Clang, and GCC w/ optimizations didn't actually
emit the symbols!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 15 Jul 2011 02:34:03 +0000 (02:34 +0000)]
The *MCAsmInfo.cpp files use ADT/Triple code, so add the Support dep.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135239
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 15 Jul 2011 02:09:41 +0000 (02:09 +0000)]
Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatest
solution but it is a small step towards removing the horror that is
TargetAsmInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135237
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 15 Jul 2011 01:42:32 +0000 (01:42 +0000)]
Remove setting the bit for personality function. It should be set by the linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 15 Jul 2011 00:40:52 +0000 (00:40 +0000)]
Major update to CMake build to reflect changes in r135219 in the
backend. Moved some MCAsmInfo files down into the MCTargetDesc
sublibraries, removed some (i suspect long) dead files from other parts
of the CMake build, etc. Also copied the include directory hack from the
Makefile.
Finally, updated the lib deps. I spot checked this, and think its
correct, but review appreciated there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 15 Jul 2011 00:37:26 +0000 (00:37 +0000)]
Add new configure option, --with-bug-report-url, which allows users/vendors to
specify where bug reports should be submitted.
Part of rdar://
9575623
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135233
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 15 Jul 2011 00:30:39 +0000 (00:30 +0000)]
Do not get confused by multiple empty lexical scopes inlined at one location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135232
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 15 Jul 2011 00:29:02 +0000 (00:29 +0000)]
Output MachO section names in the form SEGMENT,section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135231
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 15 Jul 2011 00:14:48 +0000 (00:14 +0000)]
Add support for 64 bit objects to MachOObjectFile.
- I don't see a better way than duplicating all the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135229
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 15 Jul 2011 00:14:46 +0000 (00:14 +0000)]
MachOObjectFile: Change isSectionText to return true for sections named text, not for load commands name __TEXT (which isn't the case in actual object files)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135228
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 15 Jul 2011 00:07:31 +0000 (00:07 +0000)]
Encode that we have a personality function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135227
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 14 Jul 2011 23:50:31 +0000 (23:50 +0000)]
Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135219
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 14 Jul 2011 23:49:55 +0000 (23:49 +0000)]
CMake: Add a new configuration option LLVM_BUILD_CLANG that's
available when Clang is found within the LLVM tree. If enabled (the
default), Clang will be built as part of LLVM. If disabled, Clang will
be skipped... and can be built by configuring a separate object
directory just for Clang. This helps break up the monolithic
LLVM+Clang project that many Clang developers use, improving
build/load times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135218
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 14 Jul 2011 23:34:45 +0000 (23:34 +0000)]
* If we have an LSDA, we need to mark it in the encoding.
* The personality function should be encoded as an absolute pointer to the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135215
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 23:17:49 +0000 (23:17 +0000)]
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135212
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 14 Jul 2011 23:12:02 +0000 (23:12 +0000)]
cmake/modules/LLVMLibDeps.cmake: Update since r135184.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135211
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 22:30:56 +0000 (22:30 +0000)]
Eliminate redundant LLVMContext argument.
Improve DbgScope->dump() output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135207
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 22:14:06 +0000 (22:14 +0000)]
Undo r135191 (i.e. reapply Chris's patch. Now linker maps NamedMDNodes first, so there is not any need to map DebugLoc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135205
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 22:13:07 +0000 (22:13 +0000)]
Link NamedMDNode before linking function bodies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135204
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 22:04:21 +0000 (22:04 +0000)]
ARM diagnostic when 's' suffix on mnemonic that can't set flags.
For example, "mlss r0, r1, r2, r3".
The MLS instruction does not have a flag-setting variant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135203
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 14 Jul 2011 22:01:34 +0000 (22:01 +0000)]
* Redo the permutation encoding for frameless stacks to be more like what the
unwind library expects.
* Comment the permutation encoding for frameless stacks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135202
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 21:50:04 +0000 (21:50 +0000)]
Add dump()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135200
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 21:47:24 +0000 (21:47 +0000)]
Add OperandTypes for Thumb branch targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135199
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 21:47:22 +0000 (21:47 +0000)]
Port operand types for ARM and X86 over from EDIS to the .td files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135198
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 21:47:18 +0000 (21:47 +0000)]
Add a new field to MCOperandInfo that contains information about the type of the Operand.
- The actual values are from the MCOI::OperandType enum.
- Teach tblgen to read it from the instruction definition.
- This is a better implementation of the hacks in edis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135197
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 21:43:05 +0000 (21:43 +0000)]
Add some testcases for ARM MLA/MLS instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135196
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 21:26:42 +0000 (21:26 +0000)]
ARM MCRR/MCRR2 immediate operand range checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135192
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 21:25:42 +0000 (21:25 +0000)]
revert r135172 until Devang and I figure out the right answer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135191
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 21:19:17 +0000 (21:19 +0000)]
ARM MCR/MCR2 assembly parsing operand constraints.
The immediate operands are restricted to 0-7. Enforce that when parsing
assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135189
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Thu, 14 Jul 2011 21:04:35 +0000 (21:04 +0000)]
After type-system-rewrite branch update the Cpp backend to not use OpaqueType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135186
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 21:02:23 +0000 (21:02 +0000)]
Enable some tests we now handle correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135185
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 14 Jul 2011 20:59:42 +0000 (20:59 +0000)]
Next round of MC refactoring. This patch factor MC table instantiations, MC
registeration and creation code into XXXMCDesc libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 20:23:05 +0000 (20:23 +0000)]
simplify this logic now that GlobalAlias::isDeclaration is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135183
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 20:22:18 +0000 (20:22 +0000)]
Fix GlobalValue::isDeclaration() to always consider aliases to be definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135182
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 14 Jul 2011 20:13:52 +0000 (20:13 +0000)]
Check register class matching instead of width of type matching
when determining validity of matching constraint. Allow i1
types access to the GR8 reg class for x86.
Fixes PR10352 and rdar://
9777108
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135180
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 19:47:47 +0000 (19:47 +0000)]
Reorganize ARM assembler aliases.
Consolidate the individual declarations together for ease of reference. This
mirrors the organization in X86, as well, so is good for consistency. No
functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135179
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 14 Jul 2011 19:09:08 +0000 (19:09 +0000)]
Add LLVMConstNamedStruct to the C api to let its users create constants
of named struct types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135178
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:58:40 +0000 (18:58 +0000)]
DebugLoc's don't hide any interesting types for TypeFinder to find.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135174
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:57:51 +0000 (18:57 +0000)]
manually copy debugloc over to a new instruction in clone() instead
of calling getAllMetadata(). This is semantically identical, but doing
it this way avoids unpacking the DebugLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135173
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:53:50 +0000 (18:53 +0000)]
Stop the ValueMapper from calling getAllMetadata, which unpacks DebugLoc into
an MDNode. This saves a bunch of time and memory in the IR linker, e.g. when
doing LTO of files with debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135172
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 14 Jul 2011 18:50:58 +0000 (18:50 +0000)]
Add 256-bit load/store recognition and matching in several places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135171
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 18:41:22 +0000 (18:41 +0000)]
Don't leak operands when putting them into a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135169
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 18:35:38 +0000 (18:35 +0000)]
Update ARM Assembly of LDM/STM.
ldm/stm are the cannonical spellings for ldmia/stmia, so use them as such.
Update the parsing/encoding tests accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135168
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:31:43 +0000 (18:31 +0000)]
The key of a StringMap can contain nul's in it, so having first() return
const char* doesn't make sense. Have it return StringRef instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:21:58 +0000 (18:21 +0000)]
though it isn't the case here, the key of a StringMap can
conceptually have nuls in it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135165
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:12:44 +0000 (18:12 +0000)]
add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:10:41 +0000 (18:10 +0000)]
consolidate GlobalValue::isDeclaration into one
non-virtual function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135163
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 18:02:25 +0000 (18:02 +0000)]
ARM ISB assembly parsing tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 18:01:49 +0000 (18:01 +0000)]
code cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135157
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 18:00:31 +0000 (18:00 +0000)]
ARM ISB instruction assembly parsing.
The ISB instruction takes an optional operand, just like DMB/DSB. Typically
only 'sy' is meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135156
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 17:45:39 +0000 (17:45 +0000)]
Change Intrinsic::getDeclaration and friends to take an ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 16:20:28 +0000 (16:20 +0000)]
add a couple more missing C api, patch by Vitaly Lugovskiy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135151
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 14 Jul 2011 14:03:48 +0000 (14:03 +0000)]
Update XCoreRegisterInfo::eliminateFrameIndex() to handle DBG_VALUE
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135146
91177308-0d34-0410-b5e6-
96231b3b80d8
Frits van Bommel [Thu, 14 Jul 2011 11:44:09 +0000 (11:44 +0000)]
Simplify some functions in the C API by using an ArrayRef to directly reference the array passed to them instead of copying it to a std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135145
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Thu, 14 Jul 2011 11:11:14 +0000 (11:11 +0000)]
[VECTOR-SELECT]
During type legalization we often use the SIGN_EXTEND_INREG SDNode.
When this SDNode is legalized during the LegalizeVector phase, it is
scalarized because non-simple types are automatically marked to be expanded.
In this patch we add support for lowering SIGN_EXTEND_INREG manually.
This fixes CodeGen/X86/vec_sext.ll when running with the '-promote-elements'
flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135144
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Thu, 14 Jul 2011 10:37:54 +0000 (10:37 +0000)]
Add assertion for the chain value type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135143
91177308-0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Thu, 14 Jul 2011 09:19:05 +0000 (09:19 +0000)]
Mention all API changes I've made since 2.9 was branched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135142
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 14 Jul 2011 06:23:09 +0000 (06:23 +0000)]
Add a testcase for r135123.
Part of rdar://
9761830
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Jul 2011 05:53:17 +0000 (05:53 +0000)]
add C api for hte new type system rewrite API. Patch by Vitaly Lugovskiy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135132
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 14 Jul 2011 05:43:07 +0000 (05:43 +0000)]
Unfortunately several files in MC are badly violating layering rule by using
TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are
other cases of violations, but this is probably the worst.
This patch is but one small step towards fixing this. 500 more steps to go. :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135131
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 14 Jul 2011 05:35:11 +0000 (05:35 +0000)]
Reapply r135121 with a fixed copy constructor.
Original commit message:
Count references to interference cache entries.
Each InterferenceCache::Cursor instance references a cache entry. A
non-zero reference count guarantees that the entry won't be reused for a
new register.
This makes it possible to have multiple live cursors examining
interference for different physregs.
The total number of live cursors into a cache must be kept below
InterferenceCache::getMaxCursors().
Code generation should be unaffected by this change, and it doesn't seem
to affect the cache replacement strategy either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135130
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 01:52:45 +0000 (01:52 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135127
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 14 Jul 2011 01:38:42 +0000 (01:38 +0000)]
Don't emit a bit test if there is only one case the test can yield false. A simple SETNE is sufficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135126
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 01:14:57 +0000 (01:14 +0000)]
Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as much as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135124
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 14 Jul 2011 01:12:15 +0000 (01:12 +0000)]
Add a dag combine pattern for folding C2-(A+C1) -> (C2-C1)-A
Fixes rdar://
9761830
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135123
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 14 Jul 2011 00:58:38 +0000 (00:58 +0000)]
Revert r135121 which broke a gcc-4.2 builder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135122
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 14 Jul 2011 00:31:14 +0000 (00:31 +0000)]
Count references to interference cache entries.
Each InterferenceCache::Cursor instance references a cache entry. A
non-zero reference count guarantees that the entry won't be reused for a
new register.
This makes it possible to have multiple live cursors examining
interference for different physregs.
The total number of live cursors into a cache must be kept below
InterferenceCache::getMaxCursors().
Code generation should be unaffected by this change, and it doesn't seem
to affect the cache replacement strategy either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135121
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 14 Jul 2011 00:22:31 +0000 (00:22 +0000)]
Fix up assertion in r135018 so it doesn't trigger on 32-bit; when we're in 32-bit, it doesn't matter whether the operation overflows because the computed address is not wider than the immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135120
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 00:22:21 +0000 (00:22 +0000)]
ARM tests for EOR instruction parsing and encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135119
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 00:20:24 +0000 (00:20 +0000)]
Simplify. Compile unit check inside hasValidLocation() did not add any value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135118
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 00:19:19 +0000 (00:19 +0000)]
Remove duplicate tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135117
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 00:18:13 +0000 (00:18 +0000)]
ARM Assembler support for DSB instruction.
Add instalias for default 'sy' option. Add tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135116
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 14 Jul 2011 00:17:10 +0000 (00:17 +0000)]
Reapply r135074 and r135080 with a fix.
The cache entry referenced by the best split candidate could become
clobbered by an unsuccessful candidate.
The correct fix here is to use reference counts on the cache entries.
Coming up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135113
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 14 Jul 2011 00:10:26 +0000 (00:10 +0000)]
DMB instalias needs the same predicate as the instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135112
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 00:04:53 +0000 (00:04 +0000)]
Fix typo in DEBUG message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135111
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 14 Jul 2011 00:03:58 +0000 (00:03 +0000)]
Add DEBUG messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135110
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 13 Jul 2011 23:40:38 +0000 (23:40 +0000)]
ARM Assembler support for DMB instruction.
Flesh out the options supported for the instruction. Shuffle tests a bit and
add entries for the rest of the options. Add an alias to handle the default
operand of "sy".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135109
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 13 Jul 2011 23:33:10 +0000 (23:33 +0000)]
Update comments. These are for assembler, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135107
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 13 Jul 2011 23:22:26 +0000 (23:22 +0000)]
Add a target-indepedent entry to MCInstrDesc to describe the encoded size of an opcode. Switch ARM over to using that rather than its own special MCInstrDesc bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135106
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 13 Jul 2011 23:03:31 +0000 (23:03 +0000)]
Add code to handle a "frameless" unwind stack.
The frameless unwind stack has a special encoding, the algorithm for which is in
"permuteEncode".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135103
91177308-0d34-0410-b5e6-
96231b3b80d8