oota-llvm.git
16 years agoBreak critical edges coming into blocks with PHI nodes.
Owen Anderson [Mon, 12 Nov 2007 17:27:27 +0000 (17:27 +0000)]
Break critical edges coming into blocks with PHI nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44019 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTypo fix in the tutorial.
Gordon Henriksen [Mon, 12 Nov 2007 13:46:21 +0000 (13:46 +0000)]
Typo fix in the tutorial.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44014 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCompile fix.
Duncan Sands [Mon, 12 Nov 2007 13:43:23 +0000 (13:43 +0000)]
Compile fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44013 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a flag for indirect branch instructions.
Owen Anderson [Mon, 12 Nov 2007 07:39:39 +0000 (07:39 +0000)]
Add a flag for indirect branch instructions.

Target maintainers: please check that the instructions for your target are correctly marked.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44012 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor some code.
Evan Cheng [Mon, 12 Nov 2007 06:35:08 +0000 (06:35 +0000)]
Refactor some code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44010 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix rewriting of PHI nodes.
Owen Anderson [Mon, 12 Nov 2007 02:13:07 +0000 (02:13 +0000)]
Fix rewriting of PHI nodes.

Could someone more familiar with machine-level stuff review this for me?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44005 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated VC++ build system
Hartmut Kaiser [Mon, 12 Nov 2007 01:24:50 +0000 (01:24 +0000)]
Updated VC++ build system

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44004 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove unnecessary #include's.
Owen Anderson [Mon, 12 Nov 2007 01:19:28 +0000 (01:19 +0000)]
Remove unnecessary #include's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44003 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAs Chris and Evan pointed out, BreakCriticalMachineEdges doesn't really need
Owen Anderson [Mon, 12 Nov 2007 01:05:09 +0000 (01:05 +0000)]
As Chris and Evan pointed out, BreakCriticalMachineEdges doesn't really need
to be a pass of its own.  Instead, move it out into a helper method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44002 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix on 64-bit machines.
Owen Anderson [Mon, 12 Nov 2007 00:56:04 +0000 (00:56 +0000)]
Fix on 64-bit machines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44001 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClarify the meaning of '-2' register number
Anton Korobeynikov [Sun, 11 Nov 2007 19:53:50 +0000 (19:53 +0000)]
Clarify the meaning of '-2' register number

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43998 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse TableGen to emit information for dwarf register numbers.
Anton Korobeynikov [Sun, 11 Nov 2007 19:50:10 +0000 (19:50 +0000)]
Use TableGen to emit information for dwarf register numbers.
This makes DwarfRegNum to accept list of numbers instead.
Added three different "flavours", but only slightly tested on x86-32/linux.
Please check another subtargets if possible,

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43997 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd convenient helper to obtain list of ints
Anton Korobeynikov [Sun, 11 Nov 2007 11:19:37 +0000 (11:19 +0000)]
Add convenient helper to obtain list of ints

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43993 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd CCAssignToStackABISizeAlign for convenience in
Dale Johannesen [Sat, 10 Nov 2007 22:07:15 +0000 (22:07 +0000)]
Add CCAssignToStackABISizeAlign for convenience in
dealing with types whose size & alignment are
different on different subtargets.  Use it for x86 f80.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43988 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed a bug introduced by my last patch. Now we properly clear out the BatchIDVec
Ted Kremenek [Sat, 10 Nov 2007 19:33:26 +0000 (19:33 +0000)]
Fixed a bug introduced by my last patch.  Now we properly clear out the BatchIDVec
vector before reusing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43984 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed hack in BatchReadOwnedPtrs to no longer use the array of pointers passed in for
Ted Kremenek [Sat, 10 Nov 2007 19:28:49 +0000 (19:28 +0000)]
Fixed hack in BatchReadOwnedPtrs to no longer use the array of pointers passed in for
deserialization as a temporary location for storing serialized pointer identifiers. The
definition of SerializedPtrID will likely change significantly in the future, and the
current implementation caused compilation errors on some 64-bit machines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43983 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated method signature to conform with the typedef in the method prototype.
Ted Kremenek [Sat, 10 Nov 2007 19:19:32 +0000 (19:19 +0000)]
Updated method signature to conform with the typedef in the method prototype.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43982 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate tailcall code to include inline attribute operand for memcpy.
Arnold Schwaighofer [Sat, 10 Nov 2007 10:48:01 +0000 (10:48 +0000)]
Update tailcall code to include inline attribute operand for memcpy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43978 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded "random access" to the Deserializer to allow a client to jump to any
Ted Kremenek [Sat, 10 Nov 2007 02:02:34 +0000 (02:02 +0000)]
Added "random access" to the Deserializer to allow a client to jump to any
serialized block in the bitstream, including a block in an entirely different
nesting than the current block. This is useful for deserializing objects from
a bitstream in an order different from the order that they were serialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43973 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMade Deserializer a friend class of BitstreamReader.
Ted Kremenek [Sat, 10 Nov 2007 02:00:38 +0000 (02:00 +0000)]
Made Deserializer a friend class of BitstreamReader.

