History log of /external/llvm/utils/TableGen/CodeEmitterGen.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
059800f9e3fee2852672f846d91a2da14da7783a 21-Jan-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-llvm

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCAssembler.cpp
lib/Support/Atomic.cpp
lib/Support/Memory.cpp
lib/Target/ARM/ARMJITInfo.cpp

Change-Id: Ib339baf88df5b04870c8df1bedcfe1f877ccab8d
4ffd89fa4d2788611187d1a534d2ed46adf1702c 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for utils/...

I've tried to find main moudle headers where possible, but the TableGen
stuff may warrant someone else looking at it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f1adbfe4e23ce08d1afa1245f2515e863813a6ac 09-Nov-2012 Evandro Menezes <emenezes@codeaurora.org> Fix issue with invalid flat operand number

Avoid iterating over list of operands beyond the number of operands in it.

PS: this fixes issue with revision #167634.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f1bb42152a0375f2889bd7329eada2b6422c837e 09-Nov-2012 Evandro Menezes <emenezes@codeaurora.org> Fix issue with invalid flat operand number

Avoid iterating over list of operands beyond the number of operands in it.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
6cfc806a6b82b60a3e923b6b89f2b4da62cdb50b 10-Oct-2012 Sean Silva <silvas@purdue.edu> tblgen: Mechanically move dynamic_cast<> to dyn_cast<>.

Some of these dyn_cast<>'s would be better phrased as isa<> or cast<>.
That will happen in a future patch.

There are also two dyn_cast_or_null<>'s slipped in instead of
dyn_cast<>'s, since they were causing crashes with just dyn_cast<>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1c4ad5ef4fab105f0c8af7edd026e00502fb6279 11-Sep-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-2012_09_10

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/Support/DynamicLibrary.cpp
lib/Support/LockFileManager.cpp

Change-Id: I91e94c3a7a76e19c688307c5a480a640a3bd2b7e
307525cd24c3b9c081ddb3c34a3418f2875cd556 07-Sep-2012 Michael Liao <michael.liao@intel.com> Re-work bit/bits value resolving in tblgen

- This patch is inspired by the failure of the following code snippet
which is used to convert enumerable values into encoding bits to
improve the readability of td files.

class S<int s> {
bits<2> V = !if(!eq(s, 8), {0, 0},
!if(!eq(s, 16), {0, 1},
!if(!eq(s, 32), {1, 0},
!if(!eq(s, 64), {1, 1}, {?, ?}))));
}

Later, PR8330 is found to report not exactly the same bug relevant
issue to bit/bits values.

- Instead of resolving bit/bits values separately through
resolveBitReference(), this patch adds getBit() for all Inits and
resolves bit value by resolving plus getting the specified bit. This
unifies the resolving of bit with other values and removes redundant
logic for resolving bit only. In addition,
BitsInit::resolveReferences() is optimized to take advantage of this
origanization by resolving VarBitInit's variable reference first and
then getting bits from it.

- The type interference in '!if' operator is revised to support possible
combinations of int and bits/bit in MHS and RHS.

- As there may be illegal assignments from integer value to bit, says
assign 2 to a bit, but we only check this during instantiation in some
cases, e.g.

bit V = !if(!eq(x, 17), 0, 2);

Verbose diagnostic message is generated when invalid value is
resolveed to help locating the error.

- PR8330 is fixed as well.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
7744acd1ab73b3eec6f1449f47083abe3fb1b527 03-Aug-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r160668 (Jul 24th 2012)

Conflicts:
include/llvm/Support/ELF.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Support/Memory.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp

Change-Id: Iddd658cf2eadc7165b2805b446d31af2c5c9917f
6f36fa981a59461466e12e5056ba209d289b81b1 11-Jun-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Write llvm-tblgen backends as functions instead of sub-classes.

The TableGenBackend base class doesn't do much, and will be removed
completely soon.

Patch by Sean Silva!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c59a7995d22e2889706810c90a20a51ecfec278b 24-Mar-2012 Shih-wei Liao <sliao@google.com> Merge branch 'upstream' into sliao_d
89d8139d3706270ec99b3722f273a34af61b4644 09-Mar-2012 NAKAMURA Takumi <geek4civic@gmail.com> TableGen/CodeEmitterGen.cpp: Fix an expression of generating bitmask.

