aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* NEON Two-operand assembly aliases for VSRA.Jim Grosbach2012-01-242-33/+110
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148821 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove redundant test file.Jim Grosbach2012-01-241-98/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148820 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON Two-operand assembly aliases for VSLI.Jim Grosbach2012-01-242-16/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148819 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON Two-operand assembly aliases for VSRI.Jim Grosbach2012-01-242-16/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148818 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up.Jim Grosbach2012-01-241-32/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148817 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON add correct predicates for some asm aliases.Jim Grosbach2012-01-242-18/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148815 91177308-0d34-0410-b5e6-96231b3b80d8
* Reword comment based on feedback by Duncan Sands.David Blaikie2012-01-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148809 91177308-0d34-0410-b5e6-96231b3b80d8
* basic instcombine support for CDS.Chris Lattner2012-01-242-14/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148806 91177308-0d34-0410-b5e6-96231b3b80d8
* C++, CBE, and TLOF support for ConstantDataSequentialChris Lattner2012-01-244-20/+125
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148805 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange argument order of ::get methods so that LLVMContext comes first,Chris Lattner2012-01-242-26/+50
| | | | | | | | | add a ConstantDataArray::getString method that corresponds to the (to be removed) StringRef version of ConstantArray::get, but is dramatically more efficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148804 91177308-0d34-0410-b5e6-96231b3b80d8
* ZERO_EXTEND operation is optimized for AVX.Elena Demikhovsky2012-01-242-2/+54
| | | | | | | v8i16 -> v8i32, v4i32 -> v4i64 - used vpunpck* instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148803 91177308-0d34-0410-b5e6-96231b3b80d8
* add more support for ConstantDataSequentialChris Lattner2012-01-245-34/+78
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148802 91177308-0d34-0410-b5e6-96231b3b80d8
* An option to selectively enable part of ARM EHABI support.Evgeniy Stepanov2012-01-242-5/+15
| | | | | | | | | This change adds an new option --arm-enable-ehabi-descriptors that enables emitting unwinding descriptors. This provides a mode with a working backtrace() without the (currently broken) exception support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148800 91177308-0d34-0410-b5e6-96231b3b80d8
* Bit pack DIE structures better.Benjamin Kramer2012-01-241-23/+23
| | | | | | 16 bits are sufficient to store attributes, tags and forms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148799 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the testcases for the previous patch.Eric Christopher2012-01-244-9/+7
| | | | | | rdar://10278198 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148795 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove generation of DW_AT_sibling. Nothing as far as I can tell uses it.Eric Christopher2012-01-243-26/+0
| | | | | | | | Saves about 1.5% on debug info size. rdar://10278198 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148794 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AsmPrinter (aka MCLowering) support for ConstantDataSequential, Chris Lattner2012-01-243-45/+105
| | | | | | | | | and clean up some other misc stuff. Unlike ConstantArray, we will prefer to emit .fill directives for "String" arrays that all have the same value, since they are denser than emitting a .ascii git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148793 91177308-0d34-0410-b5e6-96231b3b80d8
* Add various "string" methods to ConstantDataSequential, which have theChris Lattner2012-01-242-0/+54
| | | | | | | | | same semantics as ConstantArray's but much more efficient because they don't have to return std::string's. The ConstantArray methods will eventually be removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148792 91177308-0d34-0410-b5e6-96231b3b80d8
* add ::drop_back() and ::drop_front() methods, which are like ↵Chris Lattner2012-01-241-0/+14
| | | | | | pop_front/pop_back on a vector, but a) aren't destructive to "this", and b) can take a # elements to drop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148791 91177308-0d34-0410-b5e6-96231b3b80d8
* teach valuetracking about ConstantDataSequentialChris Lattner2012-01-243-33/+75
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148790 91177308-0d34-0410-b5e6-96231b3b80d8
* switch SCEV to use the new ConstantFoldLoadThroughGEPIndices functionChris Lattner2012-01-241-35/+3
| | | | | | | | | instead of its own hard coded thing, allowing it to handle ConstantDataSequential and fixing some obscure bugs (e.g. it would previously crash on a CAZ of vector type). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148788 91177308-0d34-0410-b5e6-96231b3b80d8
* Split the interesting bits of ConstantFoldLoadThroughGEPConstantExprChris Lattner2012-01-242-44/+64
| | | | | | | | | | | | out into a new ConstantFoldLoadThroughGEPIndices (more useful) function and rewrite it to be simpler, more efficient, and to handle the new ConstantDataSequential type. Enhance ConstantFoldLoadFromConstPtr to handle ConstantDataSequential. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148786 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some accessor methods to CAZ and UndefValue that help simplify clients.Chris Lattner2012-01-242-10/+97
| | | | | | | Make some CDS methods public. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148785 91177308-0d34-0410-b5e6-96231b3b80d8
* Use correct register class for am2offset register operands.Anton Korobeynikov2012-01-241-2/+2
| | | | | | | This pacifies machine verifier git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148782 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve <def,undef> flags in CoalesceExtSubRegs.Jakob Stoklund Olesen2012-01-241-3/+7
| | | | | | | This won't have an effect until EliminateRegSequences() starts setting the undef flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148779 91177308-0d34-0410-b5e6-96231b3b80d8
* implement the ConstantDataSequential accessor methods.Chris Lattner2012-01-242-3/+100
| | | | | | | No need for 'getOperand' :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148778 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments near load pattern fragments indicating that all integer vector ↵Craig Topper2012-01-241-0/+6
| | | | | | loads are promoted to v2i64 or v4i64 so that no one tries to reintroduce pattern fragments for other types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148771 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VST4(multiple 4 element structures) assembly parsing.Jim Grosbach2012-01-243-17/+196
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148764 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VLD4(multiple 4 element structures) assembly parsing.Jim Grosbach2012-01-245-19/+218
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148762 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up. Remove some vertical space for readability.Jim Grosbach2012-01-241-344/+121
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148761 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r148686 (and r148694, a fix to it) due to a serious layeringChandler Carruth2012-01-245-29/+14
| | | | | | | | | | | | | | | | | | violation -- MC cannot depend on CodeGen. Specifically, the MCTargetDesc component of each target is actually a subcomponent of the MC library. As such, it cannot depend on the target-independent code generator, because MC itself cannot depend on the target-independent code generator. This change moved a flag from the ARM MCTargetDesc file ARMMCAsmInfo.cpp to the CodeGen layer in ARMException.cpp, leaving behind an 'extern' to refer back to it. That layering order isn't viable givin the constraints outlined above. Commandline flags are designed to be static specifically to avoid these types of bugs. Fixing this is likely going to require some non-trivial refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148759 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Jim Grosbach2012-01-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148757 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VST3(single element from one lane) assembly parsing.Jim Grosbach2012-01-243-0/+211
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148755 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo. Devang Patel2012-01-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148751 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VST3(multiple 3-element structures) assembly parsing.Jim Grosbach2012-01-233-39/+245
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148748 91177308-0d34-0410-b5e6-96231b3b80d8
* Changing bitfield enums to unsigned ints.David Blaikie2012-01-231-7/+9
| | | | | | | This was suggested by Chandler Carruth on the basis of past experience with esoteric compilers/quirks relating to signed enums. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148746 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VLD3(multiple 3-element structures) assembly parsing.Jim Grosbach2012-01-236-71/+293
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148745 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missed mayStore flag to STREXD / t2STREXDAnton Korobeynikov2012-01-232-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148742 91177308-0d34-0410-b5e6-96231b3b80d8
* start the implementation of a new ConstantDataVector and ConstantDataArrayChris Lattner2012-01-235-3/+319
| | | | | | | | classes, per PR1324. Not all of their helper functions are implemented, nothing creates them, and the rest of the compiler doesn't handle them yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148741 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extraneous ';'s.Bill Wendling2012-01-233-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148740 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead default.David Blaikie2012-01-231-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148738 91177308-0d34-0410-b5e6-96231b3b80d8
* Intel syntax: Robustify parsing of memory operand's displacement experssion.Devang Patel2012-01-232-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148737 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify llvm::cl::Option by using a bit field instead of manual bit packing.David Blaikie2012-01-231-74/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This still preserves the same total layout. Previously it looked like: *** Dumping AST Record Layout 0 | class llvm::cl::Option 0 | (Option vtable pointer) 8 | int NumOccurrences 12 | int Flags 16 | unsigned int Position 20 | unsigned int AdditionalVals 24 | class llvm::cl::Option * NextRegistered 32 | const char * ArgStr 40 | const char * HelpStr 48 | const char * ValueStr sizeof=56, dsize=56, align=8 nvsize=56, nvalign=8 Now it looks like: *** Dumping AST Record Layout 0 | class llvm::cl::Option 0 | (Option vtable pointer) 8 | int NumOccurrences 12 | enum NumOccurrencesFlag Occurrences 12 | unsigned int Value 12 | enum OptionHidden HiddenFlag 12 | enum FormattingFlags Formatting 13 | unsigned int Misc 16 | unsigned int Position 20 | unsigned int AdditionalVals 24 | class llvm::cl::Option * NextRegistered 32 | const char * ArgStr 40 | const char * HelpStr 48 | const char * ValueStr sizeof=56, dsize=56, align=8 nvsize=56, nvalign=8 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148736 91177308-0d34-0410-b5e6-96231b3b80d8
* NEON VLD3 lane-indexed assembly parsing and encoding.Jim Grosbach2012-01-233-11/+300
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148734 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for .cfi_signal_frame. Fixes pr11762.Rafael Espindola2012-01-237-8/+75
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148733 91177308-0d34-0410-b5e6-96231b3b80d8
* Various public StringMap methods take or return "MapEntryTy", make it public.Chris Lattner2012-01-231-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148732 91177308-0d34-0410-b5e6-96231b3b80d8
* copyImplicitOps is redundant here - the loop above already copies these ops.Lang Hames2012-01-231-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148725 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR11829. PostRA LICM was too aggressive.Jakob Stoklund Olesen2012-01-232-4/+109
| | | | | | This fixes a typo in r148589. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148724 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify debug output.Jakob Stoklund Olesen2012-01-231-10/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148723 91177308-0d34-0410-b5e6-96231b3b80d8
* Intel syntax: Parse memory operand with empty base reg, e.g. DWORD PTR [4*RDI]Devang Patel2012-01-232-7/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148721 91177308-0d34-0410-b5e6-96231b3b80d8