aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-24add ::drop_back() and ::drop_front() methods, which are like ↵Chris Lattner
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
2012-01-24teach valuetracking about ConstantDataSequentialChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148790 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24switch SCEV to use the new ConstantFoldLoadThroughGEPIndices functionChris Lattner
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
2012-01-24Split the interesting bits of ConstantFoldLoadThroughGEPConstantExprChris Lattner
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
2012-01-24Add some accessor methods to CAZ and UndefValue that help simplify clients.Chris Lattner
Make some CDS methods public. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148785 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24Use correct register class for am2offset register operands.Anton Korobeynikov
This pacifies machine verifier git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148782 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24Preserve <def,undef> flags in CoalesceExtSubRegs.Jakob Stoklund Olesen
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
2012-01-24implement the ConstantDataSequential accessor methods.Chris Lattner
No need for 'getOperand' :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148778 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24Add comments near load pattern fragments indicating that all integer vector ↵Craig Topper
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
2012-01-24NEON VST4(multiple 4 element structures) assembly parsing.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148764 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24NEON VLD4(multiple 4 element structures) assembly parsing.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148762 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24Tidy up. Remove some vertical space for readability.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148761 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24Revert r148686 (and r148694, a fix to it) due to a serious layeringChandler Carruth
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
2012-01-24Fix typo.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148757 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24NEON VST3(single element from one lane) assembly parsing.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148755 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Fix typo. Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148751 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23NEON VST3(multiple 3-element structures) assembly parsing.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148748 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Changing bitfield enums to unsigned ints.David Blaikie
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
2012-01-23NEON VLD3(multiple 3-element structures) assembly parsing.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148745 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Add missed mayStore flag to STREXD / t2STREXDAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148742 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23start the implementation of a new ConstantDataVector and ConstantDataArrayChris Lattner
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
2012-01-23Remove extraneous ';'s.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148740 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Remove dead default.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148738 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Intel syntax: Robustify parsing of memory operand's displacement experssion.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148737 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Simplify llvm::cl::Option by using a bit field instead of manual bit packing.David Blaikie
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
2012-01-23NEON VLD3 lane-indexed assembly parsing and encoding.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148734 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Add support for .cfi_signal_frame. Fixes pr11762.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148733 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Various public StringMap methods take or return "MapEntryTy", make it public.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148732 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23copyImplicitOps is redundant here - the loop above already copies these ops.Lang Hames
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148725 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Fix PR11829. PostRA LICM was too aggressive.Jakob Stoklund Olesen
This fixes a typo in r148589. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148724 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Simplify debug output.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148723 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Intel syntax: Parse memory operand with empty base reg, e.g. DWORD PTR [4*RDI]Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148721 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Simplify some NEON assembly pseudo definitions.Jim Grosbach
Let the generic token alias definitions handle the data subtype suffices. We don't need explicit versions for each. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148718 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Silence warnings in -asserts buildMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148715 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Intel syntax: Parse segment registers.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23convert CAZ, UndefValue, and CPN to use DenseMap's again, this time withoutChris Lattner
using OwningPtr. OwningPtr would barf when the densemap had to reallocate, which doesn't appear to happen on the regression test suite, but obviously happens in real life :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148700 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23revert r148688 too, this isn't safe for DenseMap use. When DenseMap ↵Chris Lattner
resizes, it will need to copy around arbitrary pointers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148699 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23revert r148691 and 148693Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148698 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Implemented AddressSanitizer::getPassName()Alexander Potapenko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148697 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23ARMAsmPrinter.cpp: Try to fix up r148686. EnableARMEHABI was also here.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148694 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23switch UndefValue and ConstantPointerNull over to DenseMap's for uniquing.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148693 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Fix broken link.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148692 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Replace a use of ConstantUniqueMap for CAZ constants with a simple DenseMap.Chris Lattner
Now that the type system rewrite has landed, there is no need for its complexity and std::map'ness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148691 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23allow OwningPtr to be copy constructed if null, which is required toChris Lattner
make them be a valuetype in a DenseMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148688 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Custom lower PCMPEQ/PCMPGT intrinsics to target specific nodes and remove ↵Craig Topper
the intrinsic patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148687 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23An option to selectively enable parts of ARM EHABI support.Evgeniy Stepanov
This change adds an new value to the --arm-enable-ehabi option that disables emitting unwinding descriptors. This mode gives a working backtrace() without the (currently broken) exception support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148686 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Update more places to use target specific nodes for vector shifts instead of ↵Craig Topper
intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148685 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Custom lower vector shift intrinsics to target specific nodes and remove the ↵Craig Topper
patterns that are no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148684 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23Avoid using an invalidated iterator.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148681 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-23The iteration order over a std::set<Module*> depends on the addresses of theRafael Espindola
modules. Avoid that to make the order the linker sees the modules deterministic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148676 91177308-0d34-0410-b5e6-96231b3b80d8