aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-10-18Teach fast isel about vector stores, and make DoSelectCall return false when ↵Lang Hames
it fails to emit a store. This fixes <rdar://problem/10215997>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142432 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18The value we're comparing against may be too large for the ARM CMPBill Wendling
instruction. Move the value into a register and then use that for the CMP. <rdar://problem/10305266> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142431 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18The immediate may be too large for the CMP instruction. Move it into a registerBill Wendling
and use that in the CMP. <rdar://problem/10305266> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142429 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Yet more ARM NEON assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142416 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vmla/vmls assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142413 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vmov assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142412 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18The MCJITMemoryManager takes ownership of the JMM, so don't leak it.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142410 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Object/COFF: Remove useless test.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142408 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Object/COFF: Change type from a struct to a uint16_t. The struct would beMichael J. Spencer
incorrect for bigendian systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Use ARM/t2PseudoInst class from ARM/Thumb2 special adds/subs patterns.Andrew Trick
Clean up the patterns, fix comments, and avoid confusing both tools and coders. Note that the special adds/subs SelectionDAG nodes no longer have the dummy cc_out operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142397 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Use isIntN and isUIntN to check for valid signed/unsigned numbers.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142395 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18whitespaceAndrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142394 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18A landing pad could have more than one predecessor. In that case, we want thatBill Wendling
predecessor to remove the jump to it as well. Delay clearing the 'landing pad' flag until after the jumps have been removed. (There is an implicit assumption in several modules that an MBB which jumps to a landing pad has only two successors.) <rdar://problem/10304224> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142390 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vmla/vmls assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142389 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vqdmulh assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142386 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vmul assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142381 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Final patch that completes old JIT support for Mips:Bruno Cardoso Lopes
-Fix binary codes and rename operands in .td files so that automatically generated function MipsCodeEmitter::getBinaryCodeForInstr gives correct encoding for instructions. -Define new class FMem for instructions that access memory. -Define new class FFRGPR for instructions that move data between GPR and FPU general and control registers. -Define custom encoder methods for memory operands, and also for size operands of ext and ins instructions. -Only static relocation model is currently implemented. Patch by Sasa Stankovic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142378 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Fix incorrect check for sign-extended constant BUILD_VECTOR.Bob Wilson
<rdar://problem/10298332> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142371 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Fix a DAG combiner assertion failure when constant folding BUILD_VECTORS.Bob Wilson
svn r139159 caused SelectionDAG::getConstant() to promote BUILD_VECTOR operands with illegal types, even before type legalization. For this testcase, that led to one BUILD_VECTOR with i16 operands and another with promoted i32 operands, which triggered the assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142370 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM vqdmlal assembly parsing for the lane index operand.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142365 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Thumb2 parsing of 'mov.w' gets the cc_out operand wrong. Add an alias for it.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142363 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM assembly parsing and encoding for VMOV.i64.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142356 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18PTX: Fix disabling of MAD instruction selectionJustin Holewinski
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142352 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Fix a bunch of unused variable warnings when doing a releaseDuncan Sands
build with gcc-4.6. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142350 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Coding style cleanups. No functionality change.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142341 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Remove NaClModeDavid Meyer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142338 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Add support for dynamic stack realignment when in thumb1 mode.Chad Rosier
rdar://10288916 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142337 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Commit test, capitalizing store... keep it simple.Joe Abbey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142336 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Fix comment to refer to correct instructionHal Finkel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142334 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Fix misc warnings. Patch by Joe Abbey.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142332 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Backing out patch. Will refactor to remove the AsmParser dependency on Target.Lang Hames
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142323 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i32.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142321 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Object: Add some types to SymbolRef::Type.Michael J. Spencer
Some of these can be true at the same time and there are a lot to add, so this should be turned into a bitfield. Some of the other accessors should probably be folded into this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142318 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Object: Add isSymbolAbsolute and getSymbolSection.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142317 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Object: Add isSymbolWeak.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142316 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Object/COFF: Expose more data in the public API.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142315 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Object: Implement casting for concrete classes.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142314 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Minor style cleanup, no functionality change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142307 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Re-applying the target data layout verification patch from r142288, plus ↵Lang Hames
appropriate CMake dependencies. Thanks to Raphael Espindola for tracking down the CMake issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142306 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i16.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142303 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Add support for a new extension to the .file directive:Nick Lewycky
.file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Add a few FIXME comments.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142299 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Teach the ARC optimizer about the !clang.arc.copy_on_escape metadataDan Gohman
tag on objc_retainBlock calls, which indicates that they may be optimized away. rdar://10211286. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142298 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Tidy up.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17142288 broke the build:Rafael Espindola
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142296 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Update DebugInfoFinder to match recent debug info encoding changes.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142295 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Now Igor, throw the switch...give my creation life!Bill Wendling
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> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142294 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17ARM NEON "vmov.i8" immediate assembly parsing and encoding.Jim Grosbach
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142293 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Validate target data layout strings.Lang Hames
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142288 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17When deleting a phi cycle after looking through copies, constrain the registerCameron Zwarich
to match its final use. With this change, all of test-suite compiles for Thumb2 with -verify-coalescing enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142287 91177308-0d34-0410-b5e6-96231b3b80d8