de2d8694e25a814696358e95141f4b1aa4d8847e |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r275480 Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
8819c84aed10777ba91d4e862229882b8da0b272 |
|
01-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove several unused variables. Patch by Alp Toker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
83d63f8a4dca45d1bba13710c26b4173ace58a65 |
|
14-Jul-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Fix build by replacing '>>' with '> >' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.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/lib/CodeGen/TailDuplication.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
831737d329a727f53a1fb0572f7b7a8127208881 |
|
30-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the Function::getFnAttributes method in favor of using the AttributeSet directly. This is in preparation for removing the use of the 'Attribute' class as a collection of attributes. That will shift to the AttributeSet class instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
7b79b9862c9e6fc31ec072acb09171fd6ec7b0e0 |
|
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use MachineInstrBuilder in a few CodeGen passes. This automatically passes a context pointer to MI->addOperand(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
6765834754cbb3cb0f15b4b15e98c5e73fa50066 |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Create enums for the different attributes. We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
2c189061184925c6a8ecbb5a19e648b230a41c0e |
|
26-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove the `hasFnAttr' method from Function. The hasFnAttr method has been replaced by querying the Attributes explicitly. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d14e4e133f940d0c1f454a40f3bd835a8c7a7886 |
|
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Stop leaking RegScavengers from TailDuplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
eb25bd2356cca5ef83472b1ae0f764037b82ad82 |
|
30-May-2012 |
Evan Cheng <evan.cheng@apple.com> |
Teach taildup to update livein set. rdar://11538365 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
0fda545c2c164dc607f48f4b77f54c35bcafa413 |
|
20-May-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Constrain register classes in TailDup. When rewriting operands, make sure the new registers have a compatible register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
df7e8bd7020c300a3c17f5858d281828a5e0cf87 |
|
20-Feb-2012 |
Evan Cheng <evan.cheng@apple.com> |
Make post-ra tail duplication bundle safe. No test case as recent codegen flow changes have already hidden the bug. rdar://10893812 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
1dd8c8560d45d36a8e507cd014352f1d313f9f9e |
|
08-Feb-2012 |
Andrew Trick <atrick@apple.com> |
Codegen pass definition cleanup. No functionality. Moving toward a uniform style of pass definition to allow easier target configuration. Globally declare Pass ID. Globally declare pass initializer. Use INITIALIZE_PASS consistently. Add a call to the initializer from CodeGen.cpp. Remove redundant "createPass" functions and "getPassName" methods. While cleaning up declarations, cleaned up comments (sorry for large diff). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d2a7bedbc9d3db35ff424a6a2d257c72341af224 |
|
08-Feb-2012 |
Andrew Trick <atrick@apple.com> |
Move pass configuration out of pass constructors: TailDuplicate::PreRegAlloc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd |
|
07-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
7c2a4a30e0e16762c75adacebd05ec9fcbccf16b |
|
06-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
First chunk of MachineInstr bundle support. 1. Added opcode BUNDLE 2. Taught MachineInstr class to deal with bundled MIs 3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs 4. Taught MachineBasicBlock methods about bundled MIs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c66d36028b21077aa1715331c22347b47b4da94f |
|
10-Aug-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Trim an unneeded header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
6a9d2b13fdc14d19b27776666cf50684bcfddc8d |
|
04-Jul-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move most of the pre BB code to TailDuplicateAndUpdate. Change the HasIndirectbr variable to be just that. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c0af352038e43bd51ef3ea11e7d43647e4df42bf |
|
04-Jul-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reduce indentation and fix the count of how many PHIs we have inserted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
e837dead3c8dc3445ef6a0e2322179c57e264a13 |
|
28-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
40179bf8748b2729d6c733022428dfa1061325c9 |
|
24-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d7f35fa824165eea799a583ff5af678f2d842b87 |
|
24-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Now that bb with phis are not considered simple, duplicate them even if we cannot duplicate to every predecessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
1f71549a2ef24fc5d0fc9f0bb3b49fda770fe3d2 |
|
24-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify now that blocks with phis are not considered simple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
9dbbd87938a0dc2ffe23f4205ec61618e052ca92 |
|
23-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move more logic to shouldTailDuplicate and only duplicate regular bb before register allocation if it has a indirectbr or if we can duplicate it to every predecessor. This fixes the SingleSource/Benchmarks/Shootout-C++/matrix.cpp regression but keeps the previous improvements to sunspider. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d6379a993c7e40521bd5c8c6469e32697b4c41d1 |
|
23-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reenable tail duplication of bb with just an unconditional jump, but don't remove blocks that have their address taken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
f78b5952c30b69c764ff48270eb56540a3fa56f3 |
|
22-Jun-2011 |
Chad Rosier <mcrosier@apple.com> |
Revert r133607. This is causing failures in the Clang gccTestSuite. Specifically, gcc.c-torture/compile/pr21356.c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c9be25726114b43ac03a4f8f84b537c21ee2bd6d |
|
22-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reenable the optimization added in 133415, but change the definition of a "simple" bb to be one with only one unconditional branch and no phis. Duplicating the phis in this case is possible, but requeres liveness analysis or breaking edges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
b87e37f1b1ce76e34ac1d2c22fd6c22f900f28be |
|
20-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Disable again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
689c24768bce1a3bf33b47559e9398525d11142d |
|
20-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Re enable 133415 with two fixes * Don't introduce a duplicated bb in the CFG * When making a branch unconditional, clear the PredCond array so that it is really unconditional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
2ee2d932328522267d845402e8b31d1d06f8bdd1 |
|
20-Jun-2011 |
Duncan Sands <baldrick@free.fr> |
Disable the logic added by rafael in commit 133415 to see if it brings the dragonegg buildbots back to life. Original commit message: Teach early dup how to duplicate basic blocks with one successor and only phi instructions into more complex blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
289a27946fc11ae6b5a9aa517639d94efa4d91d9 |
|
20-Jun-2011 |
Francois Pichet <pichet2000@gmail.com> |
Fix MSVC build. next() function already exists in the MSVC headers. This create a overload conflict. Make sure we pick up the llvm one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
275c1f9f93bf71bcf97fe0315bbd9b86dd020177 |
|
20-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Teach early dup how to duplicate basic blocks with one successor and only phi instructions into more complex blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
db3983bd762a53f197f6c8a6de401974f39f4789 |
|
17-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Two fixes relating to debug value: * We should change the generated code because of a debug use. * Avoid creating debug uses of undef, as they become a kill. Test to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
ec324e5ae44025c6bdb930b78198f30f807e355b |
|
17-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Enable early duplication of small blocks. There are still improvements to be made, but this is already a win. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
33b465877255cc75241216817247c61374958a36 |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Removed tabs. Also fixed my editor... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
9a9a3a5c0fff9647a7a6454d974c058a4fb187d7 |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove duplicated test. Thanks Bob Wilson for noticing it! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d3f4eeaec177ed34a54fede9faea4ffa94c4d0af |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make the optional verification step more strict. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
4d7b4573f97157877f6875b69c9d32b2cb8c5329 |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid a gcc warning about multiline comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
689d7d5dffc02993eef367be3380f2b4c49e434f |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
On last fix to the early tail duplication. With this I am able to bootstrap clang with early tail duplication enabled for any small bb and setting tail-dup-size to a relatively large value(8) to stress this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
0f28c3f0c30769c1a96e5664eea4acbc48eed6a4 |
|
10-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Also consider phi nodes when deciding if a register is live out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
a899b223109ca5dba7b44439e955148a03f23d4c |
|
09-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
AnalyzeBranch modifies the bb, but we don't want to modify a bb with eh edges. Swap the order of the checks to avoid it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c2e9a50dfb523964bd9d7598ee27b37669f9a5b8 |
|
09-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
A PHI in this basic block is a use in another basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
54c256233f8dcd29406d5fe6f8a5be79a826cef3 |
|
09-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Refactor some checks into shouldTailDuplicate. Update comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
d69f85eb416c08e5f803bffccd974745be3d1b2e |
|
08-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
0cdca089b289845664d660f0b285499800822919 |
|
08-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Count how many phis we are creating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c8b90e22a8f2987126a7e2e841adc8db9776521c |
|
04-Feb-2011 |
Evan Cheng <evan.cheng@apple.com> |
Update comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
8352062e52eed6e50786fdb89f5e601fdcbe0d90 |
|
30-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Respect the -tail-dup-size command line option even when optimizing for size. This is similar to the -unroll-threshold option. There should be no change in behavior when -tail-dup-size is not explicit on the llc command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c3f507f98a0747bd256e1c13536060b6fc5c4b62 |
|
29-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Re-apply r124518 with fix. Watch out for invalidated iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
b0a42fdb36b575a8ad939ca9624105908aeedf51 |
|
29-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Revert r124518. It broke Linux self-host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
5e6940788fb2f8cf3ce4219d3ac0f78317f54696 |
|
29-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Re-commit r124462 with fixes. Tail recursion elim will now dup ret into unconditional predecessor to enable TCE on demand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
1b5c0cb71dd9d529a14cedb4bd89d544bf7e61c3 |
|
28-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Revert r124462. There are a few big regressions that I need to fix first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
40f64cb0de40802ddd2f928b62e9564e1e721ff3 |
|
28-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Stop simplifycfg from duplicating "ret" instructions into unconditional branches. PR8575, rdar://5134905, rdar://8911460. - Allow codegen tail duplication to dup small return blocks after register allocation is done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
c9df025e33ac435adb3b3318d237c36ca7cec659 |
|
10-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic. These functions not longer assert when passed 0, but simply return false instead. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
04c528a0c86ddf3d6a70681f72e1b2ec07b0b53a |
|
16-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway. TII::isMoveInstr is going tobe completely removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
1e1098c6f39590e1e74e5cb3c2a1652d8f3cb16a |
|
11-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Replace copyRegToReg with COPY everywhere in lib/CodeGen except for FastISel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
34dcc6fadca0a1117cdbd0e9b35c991a55b6e556 |
|
06-May-2010 |
Dan Gohman <gohman@apple.com> |
Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it doesn't have to guess. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
cbe1e31732c5d4fb1277195e76b9b42c115396aa |
|
16-Mar-2010 |
Devang Patel <dpatel@apple.com> |
Ignore debug value instructions while analyzing BB for tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
18589de9b1b8c157dea602653042e486128dd9e4 |
|
14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate InvalidateLabel and LabelIDList from MMI and replace them with a counter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
09eeac9f5f8c21621f82f9b6598eb7e34593357e |
|
11-Feb-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Reuse operand location when updating PHI instructions. Calling RemoveOperand is very expensive on huge PHI instructions. This makes early tail duplication run twice as fast on the Firefox JavaScript interpreter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.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/lib/CodeGen/TailDuplication.cpp
|
cb44b28f4d96c059d30c1a77d3b7e406d362d94e |
|
16-Jan-2010 |
Bob Wilson <bob.wilson@apple.com> |
Treat indirect branches specially only during pre-regalloc tail duplication, not during the later post-alloc tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
057d53993c8f5ae3b5d8b5357c8c1ec6cc6d63ee |
|
15-Jan-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Simplify logic. Any functional change is unintended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
bfdcf3bd49f50050fe98523f882b2241d2752fb4 |
|
15-Jan-2010 |
Bob Wilson <bob.wilson@apple.com> |
Change pre-regalloc tail duplication to only duplicate indirect branch blocks. The pre-regalloc pass caused some regressions in both compile time and performance of the generated code, and it did not improve performance, except for indirect branches. I also moved the check for single-block loops to speed up the common case when running the taildup pass before reg allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
30ac0467ced4627a9b84d8a1d3ca5e8706ddad63 |
|
07-Jan-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add Target hook to duplicate machine instructions. Some instructions refer to unique labels, and so cannot be trivially cloned with CloneMachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
00dec1bbf9ad44af7b5b7ae669cae78b79a09c56 |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
3466f13f38b2f3e652cca82bd5da8527e72e195d |
|
15-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
80564f761aafad4b5630d04dce6eb65499d5a01e |
|
07-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Delete code accidentally left behind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
75eb53584367098a5625028e22f1ff8e169d0efd |
|
07-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Pre-regalloc tale duplication. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
11572babb12d169965c63c47aab9c9fad354e5df |
|
04-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Handle recursive PHI's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
79fc6f44b64f47b8a7d5e298c9f3c596b89fa88d |
|
04-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add a pre-regalloc tail duplication pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
111e7629cc84dad39d6b546871cdec3740b22781 |
|
03-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Teach tail duplication to update SSA form. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
f1e01dcc94fde6b1e184dc799df7145aed34a18b |
|
02-Dec-2009 |
Bob Wilson <bob.wilson@apple.com> |
Don't count PHI instructions toward the limit for tail duplicating a block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
3858225afc2a7f1027dce34dc72de5686b636c2d |
|
30-Nov-2009 |
Bob Wilson <bob.wilson@apple.com> |
Reprioritize tests for tail duplication to be aggressive about indirect branches even when optimizing for code size. Unless we find evidence to the contrary in the future, the special treatment for indirect branches does not have a significant effect on code size, and performance still matters with -Os. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
15217e63bce6c161b355b63d6496c7c327d15817 |
|
30-Nov-2009 |
Bob Wilson <bob.wilson@apple.com> |
Remove isProfitableToDuplicateIndirectBranch target hook. It is profitable for all the processors where I have tried it, and even when it might not help performance, the cost is quite low. The opportunities for duplicating indirect branches are limited by other factors so code size does not change much due to tail duplicating indirect branches aggressively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
2d521e51acd5f1a0100cbbe4c611a35c978c2456 |
|
26-Nov-2009 |
Bob Wilson <bob.wilson@apple.com> |
Rename new TailDuplicationPass to avoid name conflict with the old one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|
15acadde5f87703da5f36721a19c09a7e3f97f53 |
|
26-Nov-2009 |
Bob Wilson <bob.wilson@apple.com> |
Split tail duplication into a separate pass. This is needed to avoid running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/TailDuplication.cpp
|