~0U might be i32 on 32-bit hosts, then (uint64_t)~0U might not be expected as (i64)0xFFFFFFFF_FFFFFFFF, but as (i64)0x00000000_FFFFFFFF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
40530ad3a8384e597b7a80d04c2ab80ac0232e0c 06-Mar-2012 Owen Anderson <resistor@mac.com> Fix support for encodings up to 64-bits in length. TableGen was silently truncating them to 32-bits prior to this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c02a5c5e8d9c1fd2a20ad4aed40f328564e95b40 05-Mar-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-20120305

Conflicts:
lib/Support/Atomic.cpp

Change-Id: I563b3bc2a82942ccbae5bed42e53b9149a8bf3a0
4f8dc7b17accf4f2ec953b80b2cc79786207492e 24-Jan-2012 Owen Anderson <resistor@mac.com> Widen the instruction encoder that TblGen emits to a 64 bits, which should accomodate every target I can think of offhand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
0ebc07a576037e4e36f68bf5cece32740ca120c0 19-Oct-2011 Logan Chien <loganchien@google.com> Merge with LLVM upstream 2011/10/20 (r142530)

Conflicts:
lib/Support/Unix/Host.inc

Change-Id: Idc00db3b63912dca6348bddd9f8a1af2a8d5d147
7c788888872233748da10a8177a9a1eb176c1bc8 01-Oct-2011 Peter Collingbourne <peter@pcc.me.uk> Move TableGen's parser and entry point into a library

This is the first step towards splitting LLVM and Clang's tblgen executables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
05bce0beee87512e52428d4b80f5a8e79a949576 30-Jul-2011 David Greene <greened@obbligato.org> Unconstify Inits

Remove const qualifiers from Init references, per Chris' request.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
dcd35c797d458d8b1dbc36cf7f1504166d5b2f16 29-Jul-2011 David Greene <greened@obbligato.org> [AVX] Create Inits Via Factory Method

Replace uses of new *Init with *Init::get. This hides the allocation
implementation so that we can unique Inits in various ways.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f37dd02f7743ebd2424480361f5a7db510495c4f 29-Jul-2011 David Greene <greened@obbligato.org> [AVX] Constify Inits

Make references to Inits const everywhere. This is the final step
before making them unique.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ca7fd3de360b266783438666054dba198ff77ba2 29-Jul-2011 David Greene <greened@obbligato.org> [AVX] Remove Mutating Members from Inits

Get rid of all Init members that modify internal state. This is in
preparation for making references to Inits const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
8a5dac4f365ce990ed9122a40480487f91d73ddb 20-Jul-2011 Logan Chien <loganchien@google.com> Fix ARMCodeEmitter pseudo instruction encoder.

In order to keep JITCodeEmitter working, we should
generate cases for pseudo instructions to prevent them
from falling to default (and fatal) case.

