History log of /llvm-project-15.0.7/llvm/utils/TableGen/CodeGenTarget.cpp (Results 101 – 125 of 376)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1
# cffc0d20 20-Jul-2016 Tim Northover <[email protected]>

GlobalISel: Remove explicit enumerator values from .def file.

They were all auto-incremented from 0 anyway, and I'm getting really annoying
conflicts and runtime failures when different people add m

GlobalISel: Remove explicit enumerator values from .def file.

They were all auto-incremented from 0 anyway, and I'm getting really annoying
conflicts and runtime failures when different people add more for GlobalISel
(and even when I'm refactoring my own patches).

NFC.

llvm-svn: 276204

show more ...


# 92a8c611 15-Jul-2016 Justin Bogner <[email protected]>

IR: Sort generic intrinsics before target specific ones

This splits out the intrinsic table such that generic intrinsics come
first and target specific intrinsics are grouped by target. From here
we

IR: Sort generic intrinsics before target specific ones

This splits out the intrinsic table such that generic intrinsics come
first and target specific intrinsics are grouped by target. From here
we can find out which target an intrinsic is for or differentiate
between generic and target intrinsics.

The motivation here is to make it easier to move target specific
intrinsic handling out of generic code.

llvm-svn: 275575

show more ...


# 1e641615 14-Jul-2016 Justin Bogner <[email protected]>

TableGen: Fix a confusing use of both i and I as variables. NFC

llvm-svn: 275450


# 47646c09 11-Jul-2016 Hal Finkel <[email protected]>

Add a 'Returned' intrinsic property corresponding to the 'returned' argument attribute

This will be used by the upcoming llvm.noalias intrinsic.

Differential Revision: http://reviews.llvm.org/D2220

Add a 'Returned' intrinsic property corresponding to the 'returned' argument attribute

This will be used by the upcoming llvm.noalias intrinsic.

Differential Revision: http://reviews.llvm.org/D22201

llvm-svn: 275034

show more ...


# 84c9f991 04-Jul-2016 Nicolai Haehnle <[email protected]>

Add writeonly IR attribute

Summary:
This complements the earlier addition of IntrWriteMem and IntrWriteArgMem
LLVM intrinsic properties, see D18291.

Also start using the attribute for memset, memcp

Add writeonly IR attribute

Summary:
This complements the earlier addition of IntrWriteMem and IntrWriteArgMem
LLVM intrinsic properties, see D18291.

Also start using the attribute for memset, memcpy, and memmove intrinsics,
and remove their special-casing in BasicAliasAnalysis.

Reviewers: reames, joker.eph

Subscribers: joker.eph, llvm-commits

Differential Revision: http://reviews.llvm.org/D18714

llvm-svn: 274485

show more ...


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# 4fb996e8 25-May-2016 Matt Arsenault <[email protected]>

TableGen: Use StringRef instead of std::string

llvm-svn: 270741


# 97788020 21-Apr-2016 Nicolai Haehnle <[email protected]>

Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly

Summary:
IntrReadWriteArgMem simply becomes IntrArgMemOnly.

So there are fewer intrinsic properties that express their orthogonality
better,

Split IntrReadArgMem into IntrReadMem and IntrArgMemOnly

Summary:
IntrReadWriteArgMem simply becomes IntrArgMemOnly.

So there are fewer intrinsic properties that express their orthogonality
better, and correspond more closely to the corresponding IR attributes.

Suggested by: Philip Reames

Reviewers: joker.eph, reames, tstellarAMD

Subscribers: jholewinski, arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D19291

llvm-svn: 267021

show more ...


# b48275f1 19-Apr-2016 Nicolai Haehnle <[email protected]>

Add IntrWrite[Arg]Mem intrinsic property

Summary:
This property is used to mark an intrinsic that only writes to memory, but
neither reads from memory nor has other side effects.

An example where t

Add IntrWrite[Arg]Mem intrinsic property

Summary:
This property is used to mark an intrinsic that only writes to memory, but
neither reads from memory nor has other side effects.

An example where this is useful is the llvm.amdgcn.buffer.store.format.*
intrinsic, which corresponds to a store instruction that goes through a special
buffer descriptor rather than through a plain pointer.

With this property, the intrinsic should still be handled as having side
effects at the LLVM IR level, but machine scheduling can make smarter
decisions.

Reviewers: tstellarAMD, arsenm, joker.eph, reames

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D18291

llvm-svn: 266826

show more ...


# 9154b88c 12-Apr-2016 Junmo Park <[email protected]>

Minor code cleanup. NFC.

llvm-svn: 266045


Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3
# f6d32496 10-Feb-2016 Matt Arsenault <[email protected]>

SelectionDAG: Make Properties a field of SDPatternOperator

Currently you can't specify node properties like commutativity on
a PatFrag. If you want to create a PatFrag on a commutative node
with a h

SelectionDAG: Make Properties a field of SDPatternOperator

Currently you can't specify node properties like commutativity on
a PatFrag. If you want to create a PatFrag on a commutative node
with a hasOneUse predicate, this enables you to specify that the
PatFrag is also commutable.

llvm-svn: 260404

show more ...


# f24d409d 03-Feb-2016 David L Kreitzer <[email protected]>

Unify the target opcode enum in TargetOpcodes.h and the FixedInstrs array in
CodeGenTarget.cpp to avoid the ordering dependence. NFCI.

Differential Revision: http://reviews.llvm.org/D16826

llvm-svn

Unify the target opcode enum in TargetOpcodes.h and the FixedInstrs array in
CodeGenTarget.cpp to avoid the ordering dependence. NFCI.

Differential Revision: http://reviews.llvm.org/D16826

llvm-svn: 259726

show more ...


# 45b6159e 03-Feb-2016 Reid Kleckner <[email protected]>

Minor performance tweaks to llvm-tblgen (and a few that might be a good idea)

Summary:
This patch adds a reserve call to an expensive function
(`llvm::LoadIntrinsics`), and may fix a few other low h

Minor performance tweaks to llvm-tblgen (and a few that might be a good idea)

Summary:
This patch adds a reserve call to an expensive function
(`llvm::LoadIntrinsics`), and may fix a few other low hanging
performance fruit (I've put them in comments for now, so we can
discuss).

**Motivation:**

As I'm sure other developers do, when I build LLVM, I build the entire
project with the same config (`Debug`, `MinSizeRel`, `Release`, or
`RelWithDebInfo`). However, the `Debug` config also builds llvm-tblgen
in `Debug` mode. Later build steps that run llvm-tblgen then can
actually be the slowest steps in the entire build. Nobody likes slow
builds.

Reviewers: rnk, dblaikie

Differential Revision: http://reviews.llvm.org/D16832

Patch by Alexander G. Riccio

llvm-svn: 259683

show more ...


Revision tags: llvmorg-3.8.0-rc2
# 86ff2689 26-Jan-2016 Reid Kleckner <[email protected]>

Sort intrinsics by LLVM intrinsic name, rather than tablegen def name

Step one towards using a simple binary search to lookup intrinsic IDs
instead of our crazy table generated switch+memcmp+startsw

Sort intrinsics by LLVM intrinsic name, rather than tablegen def name

Step one towards using a simple binary search to lookup intrinsic IDs
instead of our crazy table generated switch+memcmp+startswith code that
makes Function.cpp take about a minute to compile. See PR24785 and
PR11951 for why we should do this.

The X86 backend contains tables that need to be sorted on intrinsic ID,
so reorder those.

llvm-svn: 258757

show more ...


# 2d7fa706 20-Jan-2016 Quentin Colombet <[email protected]>

[GlobalISel] Add a generic machine opcode for ADD.
The selection process being split into separate passes, we need generic opcodes
to translate the LLVM IR to target independent code.

This patch add

[GlobalISel] Add a generic machine opcode for ADD.
The selection process being split into separate passes, we need generic opcodes
to translate the LLVM IR to target independent code.

This patch adds an opcode for addition: G_ADD.

Differential Revision: http://reviews.llvm.org/D15472

llvm-svn: 258333

show more ...


Revision tags: llvmorg-3.8.0-rc1
# 8cc904d6 17-Jan-2016 Craig Topper <[email protected]>

[TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make an iterator_range when we already have a function that returns an ArrayRef. NFC

llvm-svn: 258019


Revision tags: llvmorg-3.7.1
# 47c1baeb 24-Nov-2015 Krzysztof Parzyszek <[email protected]>

Add names for the new vector types in CodeGenTarget.cpp

llvm-svn: 253989


# d324d751 24-Nov-2015 Craig Topper <[email protected]>

Revert change that accidentally snuck into r253955.

llvm-svn: 253956


# 03041880 24-Nov-2015 Craig Topper <[email protected]>

[TableGen] Use array_pod_sort. NFC

llvm-svn: 253955


Revision tags: llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1
# 917c7382 02-Sep-2015 Joseph Tremoulet <[email protected]>

[TableGen] Allow TokenTy in intrinsic signatures

Summary:
Add the necessary plumbing so that llvm_token_ty can be used as an
argument/return type in intrinsic definitions and correspondingly require

[TableGen] Allow TokenTy in intrinsic signatures

Summary:
Add the necessary plumbing so that llvm_token_ty can be used as an
argument/return type in intrinsic definitions and correspondingly require
TokenTy in function types. TokenTy is an opaque type that has no target
lowering, but can be used in machine-independent intrinsics. It is
required for the upcoming llvm.eh.padparam intrinsic.

Reviewers: majnemer, rnk

Subscribers: stoklund, llvm-commits

Differential Revision: http://reviews.llvm.org/D12532

llvm-svn: 246651

show more ...


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1
# 60381791 07-Jul-2015 Reid Kleckner <[email protected]>

Rename llvm.frameescape and llvm.framerecover to localescape and localrecover

Summary:
Initially, these intrinsics seemed like part of a family of "frame"
related intrinsics, but now I think that's

Rename llvm.frameescape and llvm.framerecover to localescape and localrecover

Summary:
Initially, these intrinsics seemed like part of a family of "frame"
related intrinsics, but now I think that's more confusing than helpful.
Initially, the LangRef specified that this would create a new kind of
allocation that would be allocated at a fixed offset from the frame
pointer (EBP/RBP). We ended up dropping that design, and leaving the
stack frame layout alone.

These intrinsics are really about sharing local stack allocations, not
frame pointers. I intend to go further and add an `llvm.localaddress()`
intrinsic that returns whatever register (EBP, ESI, ESP, RBX) is being
used to address locals, which should not be confused with the frame
pointer.

Naming suggestions at this point are welcome, I'm happy to re-run sed.

Reviewers: majnemer, nicholas

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11011

llvm-svn: 241633

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1
# c63244da 15-Jun-2015 Sanjoy Das <[email protected]>

[CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op.

Summary:
This instruction encodes a loading operation that may fault, and a label
to branch to if the load page-faults. The locations of potentiall

[CodeGen] Introduce a FAULTING_LOAD_OP pseudo-op.

Summary:
This instruction encodes a loading operation that may fault, and a label
to branch to if the load page-faults. The locations of potentially
faulting loads and their "handler" destinations are recorded in a
FaultMap section, meant to be consumed by LLVM's clients.

Nothing generates FAULTING_LOAD_OP instructions yet, but they will be
used in a future change.

The documentation (FaultMaps.rst) needs improvement and I will update
this diff with a more expanded version shortly.

Depends on D10196

Reviewers: rnk, reames, AndyAyers, ab, atrick, pgavlin

Reviewed By: atrick, pgavlin

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D10197

llvm-svn: 239740

show more ...


# 664f6a04 02-Jun-2015 Craig Topper <[email protected]>

[TableGen] Rename ListInit::getSize to just 'size' to be more consistent.

llvm-svn: 238806


# 85fa7d50 26-May-2015 Owen Anderson <[email protected]>

Add initial support for the convergent attribute.

llvm-svn: 238264


Revision tags: llvmorg-3.6.1
# e452e271 11-May-2015 James Y Knight <[email protected]>

Fix tablegen's PrintFatalError function to run registered file
cleanups.

Also, change code in tablegen which printed a message and then called
"exit(1)" to use PrintFatalError, instead.

This fixes

Fix tablegen's PrintFatalError function to run registered file
cleanups.

Also, change code in tablegen which printed a message and then called
"exit(1)" to use PrintFatalError, instead.

This fixes instances where an empty output file was left behind after
a failed tablegen invocation, which would confuse subsequent ninja
runs into not attempting to rebuild.

Differential Revision: http://reviews.llvm.org/D9608

llvm-svn: 237058

show more ...


Revision tags: llvmorg-3.6.1-rc1
# f4669f59 17-Apr-2015 Kit Barton <[email protected]>

Add support for v1i128 type.
The v1i128 type is needed for the quadword add/substract instructions introduced
in POWER8. Futhermore, the PowerPC ABI specifies that parameters of type v1i128
are to be

Add support for v1i128 type.
The v1i128 type is needed for the quadword add/substract instructions introduced
in POWER8. Futhermore, the PowerPC ABI specifies that parameters of type v1i128
are to be passed in a single vector register, while parameters of type i128 are
passed in pairs of GPRs. Thus, it is necessary to be able to differentiate
between v1i128 and i128 in LLVM.

http://reviews.llvm.org/D8564

llvm-svn: 235198

show more ...


12345678910>>...16