- Mar 22, 2010
-
-
Chris Lattner authored
instead of as a single element list with VoidTy. Now with a fix for the verifier. llvm-svn: 99206
-
- Mar 20, 2010
-
-
Eric Christopher authored
llvm-svn: 99011
-
- Mar 19, 2010
-
-
Chris Lattner authored
instead of as a single element list with VoidTy. llvm-svn: 99009
-
Chris Lattner authored
dag isel gen instead of instruction properties. This allows the oh-so-useful behavior of matching a variadic non-root node. llvm-svn: 98934
-
Chris Lattner authored
record* -> instrinfo instead of std::string -> instrinfo. This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug build (20%). llvm-svn: 98916
-
Chris Lattner authored
Use CodeGenTarget::getInstNamespace in one place and fix it. llvm-svn: 98915
-
Chris Lattner authored
llvm-svn: 98914
-
Chris Lattner authored
llvm-svn: 98912
-
Chris Lattner authored
to a vector that CGT stores instead of synthesizing it on every call. llvm-svn: 98910
-
Chris Lattner authored
llvm-svn: 98908
-
Chris Lattner authored
llvm-svn: 98904
-
- Mar 15, 2010
-
-
Chris Lattner authored
changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! llvm-svn: 98534
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Jan 15, 2010
-
-
Dale Johannesen authored
Also, DEBUG_VALUE has side effects. llvm-svn: 93498
-
- Jan 09, 2010
-
-
Dale Johannesen authored
llvm-svn: 93040
-
Dale Johannesen authored
llvm-svn: 93030
-
- Jan 04, 2010
-
-
Dan Gohman authored
for a refactoring I'm working on. llvm-svn: 92503
-
- Sep 28, 2009
-
-
Jakob Stoklund Olesen authored
unused DECLARE instruction. KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF in the places where IMPLICIT_DEF is just used to alter liveness of physical registers. llvm-svn: 83006
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Bob Wilson authored
llvm-svn: 78643
-
Bob Wilson authored
arguments that are vectors of any size and element type. llvm-svn: 78631
-
Owen Anderson authored
llvm-svn: 78610
-
- Jul 29, 2009
-
-
Daniel Dunbar authored
llvm-svn: 77404
-
- Jul 15, 2009
-
-
Duncan Sands authored
native for any supported targets. llvm-svn: 75785
-
- Jul 14, 2009
-
-
Bob Wilson authored
llvm-svn: 75565
-
- Jul 11, 2009
-
-
Bob Wilson authored
These are needed to represent ARM Neon struct datatypes containing 2, 3 or 4 separate vectors. llvm-svn: 75308
-
Bob Wilson authored
since names are the same for almost all the types. llvm-svn: 75302
-
- Jul 07, 2009
-
-
Devang Patel authored
llvm-svn: 74882
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Jun 29, 2009
-
-
David Greene authored
Add more vector ValueTypes for AVX and other extended vector instruction sets. llvm-svn: 74427
-
- Jun 02, 2009
-
-
Dale Johannesen authored
llvm-svn: 72712
-
Dale Johannesen authored
ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to) instead of MVT::Flag. Remove CARRY_FALSE in favor of 0; adjust all target-independent code to use this format. Most targets will still produce a Flag-setting target-dependent version when selection is done. X86 is converted to use i32 instead, which means TableGen needs to produce different code in xxxGenDAGISel.inc. This keys off the new supportsHasI1 bit in xxxInstrInfo, currently set only for X86; in principle this is temporary and should go away when all other targets have been converted. All relevant X86 instruction patterns are modified to represent setting and using EFLAGS explicitly. The same can be done on other targets. The immediate behavior change is that an ADC/ADD pair are no longer tightly coupled in the X86 scheduler; they can be separated by instructions that don't clobber the flags (MOV). I will soon add some peephole optimizations based on using other instructions that set the flags to feed into ADC. llvm-svn: 72707
-
- Apr 16, 2009
-
-
Bob Wilson authored
and argument positions but only to the overloaded intrinsic parameters. Keep a separate list of these overloaded parameters in CodeGenTarget.cpp so they can be resolved easily. Remove assertions from IntrinsicEmitter.cpp: they were harmless but confusing, and the assertions elsewhere in TableGen will catch any incorrect values. llvm-svn: 69316
-
- Apr 13, 2009
-
-
Dan Gohman authored
it accordingly. Thanks to Jakob Stoklund Olesen for pointing out how this might be useful. llvm-svn: 68986
-
Dan Gohman authored
This will be used to replace things like X86's MOV32to32_. Enhance ScheduleDAGSDNodesEmit to be more flexible and robust in the presense of subregister superclasses and subclasses. It can now cope with the definition of a virtual register being in a subclass of a use. Re-introduce the code for recording register superreg classes and subreg classes. This is needed because when subreg extracts and inserts get coalesced away, the virtual registers are left in the correct subclass. llvm-svn: 68961
-
- Feb 05, 2009
-
-
Dale Johannesen authored
llvm-svn: 63812
-
- Feb 04, 2009
-
-
Dale Johannesen authored
and llvm-gcc. llvm-svn: 63786
-
Nate Begeman authored
target directories themselves. This also means that VMCore no longer needs to know about every target's list of intrinsics. Future work will include converting the PowerPC target to this interface as an example implementation. llvm-svn: 63765
-
- Jan 12, 2009
-
-
Chris Lattner authored
parse them. tblgen doesn't yet do anything with this info though. llvm-svn: 62065
-
- Jan 07, 2009
-
-
Bob Wilson authored
to handle LLVMMatchType intrinsic parameters, and by adding new subclasses of LLVMMatchType to match vector types with integral elements that are either twice as wide or half as wide as the elements of the matched type. llvm-svn: 61834
-