Change-Id: I4862f96be7a149239f47a3da5d998a5185f43fbe
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d568b3f55294917d1cc701da14a8a7daeb6563e6 12-Jul-2011 Eric Christopher <echristo@apple.com> Revert r134921, 134917, 134908 and 134907. They're causing failures
in multiple buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
5e3cb47beada349cdde5cb023127491f46b88a7f 11-Jul-2011 David Greene <greened@obbligato.org> Use get(0 Instead of Create()

Respond to some feedback asking for a name change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d4a9066c93da9a5aab47ca228d82e796fdec70c0 11-Jul-2011 David Greene <greened@obbligato.org> [AVX] Make Inits Foldable

Manage Inits in a FoldingSet. This provides several benefits:

- Memory for Inits is properly managed

- Duplicate Inits are folded into Flyweights, saving memory

- It enforces const-correctness, protecting against certain classes
of bugs

The above benefits allow Inits to be used in more contexts, which in
turn provides more dynamism to TableGen. This enhanced capability
will be used by the AVX code generator to a fold common patterns
together.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
806fcc040e0bc7962891f12d6e09fc86f0bc2184 06-Jul-2011 Jim Grosbach <grosbach@apple.com> Don't require pseudo-instructions to carry encoding information.

For now this is distinct from isCodeGenOnly, as code-gen-only
instructions can (and often do) still have encoding information
associated with them. Once we've migrated all of them over to true
pseudo-instructions that are lowered to real instructions prior to
the printer/emitter, we can remove isCodeGenOnly and just use isPseudo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
4cdcb4772d95b9e801a0f3cd43776cef3af3b530 28-Apr-2011 Owen Anderson <resistor@mac.com> Fix a bug in tblgen that caused incorrect encodings on instructions that specified operands with "bit" instead of "bits<1>".
Unfortunately, my only testcase for this is fragile, and the ARM AsmParser can't round trip the instruction in question.
<rdar://problem/9345702>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
0ed92f2de3b424416b140eec3df9c9342848bfad 04-Feb-2011 Jim Grosbach <grosbach@apple.com> Tidy up a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
9b8c3530cca906727f573234c783cdbf2499373f 28-Jan-2011 Bob Wilson <bob.wilson@apple.com> Fix a comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
8e68c3873549ca31533e2e3e40dda3a43cb79566 23-Dec-2010 Jeffrey Yasskin <jyasskin@google.com> Change all self assignments X=X to (void)X, so that we can turn on a
new gcc warning that complains on self-assignments and
self-initializations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
eac8f35da8935cb5e5d6f6f0f02d0648fd8f130b 13-Dec-2010 Bill Wendling <isanbard@gmail.com> Move <map> include out of .h and into .cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
67db883487fca3472fdde51e931657e22d4d0495 13-Dec-2010 Chris Lattner <sabre@nondot.org> eliminate the Records global variable, patch by Garrison Venn!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
8ae082bf19a746324b7c6c781831b926e28afcf0 15-Nov-2010 Chris Lattner <sabre@nondot.org> pull the code to get the operand value out of the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1620117f76b99560406ed90197173b72a9b8b66e 15-Nov-2010 Chris Lattner <sabre@nondot.org> split the giant encoder loop into two new helper functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
98e969ae20352c0255edf25def392577de61e693 15-Nov-2010 Chris Lattner <sabre@nondot.org> reduce nesting and minor cleanups, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
2ac190238e88b21e716e2853900b5076c9013410 15-Nov-2010 Chris Lattner <sabre@nondot.org> add fields to the .td files unconditionally, simplifying tblgen a bit.
Switch the ARM backend to use 'let' instead of 'set' with this change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
336b8b42445920a3f59e42c61f2ccd9fbdfc497e 11-Nov-2010 Owen Anderson <resistor@mac.com> Add support for specifying a PostEncoderMethod, which can perform post-processing after the automated encoding of an instruction.
Not yet used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
60aaa761963e1967dfb21d69d0b4a6a0c9f39c57 04-Nov-2010 Jim Grosbach <grosbach@apple.com> Support generating an MC'ized CodeEmitter directly. Maintain a reference to the
Fixups list for the instruction so the operand encoders can add to it as
needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ab3d00e5350fd4c097e2a5b077da7584692029a7 02-Nov-2010 Jim Grosbach <grosbach@apple.com> Revert r114340 (improvements in Darwin function prologue/epilogue), as it broke
assumptions about stack layout. Specifically, LR must be saved next to FP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
cd5391965fe95834c96e2d3c89d20c574401e911 02-Nov-2010 Jim Grosbach <grosbach@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c240bb0ede0541426254d0e0dc81d891beda4b22 01-Nov-2010 Chris Lattner <sabre@nondot.org> factor the operand list (and related fields/operations) out of
CodeGenInstruction into its own helper class. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
5013f7469ec44adba127de65517e699180ee532f 13-Oct-2010 Jim Grosbach <grosbach@apple.com> Allow targets to optionally specify custom binary encoder functions for
operand values. This is useful for operands which require additional trickery
to encode into the instruction. For example, the ARM shifted immediate and
shifted register operands.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
a1e2194f03ea56c65a44699c537245284224d8b2 11-Oct-2010 Jim Grosbach <grosbach@apple.com> The assert() should reference to machine instr operand number, too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1a7233f9d08b20076ca71f7d95c673fd641b9c35 11-Oct-2010 Jim Grosbach <grosbach@apple.com> Make sure to use the machine instruction operand number. It doesn't always
map one-to-one with the CodeGenInstruction operand number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
01855071e24e0e3e75306b82267d3ad0b13a0c15 11-Oct-2010 Jim Grosbach <grosbach@apple.com> When figuring out which operands match which encoding fields in an instruction,
try to match them by name first. If there is no by-name match, fall back to
assuming they are in order (this was the previous behavior).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
bade37bb8b83deefa166776b1b5185c237a42e71 08-Oct-2010 Jim Grosbach <grosbach@apple.com> Make <target>CodeEmitter::getBinaryCodeForInstr() a const method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
8b892ae3d6a23c2370ef64f6d4fe0a6abed94d39 07-Oct-2010 Jim Grosbach <grosbach@apple.com> trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
65766ce7df779ac0e7f6ee0171562b56769ae1dd 02-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Clean up TargetOpcodes.h a bit, and limit the number of places where the full
list of predefined instructions appear. Add some consistency checks.

Ideally, TargetOpcodes.h should be produced by TableGen from Target.td, but it
is hardly worth the effort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
b55c8bed9d0f3eaa454a657746d8ec11aae9dea3 01-May-2010 Evan Cheng <evan.cheng@apple.com> Add a pseudo instruction REG_SEQUENCE that takes a list of registers and
sub-register indices and outputs a single super register which is formed from
a consecutive sequence of registers.

This is used as register allocation / coalescing aid and it is useful to
represent instructions that output register pairs / quads. For example,
v1024, v1025 = vload <address>
where v1024 and v1025 forms a register pair.

This really should be modelled as
v1024<3>, v1025<4> = vload <address>
but it would violate SSA property before register allocation is done.

Currently we use insert_subreg to form the super register:
v1026 = implicit_def
v1027 - insert_subreg v1026, v1024, 3
v1028 = insert_subreg v1027, v1025, 4
...
= use v1024
= use v1028

But this adds pseudo live interval overlap between v1024 and v1025.

We can now modeled it as
v1024, v1025 = vload <address>
v1026 = REG_SEQUENCE v1024, 3, v1025, 4
...
= use v1024
= use v1026

After coalescing, it will be
v1026<3>, v1025<4> = vload <address>
...
= use v1026<3>
= use v1026


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
75361b69f3f327842b9dad69fa7f28ae3b688412 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f65027842e82027dd6e8020586a299aaa548e355 19-Mar-2010 Chris Lattner <sabre@nondot.org> change Target.getInstructionsByEnumValue to return a reference
to a vector that CGT stores instead of synthesizing it on every
call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f30187a36324fb75042d9ffd20c3fb70aff7763d 19-Mar-2010 Chris Lattner <sabre@nondot.org> look up instructions by record, not by name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
518bb53485df640d7b7e3f6b0544099020c42aa7 09-Feb-2010 Chris Lattner <sabre@nondot.org> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
243a32f96b364811e2f9feadecfefb21b640321f 15-Jan-2010 Dale Johannesen <dalej@apple.com> Remove DEBUG_DECLARE, looks like we don't need it.
Also, DEBUG_VALUE has side effects.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d2035203a0359eedbc1cf4ae77d43176e8455cd4 09-Jan-2010 Dale Johannesen <dalej@apple.com> Add DEBUG_DECLARE. Not used yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
87563b39370d7adfd42b0f531409ff9bc2bfcc56 09-Jan-2010 Dale Johannesen <dalej@apple.com> Add DEBUG_VALUE. Not used yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
9b03da6824372f3b6cb961ecf88de949cb10b450 15-Dec-2009 Dan Gohman <gohman@apple.com> Revert 90628, which was incorrect.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
7004b9cf337c0ebdb778c157529def6ad425ba5b 05-Dec-2009 Dan Gohman <gohman@apple.com> Minor code simplification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
26207e5bf1123a793bd9b38bcda2f569a6b45ef2 28-Sep-2009 Jakob Stoklund Olesen <stoklund@2pi.dk> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
804e0fea4033e3b91dbc8198cef30de30f141bb5 08-Jul-2009 Torok Edwin <edwintorok@gmail.com> Convert more abort() calls to llvm_report_error().
Also remove trailing semicolon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1a55180238dbcf11113f610aea010447e51f595b 03-Jul-2009 Daniel Dunbar <daniel@zuster.org> Replace std::iostreams with raw_ostream in TableGen.
- Sorry, I can't help myself.

- No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
88c7af096b09ad26cbcebfdf40151e04094b7460 13-Apr-2009 Dan Gohman <gohman@apple.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f8c7394781f7cf27ac52ca087e289436d36844da 13-Apr-2009 Dan Gohman <gohman@apple.com> Add a new TargetInstrInfo MachineInstr opcode, COPY_TO_SUBCLASS.
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1cfa0776c3053b894bcc8c74610e09118340aad3 05-Oct-2008 Chris Lattner <sabre@nondot.org> Fix shift overflow bug that would occur when a field was a full 32-bits
in tblgen. This is PR2827, thanks to Waldemar Knorr for tracking this
down.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
bc95b23156058ab3820d03c56709308e604a981b 17-Sep-2008 Evan Cheng <evan.cheng@apple.com> Add instruction names as comments to InstBits entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
e3e36263384a7f4662f2eafa090507602a5c391e 07-Sep-2008 Evan Cheng <evan.cheng@apple.com> Eliminate a compile time warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
acff339e391d23e748b69f61ae5c27fd5620c69f 02-Sep-2008 Evan Cheng <evan.cheng@apple.com> Change getBinaryCodeForInstr prototype. First operand MachineInstr& should be const. Make corresponding changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
4406604047423576e36657c7ede266ca42e79642 01-Jul-2008 Dan Gohman <gohman@apple.com> Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating
the need for a flavor operand, and add a new SDNode subclass,
LabelSDNode, for use with them to eliminate the need for a label id
operand.

Change instruction selection to let these label nodes through
unmodified instead of creating copies of them. Teach the MachineInstr
emitter how to emit a MachineInstr directly from an ISD label node.

This avoids the need for allocating SDNodes for the label id and
flavor value, as well as SDNodes for each of the post-isel label,
label id, and label flavor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c9298235251b014e86a7368d92b589d093acb64a 16-Mar-2008 Christopher Lamb <christopher.lamb@gmail.com> Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
da47e6e0d003c873da960361549e57ee4617c301 15-Mar-2008 Evan Cheng <evan.cheng@apple.com> Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
a844bdeab31ef04221e7ef59a8467893584cc14d 02-Feb-2008 Evan Cheng <evan.cheng@apple.com> SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc.
Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes.
For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
3060910e290949a9ac5eda8726d030790c4d60ff 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from utils.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
08d52071bae2f8cc2e9aa6a451118b83d043813b 26-Jul-2007 Christopher Lamb <christopher.lamb@gmail.com> Add target independent MachineInstr's to represent subreg insert/extract in MBB's. PR1350


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
a683f9ba1356e92a5e7243d9f80fe8a8b6f737c8 26-Jan-2007 Jim Laskey <jlaskey@mac.com> Files missing from LABEL check in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f5da13367f88f06e3b585dc2263ab6e9ca6c4bf8 07-Dec-2006 Bill Wendling <isanbard@gmail.com> What should be the last unnecessary <iostream>s in the library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f64f9a4b75d07819866bfcf918b922a76d3e1600 16-Nov-2006 Chris Lattner <sabre@nondot.org> Remove the isTwoAddress property from the CodeGenInstruction class. It should
not be used for anything other than backwards compat constraint handling.

Add support for a new DisableEncoding property which contains a list of
registers that should not be encoded by the generated code emitter. Convert
the codeemitter generator to use this, fixing some PPC JIT regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
fa3e3b9427a643dae2a54f5b2869eb09ad705831 03-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Remove an unused variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
8aa01f4b435b8e6871f63887cd2ee00b7530ee9c 05-Sep-2006 Chris Lattner <sabre@nondot.org> Fix JIT encoding of two-addr instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
cb129031479dfb5583cce6d77fcbb0b68098693a 14-Jul-2006 Jim Laskey <jlaskey@mac.com> Clean up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f1b05bf755c3a083944f03fbf6a83892bc051065 13-Jul-2006 Jim Laskey <jlaskey@mac.com> 1. Simplfy bit operations.
2. Coalesce instruction cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ed393433d2fd0d680ac5c18ad78e6ebe9afda034 12-Jul-2006 Jim Laskey <jlaskey@mac.com> Move base value of instruction to lookup table to prepare for case reduction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1406bdab851705ebabd8d0123c52a69238d93d64 11-Jul-2006 Jim Laskey <jlaskey@mac.com> Reduce bloat in target libraries by removing per machine instruction assertion
from code emitter generation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
485c00f7e8153e9d281c4f542593f503d022043c 18-Mar-2006 Chris Lattner <sabre@nondot.org> Fix miscodegen of V_SET0 in PPC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
188454ae2b36e9130ab01e2e5649e3805edb8154 27-Jan-2006 Chris Lattner <sabre@nondot.org> Don't emit JIT code for these instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
dc93efe30e8fe819c7bd3abecf4b6ea50030e394 24-Oct-2005 Chris Lattner <sabre@nondot.org> Fix an incompatibility with GCC 4.1, thanks to Vladimir Merzliakov
for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
fcd60a010b8da81b5b3528636fca78ebe4288c75 19-Aug-2005 Chris Lattner <sabre@nondot.org> The code emitter generator only supports targets with 32-bit instruction
words. There is no way for one of these targets to have a > 32-bit immediate!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
3da94aec4d429b2ba0f65fa040c33650cade196b 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
28eefa5464ca6415fcee577d5c47f739535d7e6c 14-Oct-2004 Misha Brukman <brukman+llvm@gmail.com> * Factor out (into new fn) a loop emitting operand shifts into the instruction
* Reverse instruction bit components for a LittleEndian-style encoding
* Fix some comments and spacing


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
2c38413b3f5420f45f2f8220b21862246d446dd0 17-Aug-2004 Chris Lattner <sabre@nondot.org> Do not #include files into the llvm namespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ad346ad17058d9e1463ab1fe5bfa78444e5d3e9c 10-Aug-2004 Misha Brukman <brukman+llvm@gmail.com> Deleted commented-out code as we now get namespace directly, add comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
e2ba7787ba84513178611a0d44ca11494be62f51 10-Aug-2004 Misha Brukman <brukman+llvm@gmail.com> Use the target name instead of hard-coding SparcV9.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
2b27b88716522807a835813c63993a9349730e3a 10-Aug-2004 Chris Lattner <sabre@nondot.org> This was a good idea, but until this does not break the build of
lib/Target/Sparc, we should not use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d7a5b2826cbef9d980893a41f39bab6948e9c852 09-Aug-2004 Misha Brukman <brukman+llvm@gmail.com> Use the current target name instead of a ClassPrefix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
eb178c146a0f56cca8421eda9fb6ed2a8c73a2b4 09-Aug-2004 Misha Brukman <brukman+llvm@gmail.com> * Use Classname and ClassPrefix instead of hard-coded V9 values
* Simplify code and shorten lines by not recomputing values


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
4e4f8631f68862cfd725de66422bb867bda0efdf 05-Aug-2004 Misha Brukman <brukman+llvm@gmail.com> * Added documentation in the file header
* Shorten assert() text to make it fit within 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
2082ebe8b3a5db302748828ab4f79a36d239c1d9 01-Aug-2004 Chris Lattner <sabre@nondot.org> Finegrainify namespacification


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
01d45827a1e512f3b19ba857772bf02baa3c0c4e 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
0bb806bd9a707358261ab83ee025c7b969c2edf0 17-Sep-2003 Misha Brukman <brukman+llvm@gmail.com> Do not put DEBUG() guard around error condition; this must *always* be printed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
dfd414ab770a389d29b7294f20e38cbf74c9f9a9 06-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Added asserts to prevent negative shift amounts from being generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
0e5e49e6888c354ff95fc9e56d0881af78cb4269 06-Aug-2003 Chris Lattner <sabre@nondot.org> convert over to using TableGen backends


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d88ba5a861f400116ec4343a0542e0c58ba0e6a5 05-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Stop special-casing annul and predict bits (which are Sparc-specific anyway)
since those bits are now hard-coded in Sparc*.td files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ffaee3755604e8227cefb209d4741f108ae16b0e 05-Aug-2003 Chris Lattner <sabre@nondot.org> No functional changes, comment the fix I just put in


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
d7efef9d1481a96425e09b8a37114c815ab5da1c 05-Aug-2003 Chris Lattner <sabre@nondot.org> The CodeEmitterGenerator used to consider ANY uninitialized field as being an
operand (unless it's annul or predict). Now we only consider fields to be
operands if they are uninitialized AND used in the "Inst" field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c648dabf65c67d20c208ed0b39b9622387e636c7 02-Aug-2003 Chris Lattner <sabre@nondot.org> DEBUG got moved to Debug.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
6f334ad8f5c9319b334e2ba68b89d0dd46156788 01-Aug-2003 Chris Lattner <sabre@nondot.org> Add new getValueAsBitsInit 'high-level' method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
048c00db1cd05bbbd616e0eff71756eebd45f6b4 01-Aug-2003 Chris Lattner <sabre@nondot.org> Simplify code to match new interfaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
cf1b5853127352096ea6c2f8ec130f809168da2f 01-Aug-2003 Chris Lattner <sabre@nondot.org> Minor cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ab47ae3381aa2372009a9054260461c20324b555 01-Aug-2003 Chris Lattner <sabre@nondot.org> Factor code out into a new getAllDerivedDefinitions method, which is generally useful


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c9670ef17d43a6c20fcc0f6765988216754419a0 31-Jul-2003 Chris Lattner <sabre@nondot.org> More minor cleanups of the interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f745a20deb40ba0113fe368efcba5393e9d3e99c 31-Jul-2003 Chris Lattner <sabre@nondot.org> Rename createEmitter to run because eventually all tablegen backends will
be subclasses of a common interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
30709543d2463948d2b6e30a4411a29940cfde69 30-Jul-2003 Chris Lattner <sabre@nondot.org> Don't crash if there is no Inst class in the tablegen file!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
c86516f35ccc64ad33acdd79c89aa4c4e33c6e70 18-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> Added a DEBUG() guard to a debug information printout.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f6e5217b54441866dec596c1be20747036440cd4 15-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> Fixed a bug: outputting name of variable instead of its value.
Also, placed DEBUG() guards around debug information so that the generated file
is much smaller and hence should be faster to preprocess/compile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
7eac4766b156ad2965125a7ee3f1f4834dfbb00b 15-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> This optimization greatly enhances efficiency of creating new instructions by
masking and shifting operands directly into their place in the instruction,
instead of the old-fashioned way of ORing in each bit separately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
48aa8242799b639526b8b696260045be0c0c0139 08-Jul-2003 Misha Brukman <brukman+llvm@gmail.com> Stop using the `Offset' variable, as we are cycling through the bits of a field
initializer and the loop index variable already carries the offset information
that we need.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
1cb65f2d6202bbfcea0a764ab1356cb574ef4d20 07-Jun-2003 Chris Lattner <sabre@nondot.org> Old versions of GCC doesn't have <ostream> :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
f4ef4c881f851ae019f9f48d5473f9f1586d1dbc 06-Jun-2003 Misha Brukman <brukman+llvm@gmail.com> All debug print statements are now output with the DEBUG() guard to make
output clean so that tests can automatically diff the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
3d194ac26bd61968ac9ed8de5bde42e902724d19 06-Jun-2003 Misha Brukman <brukman+llvm@gmail.com> * Stop ignoring cc registers, since we actually use them in branches.
* Added comment as to why we are still ignoring predict and annul bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
9ced1671a6c27dd680849e302b85b0cd3fdfe097 03-Jun-2003 Misha Brukman <brukman+llvm@gmail.com> Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
e7800b5458674fcfc6054d7c94c4d4a5e1b8fd2f 30-May-2003 Misha Brukman <brukman+llvm@gmail.com> getValueOp() now takes a MachineInstr as well as a MachineOperand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
ecc7fd3c56f482ecb4ea42d2cf83e54f73dfb69a 28-May-2003 Misha Brukman <brukman+llvm@gmail.com> Output the opcode name of the instruction being emitted to cerr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
b9dd8154b6f0c64c7e6703b11fa5d25e1375a8df 28-May-2003 Misha Brukman <brukman+llvm@gmail.com> Cannot output `static' in generated cpp code: results in error. It's already
specified as a static member in class definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
cbfde0a6128bd7049433e03bba69911d55288fb1 28-May-2003 Misha Brukman <brukman+llvm@gmail.com> * Now outputting a static function getBinaryCodeForInstr() (JIT-accessible)
* For debugging purposes:
+ output the predefined bit pattern of the instruction
* Fixed inefficiency: only load an operand from MachineInstr once
* Bug fix: did not advance bit index when seeing named bit-fields "annul", "cc"
and "predict"
* Added a catch-all for non-supported instructions at the end of switch stmt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp
9fff7e194a2d8aa3abe92efa506b1fbe83583f53 24-May-2003 Misha Brukman <brukman+llvm@gmail.com> First cut at the Code Generator using the TableGen methodology.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeEmitterGen.cpp