Moved some of the logic in BitstreamReader::ExitBlock into a utility function
BitstreamReader::PopBlockScope. The latter is a private method. It will also
be called by Deserializer to manipulate the current "block scope."

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43972 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded -test-opts to specify test options.
Evan Cheng [Sat, 10 Nov 2007 01:33:27 +0000 (01:33 +0000)]
Added -test-opts to specify test options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43971 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate links.
Chris Lattner [Fri, 9 Nov 2007 21:49:08 +0000 (21:49 +0000)]
Update links.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43964 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix tests.
Evan Cheng [Fri, 9 Nov 2007 20:46:00 +0000 (20:46 +0000)]
Fix tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43961 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed a strange construct. Please review.
Hartmut Kaiser [Fri, 9 Nov 2007 19:59:00 +0000 (19:59 +0000)]
Fixed a strange construct. Please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43960 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated VC++ build system
Hartmut Kaiser [Fri, 9 Nov 2007 19:54:59 +0000 (19:54 +0000)]
Updated VC++ build system

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43959 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agotry again
Chris Lattner [Fri, 9 Nov 2007 19:24:54 +0000 (19:24 +0000)]
try again

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43956 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak x86-64 jumptable.
Evan Cheng [Fri, 9 Nov 2007 19:11:23 +0000 (19:11 +0000)]
Unbreak x86-64 jumptable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43955 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSilence a warning
Anton Korobeynikov [Fri, 9 Nov 2007 19:06:14 +0000 (19:06 +0000)]
Silence a warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43954 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert previous rewrite per chris's comments.
Dale Johannesen [Fri, 9 Nov 2007 18:07:11 +0000 (18:07 +0000)]
Revert previous rewrite per chris's comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43950 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTighten up a check for folding away loads from (newly constant) globals. This
Chris Lattner [Fri, 9 Nov 2007 17:33:02 +0000 (17:33 +0000)]
Tighten up a check for folding away loads from (newly constant) globals.  This
fixes a crash on Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll and
rdar://5585488.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43949 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThanks to the XTARGET line, this test should still
Duncan Sands [Fri, 9 Nov 2007 13:50:25 +0000 (13:50 +0000)]
Thanks to the XTARGET line, this test should still
be run on darwin, but I have no way of checking...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43945 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove MinAlign to MathExtras.h.
Duncan Sands [Fri, 9 Nov 2007 13:41:39 +0000 (13:41 +0000)]
Move MinAlign to MathExtras.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43944 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix indent
Anton Korobeynikov [Fri, 9 Nov 2007 12:34:20 +0000 (12:34 +0000)]
Fix indent

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43941 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoForget to commit users part of value mapper interface
Anton Korobeynikov [Fri, 9 Nov 2007 12:27:04 +0000 (12:27 +0000)]
Forget to commit users part of value mapper interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43940 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAnd delete this one
Anton Korobeynikov [Fri, 9 Nov 2007 12:22:04 +0000 (12:22 +0000)]
And delete this one

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43939 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake this header public
Anton Korobeynikov [Fri, 9 Nov 2007 12:16:58 +0000 (12:16 +0000)]
Make this header public

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43938 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix some load/store logic that would be wrong for
Duncan Sands [Fri, 9 Nov 2007 08:57:19 +0000 (08:57 +0000)]
Fix some load/store logic that would be wrong for
apints on big-endian machines if the bitwidth is
not a multiple of 8.  Introduce a new helper,
MVT::getStoreSizeInBits, and use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43934 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd terminating newline.
Duncan Sands [Fri, 9 Nov 2007 08:30:21 +0000 (08:30 +0000)]
Add terminating newline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43933 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck that the first and third characters, s and u,
Duncan Sands [Fri, 9 Nov 2007 07:47:29 +0000 (07:47 +0000)]
Check that the first and third characters, s and u,
are accessed with an alignment of 2 not 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43932 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck that accesses to the second short, t, have
Duncan Sands [Fri, 9 Nov 2007 07:46:02 +0000 (07:46 +0000)]
Check that accesses to the second short, t, have
an alignment of 2 rather than 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43931 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial commit of files that support building LLVM the "Apple" way.
Bill Wendling [Fri, 9 Nov 2007 06:59:33 +0000 (06:59 +0000)]
Initial commit of files that support building LLVM the "Apple" way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43929 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a link to the tutorial.
Nick Lewycky [Fri, 9 Nov 2007 05:45:51 +0000 (05:45 +0000)]
Add a link to the tutorial.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43928 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMuch improved pic jumptable codegen:
Evan Cheng [Fri, 9 Nov 2007 01:32:10 +0000 (01:32 +0000)]
Much improved pic jumptable codegen:

