dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/StackColoring.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/StackColoring.cpp
|
331de11a0acc6a095b98914b5f05ff242c9d7819 |
|
10-Oct-2013 |
Matthias Braun <matze@braunis.de> |
Rename LiveRange to LiveInterval::Segment The Segment struct contains a single interval; multiple instances of this struct are used to construct a live range, but the struct is not a live range by itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
f80a63fa23862e578de919f4b44d4fcdee68fd0d |
|
28-Sep-2013 |
Robert Wilhelm <robert.wilhelm@gmx.net> |
Fix spelling intruction -> instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
f22fd3f7b557a967b1edc1fa9ae770006a39e97c |
|
03-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
c22cdb7203e4aad8e6491487f224efff7a3e58c0 |
|
15-May-2013 |
Derek Schuff <dschuff@google.com> |
Fix miscompile due to StackColoring incorrectly merging stack slots (PR15707) IR optimisation passes can result in a basic block that contains: llvm.lifetime.start(%buf) ... llvm.lifetime.end(%buf) ... llvm.lifetime.start(%buf) Before this change, calculateLiveIntervals() was ignoring the second lifetime.start() and was regarding %buf as being dead from the lifetime.end() through to the end of the basic block. This can cause StackColoring to incorrectly merge %buf with another stack slot. Fix by removing the incorrect Starts[pos].isValid() and Finishes[pos].isValid() checks. Just doing: Starts[pos] = Indexes->getMBBStartIdx(MBB); Finishes[pos] = Indexes->getMBBEndIdx(MBB); unconditionally would be enough to fix the bug, but it causes some test failures due to stack slots not being merged when they were before. So, in order to keep the existing tests passing, treat LiveIn and LiveOut separately rather than approximating the live ranges by merging LiveIn and LiveOut. This fixes PR15707. Patch by Mark Seaborn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
dd29df06fa72de9e370cdd9d8e32ac5437a578c7 |
|
14-May-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
StackColoring: don't clear an instruction's mem operand if the underlying object is a PseudoSourceValue and PseudoSourceValue::isConstant returns true (i.e., points to memory that has a constant value). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
57d76078ae8ecd16b995cc6a9f9bc57bdde4a20e |
|
25-Mar-2013 |
Eric Christopher <echristo@gmail.com> |
Couple more sets of tidying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
259021a5621fd3837db79934ea5880cb846bfc44 |
|
25-Mar-2013 |
Eric Christopher <echristo@gmail.com> |
Formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
261abf5f4011e5b1e8949d7404190a4f4eaff8d8 |
|
19-Feb-2013 |
Craig Topper <craig.topper@gmail.com> |
More const correcting of stack coloring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
04fbcb59432c085bb284501dcea9693f435a417b |
|
19-Feb-2013 |
Craig Topper <craig.topper@gmail.com> |
Const-correct the stack coloring code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
cede03886712e18b697f9ec91311d4a8df60c734 |
|
19-Feb-2013 |
Craig Topper <craig.topper@gmail.com> |
Avoid extra DenseMap lookups in StackColoring::calculateLocalLiveness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
cbc6d797054a2bf2a641031f270d38804a6f2295 |
|
19-Feb-2013 |
Craig Topper <craig.topper@gmail.com> |
Make the dump() function const and reduce the number of hash lookups it performs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
252d798fc302ed78bc4b11e66a2382015a25c6e0 |
|
19-Feb-2013 |
Craig Topper <craig.topper@gmail.com> |
Use a reference into the BlockLiveness DenseMap to avoid repeated hash lookups in collectMarkers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
f1af1feeee0f0ec797410762c006211f9c1e2a0f |
|
29-Jan-2013 |
Edwin Vane <edwin.vane@intel.com> |
Fixing warnings revealed by gcc release build Fixed set-but-not-used warnings. Reviewer: gribozavr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
5ed625c3cff2511469e9b3c5131c29fd89ddd482 |
|
17-Jan-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move MachineTraceMetrics.h into include/llvm/CodeGen. Let targets use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.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/StackColoring.cpp
|
38b06020dbd804f01ee3802779a52c05cffdf87d |
|
21-Dec-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Remove duplicate includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.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/StackColoring.cpp
|
f38aa4272c2fcebae4ad10b21ea29874d0edef80 |
|
15-Nov-2012 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
Use std::stable_sort instead of std::sort when sorting stack slots to guarantee deterministic code generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
83ba06afa8503dc97a0aa5ec033022286959956c |
|
18-Oct-2012 |
Sebastian Pop <spop@codeaurora.org> |
Clear unknown mem ops when merging stack slots (pr14090) When merging stack slots, if StackColoring::remapInstructions gets a value back from GetUnderlyingObject that it does not know about or is not itself a stack slot, clear the memory operand in case it aliases the merged slot. This prevents the introduction of incorrect aliasing information. Author: Matthew Curtis <mcurtis@codeaurora.org> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
bf0683f0f75dfb92e73b09718ed278eeab8ba9d2 |
|
18-Oct-2012 |
Sebastian Pop <spop@codeaurora.org> |
Change MachineFrameInfo::StackObject::Alloca from Value* to AllocaInst* This more accurately reflects what is actually being stored in the field. No functionality change intended. Author: Matthew Curtis <mcurtis@codeaurora.org> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
a26cadc58d32a739ccf99423922bfc542c1026b1 |
|
17-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Disable the protection from escaped allocas in an attempt to find violating passes. This may break the buildbots. I plan to revert it in a few hours. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
18e2c290940b67c9dc1196e3c2234e7a20f60ae4 |
|
13-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Rename the flag which protects from escaped allocas, which may come from bugs in user code or in the compiler. Also, dont assert if the protection is not enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
faf31d01db913b477b749c9f11f18a9471c0a672 |
|
13-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Fix a typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
0cd19b93017fcaba737b15ea4da39c460feb5670 |
|
13-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: We have code that checks that all of the uses of allocas are within the lifetime zone. Sometime legitimate usages of allocas are hoisted outside of the lifetime zone. For example, GEPS may calculate the address of a member of an allocated struct. This commit makes sure that we only check (abort regions or assert) for instructions that read and write memory using stack frames directly. Notice that by allowing legitimate usages outside the lifetime zone we also stop checking for instructions which use derivatives of allocas. We will catch less bugs in user code and in the compiler itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
d76f6eadc8c8511e1c5cd089a8a54e429c19aa60 |
|
12-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a flag to disable the code that looks for allocas which escaped the lifetime regions. This is useful for debugging. No testcase because without this check we fail on assertions when finding escaped allocas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
dba5de5246f84fe50aef79e464e5aecdf5607ab4 |
|
12-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Enable stack-coloring, in hope that the recent fixes will enable correct dragonegg self-hosting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
0a16da445740ca6fcd7a7ca571c1917e77315904 |
|
12-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack coloring: remove lifetime intervals which contain escaped allocas. The input program may contain intructions which are not inside lifetime markers. This can happen due to a bug in the compiler or due to a bug in user code (for example, returning a reference to a local variable). This commit adds checks that all of the instructions in the function and invalidates lifetime ranges which do not contain all of the instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
1eba4a7a28f7e0156725518783dc35137869a670 |
|
11-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Dragonegg selfhost exposed additional cases where alloca usage moved outside of lifetime markers. Disabling the pass for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
50bdea299c9c1d4b2d0535a7cc874490ac49fe67 |
|
11-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Enable stack coloring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
8754bbbe672450689a5bdc8a198af90144e56f31 |
|
11-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: Dont crash on dbg values which use stack frames. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
2de0572caec55e3779857cae0bbcd962af2e495d |
|
10-Sep-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove redundant semicolons which are null statements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
8631a90f46f4dada3b2082d81d17846210cfd7d8 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Disable stack coloring because it makes dragonegg fail bootstrapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
b6d52a5b4aa56292ad4085e87b9e5e618f795a1e |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Enable stack coloring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
6165dba25f3374ce340b420ab9a360623c26fdc3 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: Handle the case where END markers come before BEGIN markers properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
ff1b63172d22c148c9180a546262f61a8c334974 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Minor cleanup. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
9438d1e3514ab8801e9c488d9723241af7f4dc91 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: Debug prints to print the slot number and not the array index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
a7de8a61dfae69885203137f3c712ab3d0cd75a4 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: When searching for disjoint regions, do not compare intervals twice or to theirself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
e47feeb823ebf496e82db6a666d4c0fbaeb158b4 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Stack Coloring: Add support for multiple regions of the same slot, within a single basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
8cc14949053ea4fcba34afc68b30137eff408d66 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Fix a typo in the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
0aa52ee04e3060974474f6b3f824517c088f07d8 |
|
10-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Add an assertion that the frame index is indeed inside the declared lifetime region. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
5177b3a8c48adec2acf284fcb8e00775a705a7e2 |
|
06-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Dont cast away const needlessly. Found by gcc48 -Wcast-qual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
79cb162e5d7aeaa3602bf4a7afa253232f461b33 |
|
06-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Disable stack coloring by default in order to resolve the i386 failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|
c05d30601ced172b55be81bb529df6be91d6ae15 |
|
06-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/StackColoring.cpp
|