ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
9d7c776d32c8a4d64b37a91c2d627629cf1498ef |
|
19-Nov-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195092: ------------------------------------------------------------------------ r195092 | ributzka | 2013-11-18 19:08:35 -0800 (Mon, 18 Nov 2013) | 5 lines [weak vtables] Place class definitions into anonymous namespaces to prevent weak vtables. This patch places class definitions in implementation files into anonymous namespaces to prevent weak vtables. This eliminates the need of providing an out-of-line definition to pin the vtable explicitly to the file. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
354362524a72b3fa43a6c09380b7ae3b2380cbba |
|
19-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
b21ab43cfc3fa0dacf5c95f04e58b6d804b59a16 |
|
18-Nov-2013 |
Alexey Samsonov <samsonov@google.com> |
Revert r194865 and r194874. This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
5a364c5561ec04e33a6f5d52c14f1bac6f247ea0 |
|
15-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
a0ec3f9b7b826b9b40b80199923b664bad808cce |
|
14-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
a3d82ce19fd825cbf3bf85b5969424217fc40b45 |
|
15-Jun-2013 |
Andrew Trick <atrick@apple.com> |
Support BufferSize on ProcResGroup for unified MOp schedulers. And add Sandybridge/Haswell resource buffers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
aca93cf44f0459b6123e9ec640e4cdc7a86e90de |
|
10-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
tblgen: Assert that InstRWs doesn't grows when we don't expect it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
068ecc15c08ce4692df51f2de2cf73e48e396c97 |
|
09-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
tblgen: always lookup values from the original vector as it could be grown under our feet. PR16281. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
0efc78257b56d2ba45127e1a3f18b524a1c3dd57 |
|
07-Jun-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
CodeGenSchedule: Use resize instead of copying a vector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
45dc03287e29affeeb7e1f1281fca63d8b9773b1 |
|
07-Jun-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
CodeGenSchedule: smallvector.push_back(smallvector[0]) is dangerous The element passed to push_back is not copied before the vector reallocates. The client needs to copy the element first before passing it to push_back. No test case, will be tested by follow-up swift scheduler model change (it segfaults without this change). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
d7aad34bcbf90aa389f1cb73ade5a21897a73869 |
|
05-Jun-2013 |
Andrew Trick <atrick@apple.com> |
Fix a tblgen subtargetemitter bug, for future Swift support. This fixes some of the ridiculously complex code for optimizing the machine model tables that are shared among all processors of a given target. A9 and Swift both use the "special" feature that maps old itinerary classes to new machine model defs. They map different overlapping subsets of instructions, which wasn't handled correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
e30f32a69ba57dfecbd670d971048bccaf727798 |
|
24-Apr-2013 |
Andrew Trick <atrick@apple.com> |
Machine model: verify well-formed processor resource groups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
bc4de7cec1b87fd84e6dad2c512c927d67967a22 |
|
29-Mar-2013 |
Andrew Trick <atrick@apple.com> |
Fix TableGen subtarget-emitter to handle A9/Swift. A9 uses itinerary classes, Swift uses RW lists. This tripped some verification when we're expanding variants. I had to refine the verification a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
1cbd4017566ea2fcb1a7cd605f412322da879e34 |
|
29-Mar-2013 |
Dan Gohman <dan433584@gmail.com> |
Revert r178166. According to Howard, this code is actually ok. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
dcdc0faf59103c335bda246e3cddbc4cbd6ba83d |
|
27-Mar-2013 |
Dan Gohman <dan433584@gmail.com> |
Avoid undefined behavior from passing a std::vector's own contents in as an argument to push_back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
82e7c4f533a98a16b0cadd5209c1d3dc8ce33d87 |
|
26-Mar-2013 |
Andrew Trick <atrick@apple.com> |
TableGen SubtargetEmitter fix to allow A9 and Swift to coexist. Allow variants to be defined only for some processors on a target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
02fec34de127d23987352b90bf095ad3fac75fb9 |
|
18-Mar-2013 |
Andrew Trick <atrick@apple.com> |
TableGen fix for the new machine model. Properly handle cases where a group of instructions have different SchedRW lists with the same itinerary class. This was supposed to work, but I left in an early break. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
1ab961f6d3cdd284f5d6c696f3e26eb3627e2c8b |
|
16-Mar-2013 |
Andrew Trick <atrick@apple.com> |
Machine model. Allow mixed itinerary classes and SchedRW lists. We always supported a mixture of the old itinerary model and new per-operand model, but it required a level of indirection to map itinerary classes to SchedRW lists. This was done for ARM A9. Now we want to define x86 SchedRW lists, with the goal of removing its itinerary classes, but still support the itineraries in the mean time. When I original developed the model, Atom did not have itineraries, so there was no reason to expect this requirement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
64110ffc9eecbe999c29ac9d9f6697447a110036 |
|
15-Mar-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add SchedRW as an Instruction field. Don't require instructions to inherit Sched<...>. Sometimes it is more convenient to say: let SchedRW = ... in { ... } Which is now possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
1754aca83af1658c832706889c0e2933f8dfa8ee |
|
14-Mar-2013 |
Andrew Trick <atrick@apple.com> |
MachineModel: Add a ProcResGroup class. This allows abitrary groups of processor resources. Using something in a subset automatically counts againts the superset. Currently, this only works if the superset is also a ProcResGroup as opposed to a SuperUnit. This allows SandyBridge to be expressed naturally, which will be checked in shortly. def SBPort01 : ProcResGroup<[SBPort0, SBPort1]>; def SBPort15 : ProcResGroup<[SBPort1, SBPort5]>; def SBPort23 : ProcResGroup<[SBPort2, SBPort3]>; def SBPort015 : ProcResGroup<[SBPort0, SBPort1, SBPort5]>; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
d9a4f0cbd28351155a7d9bd62aa08d8394435f82 |
|
01-Feb-2013 |
Andrew Trick <atrick@apple.com> |
MachineModel: Inconsequential TableGen SubtargetEmitter fix. Drive by fix. I noticed some missing logic that might bite future users. This shouldn't affect the final output on currently modeled targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
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/CodeGenSchedule.cpp
|
322ff8834532915a4de0210a083672008d6499b6 |
|
02-Nov-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a build problem with xlc. The error message was "../llvm-git/utils/TableGen/CodeGenSchedule.cpp", line 1594.12: 1540-0218 (S) The call does not match any parameter list for "operator+". "../llvm-git/include/llvm/ADT/STLExtras.h", line 130.1: 1540-1283 (I) "template <class _Iterator, class Func> llvm::operator+(mapped_iterator<_Iterator,Func>::difference_type, const mapped_iterator<_Iterator,Func> &)" is not a viable candidate. Patch by Kai. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
61131ab15fd593a2e295d79fe2714e7bc21f2ec8 |
|
25-Oct-2012 |
Joerg Sonnenberger <joerg@bec.de> |
Remove exception handling usage from tblgen. Most places can use PrintFatalError as the unwinding mechanism was not used for anything other than printing the error. The single exception was CodeGenDAGPatterns.cpp, where intermediate errors during type resolution were ignored to simplify incremental platform development. This use is replaced by an error flag in TreePattern and bailout earlier in various places if it is set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7 |
|
25-Oct-2012 |
Joerg Sonnenberger <joerg@bec.de> |
Don't use stack unwinding to provide the location information for SetTheory, but pass down the location explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.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/CodeGenSchedule.cpp
|
dbe6d43dfac78d567973dac8fc2a0190dad5135f |
|
10-Oct-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget emitter cleanup. Consistently evaluate Aliases and Sequences recursively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
13745262a8db98d6c4513ff9934db4be75a8b26c |
|
04-Oct-2012 |
Andrew Trick <atrick@apple.com> |
Added instregex support to TableGen subtarget emitter. This allows the processor-specific machine model to override selected base opcodes without any fanciness. e.g. InstRW<[CoreXWriteVANDP], (instregex "VANDP")>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
2062b1260fa9df3e69e7b4d24a657a0ebb7f8710 |
|
04-Oct-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget emitter, nearly first class support for SchedAlias. A processor can now arbitrarily alias one SchedWrite onto another. Only the SchedAlias definition need be within the processor model. The aliased SchedWrite may be a SchedVariant, WriteSequence, or transitively refer to another alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
fe05d98c253676d1ae6e0f03efde6b75fdae105d |
|
04-Oct-2012 |
Andrew Trick <atrick@apple.com> |
Cleanup TableGen subtarget emitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
92649883119aaa8edd9ccf612eaaff5ccc8fcc77 |
|
22-Sep-2012 |
Andrew Trick <atrick@apple.com> |
Machine Model (-schedmodel only). Added SchedAliases. Allow subtargets to tie SchedReadWrite types to processor specific sequences or variants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
3b8fb648c6e1c519b7e0f487f4fb511744869d35 |
|
19-Sep-2012 |
Andrew Trick <atrick@apple.com> |
SchedMachineModel: compress the CPU's WriteLatencyTable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
bc4ff6e3cf129294d10c2366cb157796964c903e |
|
18-Sep-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget parser: Add getProcResourcesIdx(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
3cbd1786ac06fe751dc4b5ad55e75115cb1d51ce |
|
15-Sep-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget parser. Handle new machine model. Collect processor resources from the subtarget defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
5e613c260bb3044eb059dea74cd6bccfa9b85bdd |
|
15-Sep-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget parser. Handle new machine model. Infer SchedClasses from variants defined by the target or subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
48605c340614fc1fb2ae1d975fc565a4188182e0 |
|
15-Sep-2012 |
Andrew Trick <atrick@apple.com> |
TableGen subtarget parser. Handle new machine model. Collect SchedClasses and SchedRW types from the subtarget defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|
2661b411ccc81b1fe19194d3f43b2630cbef3f28 |
|
07-Jul-2012 |
Andrew Trick <atrick@apple.com> |
I'm introducing a new machine model to simultaneously allow simple subtarget CPU descriptions and support new features of MachineScheduler. MachineModel has three categories of data: 1) Basic properties for coarse grained instruction cost model. 2) Scheduler Read/Write resources for simple per-opcode and operand cost model (TBD). 3) Instruction itineraties for detailed per-cycle reservation tables. These will all live side-by-side. Any subtarget can use any combination of them. Instruction itineraries will not change in the near term. In the long run, I expect them to only be relevant for in-order VLIW machines that have complex contraints and require a precise scheduling/bundling model. Once itineraries are only actively used by VLIW-ish targets, they could be replaced by something more appropriate for those targets. This tablegen backend rewrite sets things up for introducing MachineModel type #2: per opcode/operand cost model. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/CodeGenSchedule.cpp
|