Then:
        call    "L1$pb"
"L1$pb":
        popl    %eax
...
LBB1_1: # entry
        imull   $4, %ecx, %ecx
        leal    LJTI1_0-"L1$pb"(%eax), %edx
        addl    LJTI1_0-"L1$pb"(%ecx,%eax), %edx
        jmpl    *%edx

        .align  2
        .set L1_0_set_3,LBB1_3-LJTI1_0
        .set L1_0_set_2,LBB1_2-LJTI1_0
        .set L1_0_set_5,LBB1_5-LJTI1_0
        .set L1_0_set_4,LBB1_4-LJTI1_0
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2

Now:
        call    "L1$pb"
"L1$pb":
        popl    %eax
...
LBB1_1: # entry
        addl    LJTI1_0-"L1$pb"(%eax,%ecx,4), %eax
        jmpl    *%eax

.align  2
.set L1_0_set_3,LBB1_3-"L1$pb"
.set L1_0_set_2,LBB1_2-"L1$pb"
.set L1_0_set_5,LBB1_5-"L1$pb"
.set L1_0_set_4,LBB1_4-"L1$pb"
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43924 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDidn't mean to check these in.
Evan Cheng [Fri, 9 Nov 2007 01:28:33 +0000 (01:28 +0000)]
Didn't mean to check these in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43923 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBug fix. Passive nodes are not in SUnitMap.
Evan Cheng [Fri, 9 Nov 2007 01:27:11 +0000 (01:27 +0000)]
Bug fix. Passive nodes are not in SUnitMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43922 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdding some recently added files to the VStudio projects
Chuck Rose III [Fri, 9 Nov 2007 00:48:27 +0000 (00:48 +0000)]
Adding some recently added files to the VStudio projects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43919 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRewrite Dwarf number handling per review comments.
Dale Johannesen [Fri, 9 Nov 2007 00:47:10 +0000 (00:47 +0000)]
Rewrite Dwarf number handling per review comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43918 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated Deserializer class to provide more information about the current
Ted Kremenek [Fri, 9 Nov 2007 00:43:51 +0000 (00:43 +0000)]
Updated Deserializer class to provide more information about the current
block that is being visited in the bitstream.  The client can also now
skip blocks before reading them, and query the current abbreviation number
as seen from the perspective of the Deserializer.  This allows the client
to be more interactive in the deserialization process (if they so choose).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43916 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRun this test only on darwin.
Devang Patel [Thu, 8 Nov 2007 22:26:46 +0000 (22:26 +0000)]
Run this test only on darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43912 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis preserves critical edge breaking.
Owen Anderson [Thu, 8 Nov 2007 22:23:57 +0000 (22:23 +0000)]
This preserves critical edge breaking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43911 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake BreakCriticalMachineEdges available as a pass that can be depended on.
Owen Anderson [Thu, 8 Nov 2007 22:20:23 +0000 (22:20 +0000)]
Make BreakCriticalMachineEdges available as a pass that can be depended on.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43910 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded typedef "SerializedPtrID" to represent the pointer handle written to disk
Ted Kremenek [Thu, 8 Nov 2007 19:50:46 +0000 (19:50 +0000)]
Added typedef "SerializedPtrID" to represent the pointer handle written to disk
instead of just using "unsigned".  This gives us more flexibility in changing
the definition of the handle later, and is more self-documenting.

