aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/ValueTypes.h
AgeCommit message (Collapse)Author
2013-02-14Mark getRawBits const.Preston Gurd
Patch by Tyler Nowicki. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175218 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-24Added 6 more value types: v32i1, v64i1, v32i16, v32i8, v64i8, v8f64Elena Demikhovsky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171026 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-22Add a comma to fix the build.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170982 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-22Use a negative value to represent INVALID_SIMPLE_VALUE_TYPE instead of 256. ↵Craig Topper
Its much cheaper for the isSimple() checks to look for values less than 0 rather than a value greater than 255. This shaves ~8k off the size of the llc binary on x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170981 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-22Add vAny and Metadata to the switch in getSizeInBits for consistency since ↵Craig Topper
every other enum was listed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170977 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Change AsmOperandInfo::ConstraintVT to MVT, instead of EVT.Patrik Hagglund
Accordingly, add MVT::getVT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170550 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Change TargetLowering::getTypeForExtArgOrReturn to take and returnPatrik Hagglund
MVTs, instead of EVTs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170537 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Revert EVT->MVT changes, r169836-169851, due to buildbot failures.Patrik Hagglund
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169854 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-11Change TargetLowering::getTypeForExtArgOrReturn to take and returnPatrik Hagglund
MVTs, instead of EVTs. Accordingly, add bitsLT (and similar) to MVT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169850 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Revert r164663 due to buildbot failure.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164670 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Add is16BitVector and is32BitVector to MVT and call them from EVT. Matches ↵Craig Topper
other similar methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164668 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Mark extended type querying methods as 'readonly' to reduce compile size.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164663 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-19Add in new data types that are used by AMDIL/ANL among others.Micah Villmow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164261 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-11Create isXBitVector methods in MVT and call them from EVT. This allows ↵Craig Topper
targets to call them with an MVT without needing to convert to EVT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161731 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26Add support for v16i32/v16i64 into the code generator. This is required for ↵Micah Villmow
backends that use i32/i64 vectors for the getSetCCResultType function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160814 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-29Remove superfluous 'inline'Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155799 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-29Add constants for first and last integer vector types to be consistent with ↵Craig Topper
floating point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155787 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-29Remove tab charactersCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155786 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-29Mark the default cases of MVT::getVectorElementType and ↵Craig Topper
MVT:getVectorNumElements as unreachable to reduce code size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155785 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Remove an unused function.Nadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152028 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13v2f16 is a floating point type. Add symbolic floating point type ranges to ↵Owen Anderson
prevent this kind of issue in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150416 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05Convert assert(0) to llvm_unreachableCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149849 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20More dead code removal (using -Wunreachable-code)David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-13Fixed comment. Thanks Duncan!Pete Cooper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148123 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-12Added MVT::v2f16Pete Cooper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148067 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20Add basic generic CodeGen support for half.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146927 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16Rename MVT::untyped to MVT::Untyped to match similar nomenclature.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144747 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-13Fix indenting.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139670 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-06Add codegen support for vector select (in the IR this means a selectDuncan Sands
with a vector condition); such selects become VSELECT codegen nodes. This patch also removes VSETCC codegen nodes, unifying them with SETCC nodes (codegen was actually often using SETCC for vector SETCC already). This ensures that various DAG combiner optimizations kick in for vector comparisons. Passes dragonegg bootstrap with no testsuite regressions (nightly testsuite as well as "make check-all"). Patch mostly by Nadav Rotem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-16Fix formatting.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133164 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15Add a new MVT::untyped. This will be used in future work for modelling ISA ↵Owen Anderson
features like register pairs and lists with "interesting" constraints (such as ARM NEON contiguous register lists or even-odd paired registers). We need to be able to generate these instructions (often from intrinsics), but don't want to have to assign a legal type to them. Instead, we'll use an "untyped" edge to bypass the type-checking and simply ensure that the register classes match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133106 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-21rename MVT::Flag to MVT::Glue. "Flag" is a terrible name forChris Lattner
something that just glues two nodes together, even if it is sometimes used for flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122310 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29Merge System into Support.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03Fix a comment typo.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118168 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03Inside the calling convention logic LocVT is always a simpleDuncan Sands
value type, so there is no point in passing it around using an EVT. Use the simpler MVT everywhere. Rather than trying to propagate this information maximally in all the code that using the calling convention stuff, I chose to do a mainly low impact change instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118167 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-02Add some comments explaining what MVT and EVT are, and how they differ.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-02Remove trailing whitespace.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07Remove untrue comments.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113287 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07Add an MVT::x86mmx type. It will take the place of all current MMX vector types.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-26zap the now unused MVT::getIntVectorWithNumElementsBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112218 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25tidy upChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-18Fix enum to address array bounds regression.mike-m
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-13Adding a v8i64 512-bit vector type. This will be used to model ARM NEON ↵Evan Cheng
intrinsics which translate into a pair of vld / vst instructions that can load / store 8 consecutive 64-bit (D) registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01Do an early exit when the result is known cheaply.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05Simplify this code; avoid duplicating the low-level implementation code.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92554 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05Fix a typo in a comment.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17Introduce EVT::getHalfSizedIntegerVT() for use in ExpandUnalignedStore() inKen Dyck
LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple type by one, getHalfSizedIntegerVT() searches for the smallest simple integer type that is at least half the size of the type it is called on. This approach has the advantage that it will continue working if a new value type (such as i24) is added to MVT. Also, in preparation for new value types, remove the assertions that non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and truncstore operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14Move Flag and isVoid after the vector types, since bit arithmetic withDan Gohman
those enum values is less common. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14Update this comment.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91356 91177308-0d34-0410-b5e6-96231b3b80d8