Commit Graph

35299 Commits

Author SHA1 Message Date
Evan Cheng
be6781b5d0 When the allocator rewrite a spill register with new virtual register, it replaces other operands of the same register. Watch out for situations where
only some of the operands are sub-register uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43776 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 21:12:10 +00:00
Duncan Sands
91508a490b At the point of calculating the shift amount, the
type of SV has changed from what it originally was.
However we need the store width of the original.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43775 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 20:39:11 +00:00
Ted Kremenek
730c273d42 Renamed "Flush()" to "FlushRecord()".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43772 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 19:49:50 +00:00
Ted Kremenek
26e25b3bf0 Added support for processing abbreviations in the Deserializer.
Added some #ifdef-controlled messages for debugging backpatching.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43771 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 19:49:16 +00:00
Chris Lattner
bd779a3a1f fixes from Kelly Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43767 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 18:13:32 +00:00
Bill Wendling
4f6766d41e Clarify some of the iostreams stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43766 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 09:36:34 +00:00
Evan Cheng
8fc9a10221 First step towards moving the coalescer to priority_queue based machinery.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43764 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 08:52:21 +00:00
Evan Cheng
ab84724297 Fix a bug where a def use operand isn't being detected as a sub-register use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43763 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 08:50:44 +00:00
Evan Cheng
1fd15ba961 Add pseudo dependency to force two-address instruction to be scheduled after
other uses. There was a overly restricted check that prevented some obvious
cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43762 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 08:44:59 +00:00
Chris Lattner
7badb2d810 edits for chapter 3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43761 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 07:26:32 +00:00
Chris Lattner
cde1d9db3f chapter 2 edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43760 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 07:16:22 +00:00
Chris Lattner
4134c2821f edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43758 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 06:32:18 +00:00
Chris Lattner
9907cb12ae Fix PR1774 and BasicAA/2007-11-05-SizeCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43756 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 05:58:42 +00:00
Owen Anderson
8b96b9fce0 Add a few comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43755 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 05:26:02 +00:00
Owen Anderson
ee49b5385b DomForest is a forest of registers, not instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43754 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 05:22:43 +00:00
Chris Lattner
a1cd224a23 clarify what proto is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43753 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 05:07:30 +00:00
Chris Lattner
95ce0d61ab Add a real intro to the series.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 05:02:48 +00:00
Owen Anderson
a4ad2e740a StrongPHIElimination requires LiveVariables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43751 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 04:49:43 +00:00
Bruno Cardoso Lopes
000604afd4 Better processor definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43749 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 03:15:20 +00:00
Chris Lattner
efcc3f5c5e typo from Ryan Brown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43748 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 01:40:41 +00:00
Chris Lattner
711552174e fixes from Ryan Brown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43747 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 01:39:12 +00:00
Owen Anderson
89c94f5ced Add a missing #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43746 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 01:26:56 +00:00
Chris Lattner
bde90f0fc1 wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43745 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06 01:15:27 +00:00
Dan Gohman
80176319f3 Add support for vector remainder operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43744 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 23:35:22 +00:00
Dan Gohman
cff550995b Fix an abort in instcombine when folding creates a vector rem instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43743 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 23:16:33 +00:00
Rafael Espindola
f1ba1cad38 Move the LowerMEMCPY and LowerMEMCPYCall to a common place.
Thanks for the suggestions Bill :-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43742 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 23:12:20 +00:00
Ted Kremenek
0a6d98e10e Added support in serializer and deserializer to create arbitrary blocks.
Added detection of end-of-stream in deserializer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43736 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 21:36:35 +00:00
Dale Johannesen
eb57ea7ea2 Make labels work in asm blocks; allow labels as
parameters.  Rename ValueRefList to ParamList
in AsmParser, since its only use is for parameters.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43734 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 21:20:28 +00:00
Ted Kremenek
14ac17e2df Added default creation of root-level block by bitstream serializer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43732 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 20:47:27 +00:00
Chris Lattner
619bc0ac17 merge in various fixes from Kelly Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43731 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 20:13:56 +00:00
Chris Lattner
0e555b1ab0 add some links to the tutorial index and between chapters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43730 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 20:04:56 +00:00
Chris Lattner
bb80f93c47 grammaro
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43729 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:33:52 +00:00
Devang Patel
5d01aa484f If a value is incoming from outside the loop then the value does not need remapping and the value is never tracked through LastValueMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43728 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:32:30 +00:00
Chris Lattner
9ca08f3d8e recursive types are our friend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43727 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:28:07 +00:00
Chris Lattner
cac2135bc8 mention possibility of using a visitor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43726 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:25:14 +00:00
Chris Lattner
cf9893d28c clarify why prototype::codegen returns a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:22:50 +00:00
Chris Lattner
99005a4b3b TOC for chapter 8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43724 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:10:15 +00:00
Chris Lattner
128eb863df add table of contents to each chapter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43723 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 19:06:59 +00:00
Lauro Ramos Venancio
8699a97a2e [ARM] Fix code generation for:
static __thread struct {
    int a;
    int b;
} teste = {0, 0};



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43722 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:33:37 +00:00
Ted Kremenek
6fd11c53e9 Fixed bug where tombstone key and empty key for DenseMap used for
pointer backpatching in deserializer were improperly created and
resulted in an assertion failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43721 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:13:03 +00:00
Duncan Sands
0c8a13b510 Don't output ABI size padding twice. By using the store
size for the field we get ABI padding automatically, so
no need to put it in again when we emit the field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:03:02 +00:00
Chris Lattner
f6e53df441 add link to llvmbuilder doxygen docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43719 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 18:02:15 +00:00
Chris Lattner
20a0c80f7e spell identifier correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43718 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:54:34 +00:00
Chris Lattner
b50196413a fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43717 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:52:04 +00:00
Chris Lattner
a56b22d7f7 Dan points out that mem2reg also promotes vectors: be more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43715 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:45:54 +00:00
Evan Cheng
a461c4d75b Move SimpleRegisterCoalescing.h to lib/CodeGen since there is now a common
register coalescer interface: RegisterCoalescing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43714 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:41:38 +00:00
Chris Lattner
fc60ab0487 clarify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43712 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:39:26 +00:00
Chris Lattner
01fcc04570 fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43711 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 17:38:34 +00:00
Duncan Sands
72261ff1ee Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43709 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 16:04:58 +00:00
Duncan Sands
e0a34353ee Trivial fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43707 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05 15:15:50 +00:00