Added tracking of block stack in the Deserializer.  Now clients can query
if they are still within a block using the methods GetCurrentBlockLocation()
and FinishedBlock().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43903 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBetter check
Andrew Lenharth [Thu, 8 Nov 2007 18:45:15 +0000 (18:45 +0000)]
Better check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43897 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix PR1780
Andrew Lenharth [Thu, 8 Nov 2007 17:39:28 +0000 (17:39 +0000)]
Fix PR1780

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43893 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago[ARM] Implement __builtin_thread_pointer.
Lauro Ramos Venancio [Thu, 8 Nov 2007 17:20:05 +0000 (17:20 +0000)]
[ARM] Implement __builtin_thread_pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43892 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf both parts of smul_lohi, etc. are used, don't simplify. If only one part is used...
Evan Cheng [Thu, 8 Nov 2007 09:25:29 +0000 (09:25 +0000)]
If both parts of smul_lohi, etc. are used, don't simplify. If only one part is used, try simplify it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43888 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd the majority of machine-level critical edge breaking pass. Most of this was...
Owen Anderson [Thu, 8 Nov 2007 07:55:43 +0000 (07:55 +0000)]
Add the majority of machine-level critical edge breaking pass.  Most of this was written by Fernando, cleanup and updating to TOT by me.

This still needs a bit of work, particularly to handle jump tables properly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43885 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTake another stab at getting isLiveIn() and isLiveOut() right.
Owen Anderson [Thu, 8 Nov 2007 01:32:45 +0000 (01:32 +0000)]
Take another stab at getting isLiveIn() and isLiveOut() right.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43869 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix MachineDominators' getAnalysisUsage.
Owen Anderson [Thu, 8 Nov 2007 01:22:53 +0000 (01:22 +0000)]
Fix MachineDominators' getAnalysisUsage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43868 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoOops, forgot to commit this file.
Owen Anderson [Thu, 8 Nov 2007 01:22:24 +0000 (01:22 +0000)]
Oops, forgot to commit this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43867 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBring UsedBlocks back. StrongPHIElimination needs this information.
Owen Anderson [Thu, 8 Nov 2007 01:20:48 +0000 (01:20 +0000)]
Bring UsedBlocks back.  StrongPHIElimination needs this information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43866 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevised BatchEmitOwnedPtrs to work better with constant pointers.
Ted Kremenek [Thu, 8 Nov 2007 00:55:31 +0000 (00:55 +0000)]
Revised BatchEmitOwnedPtrs to work better with constant pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43861 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevised implementation of BatchReadOwnedPtrs() that deserializes an
Ted Kremenek [Thu, 8 Nov 2007 00:04:50 +0000 (00:04 +0000)]
Revised implementation of BatchReadOwnedPtrs() that deserializes an
array of pointers to not allocate a second array to contain the pointer ids.

