History log of /llvm-project-15.0.7/llvm/utils/TableGen/CodeGenTarget.cpp (Results 226 – 250 of 376)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c9ae94c7 19-Mar-2010 Chris Lattner <[email protected]>

factor copy and paste code.

llvm-svn: 98908


# 9aec14b5 19-Mar-2010 Chris Lattner <[email protected]>

look up instructions by record, not by name.

llvm-svn: 98904


# cabe037b 15-Mar-2010 Chris Lattner <[email protected]>

Completely rewrite tblgen's type inference mechanism,
changing the primary datastructure from being a
"std::vector<unsigned char>" to being a new TypeSet class
that actually has (gasp) invariants!

Completely rewrite tblgen's type inference mechanism,
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

show more ...


# b06015aa 09-Feb-2010 Chris Lattner <[email protected]>

move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start u

move target-independent opcodes out of TargetInstrInfo
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

show more ...


# 881ba0bb 15-Jan-2010 Dale Johannesen <[email protected]>

Remove DEBUG_DECLARE, looks like we don't need it.
Also, DEBUG_VALUE has side effects.

llvm-svn: 93498


# 237254dc 09-Jan-2010 Dale Johannesen <[email protected]>

Add DEBUG_DECLARE. Not used yet.

llvm-svn: 93040


# 8f047406 08-Jan-2010 Dale Johannesen <[email protected]>

Add DEBUG_VALUE. Not used yet.

llvm-svn: 93030


# b91411c9 04-Jan-2010 Dan Gohman <[email protected]>

Remove the CPAttrParentAsRoot code, which is unused, and inconvenient
for a refactoring I'm working on.

llvm-svn: 92503


Revision tags: llvmorg-2.6.0
# dc9efe80 28-Sep-2009 Jakob Stoklund Olesen <[email protected]>

Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
unused DECLARE instruction.

KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF
in the places wher

Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
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

show more ...


# 9f94459d 11-Aug-2009 Owen Anderson <[email protected]>

Split EVT into MVT and EVT, the former representing _just_ a primitive type, while
the latter is capable of representing either a primitive or an extended type.

llvm-svn: 78713


# 781797f5 11-Aug-2009 Bob Wilson <[email protected]>

Fix a few more places in TableGen that need to handle EVT::vAny types.

llvm-svn: 78643


# 2cd5da83 11-Aug-2009 Bob Wilson <[email protected]>

Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic
arguments that are vectors of any size and element type.

llvm-svn: 78631


# 53aa7a96 10-Aug-2009 Owen Anderson <[email protected]>

Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type.

llvm-svn: 78610


# 0033199c 29-Jul-2009 Daniel Dunbar <[email protected]>

Match X86 register names to number.

llvm-svn: 77404


# 9ad1594f 15-Jul-2009 Duncan Sands <[email protected]>

Remove the v3i32 and v3f32 value types: they are not
native for any supported targets.

llvm-svn: 75785


# c6026b51 14-Jul-2009 Bob Wilson <[email protected]>

Revert 75308.

llvm-svn: 75565


# 73fd66c0 10-Jul-2009 Bob Wilson <[email protected]>

Add new vector types for 192-bit, 348-bit and 512-bit sizes.
These are needed to represent ARM Neon struct datatypes containing 2, 3 or 4
separate vectors.

llvm-svn: 75308


# bf8e4c11 10-Jul-2009 Bob Wilson <[email protected]>

Refactor TableGen's llvm::getName to share code with llvm::getEnumName,
since names are the same for almost all the types.

llvm-svn: 75302


# 5832e7fd 06-Jul-2009 Devang Patel <[email protected]>

Add new ValueType for metadata.

llvm-svn: 74882


# 38a22bff 03-Jul-2009 Daniel Dunbar <[email protected]>

Replace std::iostreams with raw_ostream in TableGen.
- Sorry, I can't help myself.

- No intended functionality change.

llvm-svn: 74742


# f92ba97c 29-Jun-2009 David Greene <[email protected]>

Add more vector ValueTypes for AVX and other extended vector instruction
sets.

llvm-svn: 74427


# 5234d379 02-Jun-2009 Dale Johannesen <[email protected]>

Revert 72707 and 72709, for the moment.

llvm-svn: 72712


# 0b8ca792 01-Jun-2009 Dale Johannesen <[email protected]>

Make the implicit inputs and outputs of target-independent
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-inde

Make the implicit inputs and outputs of target-independent
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

show more ...


# b8c370a8 16-Apr-2009 Bob Wilson <[email protected]>

Fix PR3994: LLVMMatchType arguments do not refer to absolute return value
and argument positions but only to the overloaded intrinsic parameters.
Keep a separate list of these overloaded parameters i

Fix PR3994: LLVMMatchType arguments do not refer to absolute return value
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

show more ...


# 6c142630 13-Apr-2009 Dan Gohman <[email protected]>

Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize
it accordingly. Thanks to Jakob Stoklund Olesen for pointing
out how this might be useful.

llvm-svn: 68986


12345678910>>...16