e939a066c85a21e86d32e0a57fd16f4188576633 |
|
10-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #includes. Use forward declarations instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
f84606732c76899af54c295ec987c96c88452747 |
|
05-Mar-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix a few typos in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
fb55a8fd7c38aa09d9c243d48a8a72d890f36a3d |
|
08-Feb-2013 |
Arnold Schwaighofer <aschwaighofer@apple.com> |
ARM cost model: Address computation in vector mem ops not free Adds a function to target transform info to query for the cost of address computation. The cost model analysis pass now also queries this interface. The code in LoopVectorize adds the cost of address computation as part of the memory instruction cost calculation. Only there, we know whether the instruction will be scalarized or not. Increase the penality for inserting in to D registers on swift. This becomes necessary because we now always assume that address computation has a cost and three is a closer value to the architecture. radar://13097204 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
13086a658ae06046ded902229f9918b8bad505bd |
|
22-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Begin fleshing out an interface in TTI for modelling the costs of generic function calls and intrinsics. This is somewhat overlapping with an existing intrinsic cost method, but that one seems targetted at vector intrinsics. I'll merge them or separate their names and use cases in a separate commit. This sinks the test of 'callIsSmall' down into TTI where targets can control it. The whole thing feels very hack-ish to me though. I've left a FIXME comment about the fundamental design problem this presents. It isn't yet clear to me what the users of this function *really* care about. I'll have to do more analysis to figure that out. Putting this here at least provides it access to proper analysis pass tools and other such. It also allows us to more cleanly implement the baseline cost interfaces in TTI. With this commit, it is now theoretically possible to simplify much of the inline cost analysis's handling of calls by calling through to this interface. That conversion will have to happen in subsequent commits as it requires more extensive restructuring of the inline cost analysis. The CodeMetrics class is now really only in the business of running over a block of code and aggregating the metrics on that block of code, with the actual cost evaluation done entirely in terms of TTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
c61aa59bcc62019b8e31fcbb3582255be3a63052 |
|
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Remove the comma from the last enumerator to fix -pedantic warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
1e05bd9e714934a71ff933ad15f0b884808b405f |
|
21-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Introduce a generic interface for querying an operation's expected lowered cost. Currently, this is a direct port of the logic implementing isInstructionFree in CodeMetrics. The hope is that the interface can be improved (f.ex. supporting un-formed instruction queries) and the implementation abstracted so that as we have test cases and target knowledge we can expose increasingly accurate heuristics to clients. I'll start switching existing consumers over and kill off the routine in CodeMetrics in subsequent commits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
053a2119835ac6ca3484f1b496cabd43c37e4279 |
|
20-Jan-2013 |
Renato Golin <renato.golin@linaro.org> |
Revert CostTable algorithm, will re-write git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
90230c84668269fbd53d163e398cd16486d5d414 |
|
19-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of the includes. Several files got checked in with mis-sorted includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
d3c965d6251e6d939f7797f8704d4e3a82f7e274 |
|
16-Jan-2013 |
Renato Golin <renato.golin@linaro.org> |
Change CostTable model to be global to all targets Moving the X86CostTable to a common place, so that other back-ends can share the code. Also simplifying it a bit and commoning up tables with one and two types on operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
|
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
14925e6b885f8bd8cf448627386d412831f4bf1b |
|
09-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
ARM Cost model: Use the size of vector registers and widest vectorizable instruction to determine the max vectorization factor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
83be7b0dd3ae9a3cb22d36ae4c1775972553b94b |
|
09-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
Cost Model: Move the 'max unroll factor' variable to the TTI and add initial Cost Model support on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
bb00800ff46e7a2a628d0a6741a7f0422c74c198 |
|
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Fix the enumerator names for ShuffleKind to match tho coding standards, and make its comments doxygen comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
d1b8ef97c47d347f2a2261a0d6de4872f248321f |
|
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Make the popcnt support enums and methods have more clear names and follow the conding conventions regarding enumerating a set of "kinds" of things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|
be04929f7fd76a921540e9901f24563e51dc1219 |
|
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move TargetTransformInfo to live under the Analysis library. This no longer would violate any dependency layering and it is in fact an analysis. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/TargetTransformInfo.h
|