Fixed bug in the same member function where deserialized pointers were
not being registered with the backpatcher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43855 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed bug where we did not properly serialize owned objects due to a missing
Ted Kremenek [Wed, 7 Nov 2007 23:32:06 +0000 (23:32 +0000)]
Fixed bug where we did not properly serialize owned objects due to a missing
dereference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43853 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded version of BatchEmitOwnedPtrs and BatchReadOwnedPtrs that emits/reads
Ted Kremenek [Wed, 7 Nov 2007 23:18:40 +0000 (23:18 +0000)]
Added version of BatchEmitOwnedPtrs and BatchReadOwnedPtrs that emits/reads
an array of pointers of the same type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43852 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded methods to batch emit and deserialize owned pointers. This allows
Ted Kremenek [Wed, 7 Nov 2007 22:30:29 +0000 (22:30 +0000)]
Added methods to batch emit and deserialize owned pointers.  This allows
to group the pointer IDs together in the bitstream before their referenced
contents (which will lend itself to more efficient encoding).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43845 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoComplete conditionalization of Dwarf reg numbers.
Dale Johannesen [Wed, 7 Nov 2007 21:48:35 +0000 (21:48 +0000)]
Complete conditionalization of Dwarf reg numbers.

Would somebody not on Darwin please make sure this
doesn't break anything.  Exception handling failures
would be the most likely symptom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43844 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd testcase
Bill Wendling [Wed, 7 Nov 2007 19:36:26 +0000 (19:36 +0000)]
Add testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43839 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated VC++ build system
Hartmut Kaiser [Wed, 7 Nov 2007 19:34:09 +0000 (19:34 +0000)]
Updated VC++ build system

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43837 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed compilation errors on VC++.
Hartmut Kaiser [Wed, 7 Nov 2007 19:33:31 +0000 (19:33 +0000)]
Fixed compilation errors on VC++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43836 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplemented generic serialization of APFloat.
Ted Kremenek [Wed, 7 Nov 2007 18:39:22 +0000 (18:39 +0000)]
Implemented generic serialization of APFloat.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43829 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplemented serialization of signed integers.
Ted Kremenek [Wed, 7 Nov 2007 18:24:34 +0000 (18:24 +0000)]
Implemented serialization of signed integers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43828 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify my (il)logic.
Evan Cheng [Wed, 7 Nov 2007 08:08:25 +0000 (08:08 +0000)]
Simplify my (il)logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43819 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor edit
Chris Lattner [Wed, 7 Nov 2007 07:07:55 +0000 (07:07 +0000)]
minor edit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43813 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofinal edits.
Chris Lattner [Wed, 7 Nov 2007 06:46:51 +0000 (06:46 +0000)]
final edits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43812 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agochapter 7 edits
Chris Lattner [Wed, 7 Nov 2007 06:34:39 +0000 (06:34 +0000)]
chapter 7 edits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43811 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoedits for chapter 7
Chris Lattner [Wed, 7 Nov 2007 06:06:38 +0000 (06:06 +0000)]
edits for chapter 7

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43810 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoedits for chapter 5
Chris Lattner [Wed, 7 Nov 2007 05:47:48 +0000 (05:47 +0000)]
edits for chapter 5

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43808 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor edits
Chris Lattner [Wed, 7 Nov 2007 05:28:43 +0000 (05:28 +0000)]
minor edits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43807 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd some more of StrongPHIElim.
Owen Anderson [Wed, 7 Nov 2007 05:17:15 +0000 (05:17 +0000)]
Add some more of StrongPHIElim.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43805 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoedits.
Chris Lattner [Wed, 7 Nov 2007 05:07:10 +0000 (05:07 +0000)]
edits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43804 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded special version of ReadPtr() that returns a deserialized pointer
Ted Kremenek [Wed, 7 Nov 2007 00:47:33 +0000 (00:47 +0000)]
Added special version of ReadPtr() that returns a deserialized pointer
by value.  This version prohibits backpatching of pointers, so it
useful when a pointee is always known to be deserialized beforehand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43799 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed default ctor for APInt to properly initialize BitWidth to a
Ted Kremenek [Wed, 7 Nov 2007 00:27:59 +0000 (00:27 +0000)]
Fixed default ctor for APInt to properly initialize BitWidth to a
non-random value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43795 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInterchange Dwarf numbers of ESP and EBP on x86 Darwin.
Dale Johannesen [Wed, 7 Nov 2007 00:25:05 +0000 (00:25 +0000)]
Interchange Dwarf numbers of ESP and EBP on x86 Darwin.
Much improvement in exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43794 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement the XTARGET feature for PR1778
Tanya Lattner [Tue, 6 Nov 2007 22:32:17 +0000 (22:32 +0000)]
Implement the XTARGET feature for PR1778
This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43788 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSerializer no longer automatically emits a root-level block in the bitstream.
Ted Kremenek [Tue, 6 Nov 2007 22:22:25 +0000 (22:22 +0000)]
Serializer no longer automatically emits a root-level block in the bitstream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43784 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAugmented ReadPtr and ReadOwnedPtr to control whether or not a pointer is allowed...
Ted Kremenek [Tue, 6 Nov 2007 22:21:14 +0000 (22:21 +0000)]
Augmented ReadPtr and ReadOwnedPtr to control whether or not a pointer is allowed to be backpatched
or can be registered with the deserializer to backpatch other pointers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43783 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake smallptrset more const and type correct, which caught a few
Chris Lattner [Tue, 6 Nov 2007 22:12:43 +0000 (22:12 +0000)]
make smallptrset more const and type correct, which caught a few
minor bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43782 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemainder operations must be either integer or floating-point.
Dan Gohman [Tue, 6 Nov 2007 22:11:54 +0000 (22:11 +0000)]
Remainder operations must be either integer or floating-point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43781 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix const correctness, BB is const, so its predecessors are too
Chris Lattner [Tue, 6 Nov 2007 22:07:40 +0000 (22:07 +0000)]
fix const correctness, BB is const, so its predecessors are too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43780 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodon't put erase or query for non-allocainst pointers in an set of allocainsts*'s
Chris Lattner [Tue, 6 Nov 2007 22:07:22 +0000 (22:07 +0000)]
don't put erase or query for non-allocainst pointers in an set of allocainsts*'s

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43779 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement PR1777 by detecting dependent phis that
Chris Lattner [Tue, 6 Nov 2007 21:52:06 +0000 (21:52 +0000)]
Implement PR1777 by detecting dependent phis that
all compute the same value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43777 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhen the allocator rewrite a spill register with new virtual register, it replaces...
Evan Cheng [Tue, 6 Nov 2007 21:12:10 +0000 (21:12 +0000)]
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

16 years agoAt the point of calculating the shift amount, the
Duncan Sands [Tue, 6 Nov 2007 20:39:11 +0000 (20:39 +0000)]
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

16 years agoRenamed "Flush()" to "FlushRecord()".
Ted Kremenek [Tue, 6 Nov 2007 19:49:50 +0000 (19:49 +0000)]
Renamed "Flush()" to "FlushRecord()".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43772 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded support for processing abbreviations in the Deserializer.
Ted Kremenek [Tue, 6 Nov 2007 19:49:16 +0000 (19:49 +0000)]
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

16 years agofixes from Kelly Wilson.
Chris Lattner [Tue, 6 Nov 2007 18:13:32 +0000 (18:13 +0000)]
fixes from Kelly Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43767 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClarify some of the iostreams stuff.
Bill Wendling [Tue, 6 Nov 2007 09:36:34 +0000 (09:36 +0000)]
Clarify some of the iostreams stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43766 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFirst step towards moving the coalescer to priority_queue based machinery.
Evan Cheng [Tue, 6 Nov 2007 08:52:21 +0000 (08:52 +0000)]
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

16 years agoFix a bug where a def use operand isn't being detected as a sub-register use.
Evan Cheng [Tue, 6 Nov 2007 08:50:44 +0000 (08:50 +0000)]
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