Evan Cheng [Wed, 14 Nov 2007 07:59:08 +0000 (07:59 +0000)]
Clean up sub-register implementation by moving subReg information back to
MachineOperand auxInfo. Previous clunky implementation uses an external map
to track sub-register uses. That works because register allocator uses
a new virtual register for each spilled use. With interval splitting (coming
soon), we may have multiple uses of the same register some of which are
of using different sub-registers from others. It's too fragile to constantly
update the information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44104
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 07:42:50 +0000 (07:42 +0000)]
XFAIL these tests until the fix gets backported
from llvm-gcc-4.2 to 4.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Nov 2007 07:04:44 +0000 (07:04 +0000)]
Document a limitation, patch contributed by George Russell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44102
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Nov 2007 06:47:06 +0000 (06:47 +0000)]
Allow the block extractor take to take a list of basic blocks to not extract
from a file containing Function/BasicBlock pairings. This is not safe against
anonymous or abnormally-named Funcs or BBs.
Make bugpoint use this interface to pass the BBs list to the child bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44101
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Nov 2007 06:19:25 +0000 (06:19 +0000)]
Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.ll
by inserting unreachable after no-return calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44099
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Nov 2007 02:33:58 +0000 (02:33 +0000)]
Start the process of making MachineLoopInfo possible by templating Loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44097
91177308-0d34-0410-b5e6-
96231b3b80d8
Hartmut Kaiser [Tue, 13 Nov 2007 23:04:28 +0000 (23:04 +0000)]
Fixed a compilation error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44083
91177308-0d34-0410-b5e6-
96231b3b80d8
Hartmut Kaiser [Tue, 13 Nov 2007 23:04:06 +0000 (23:04 +0000)]
Fixed a strange construct. Please review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44082
91177308-0d34-0410-b5e6-
96231b3b80d8
Hartmut Kaiser [Tue, 13 Nov 2007 23:03:32 +0000 (23:03 +0000)]
Updated VC++ build system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44081
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Nov 2007 21:46:23 +0000 (21:46 +0000)]
Fix the regression on Transforms/GlobalOpt/deadglobal-2.ll from my
patch on friday.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44068
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Nov 2007 21:42:48 +0000 (21:42 +0000)]
upgrade test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44067
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Nov 2007 20:13:24 +0000 (20:13 +0000)]
Run computeDomForest() on the set of registers that need to be tested for
interference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44064
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Nov 2007 20:04:45 +0000 (20:04 +0000)]
Preserve LiveVariables when doing critical edge splitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44063
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Nov 2007 19:56:28 +0000 (19:56 +0000)]
Wow. I definitely shouldn't write code when I'm tird.
Make my previous patch actually do what it was intended to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44061
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Nov 2007 19:16:02 +0000 (19:16 +0000)]
Revert previous; these files aren't ready to go in yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44057
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Nov 2007 19:13:01 +0000 (19:13 +0000)]
Add parameter to getDwarfRegNum to permit targets
to use different mappings for EH and debug info;
no functional change yet.
Fix warning in X86CodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44056
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Nov 2007 18:22:33 +0000 (18:22 +0000)]
Make llvm2cpp better, patch for PR1794, contributed by Zack Rusin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44051
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Nov 2007 17:54:34 +0000 (17:54 +0000)]
Fix x86-64 jit: remove reliance on Dwarf numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44048
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 13 Nov 2007 09:19:02 +0000 (09:19 +0000)]
Unifacalize the CALLSEQ{START,END} stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44045
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Nov 2007 07:32:38 +0000 (07:32 +0000)]
Implement PR1786 by iterating between dead cycle elimination
and simplifycfg in the rare cases when it is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44044
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Nov 2007 07:06:30 +0000 (07:06 +0000)]
Many typos, grammaro, and wording fixes. Patch by
Kelly Wilson, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44043
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 13 Nov 2007 00:44:25 +0000 (00:44 +0000)]
Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stack
adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in
the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If
not, then there is the potential for the stack to be changed while the stack's
being used by another instruction (like a call).
This can only result in tears...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44037
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 Nov 2007 00:25:08 +0000 (00:25 +0000)]
Renamed serialization method "Materialize" to "Create". This is an API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44034
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 Nov 2007 00:13:57 +0000 (00:13 +0000)]
Fixed bug with inconsistent serialization/deserialization in matching
calls to BatchEmitOwnedPtrs and BatchReadOwnedPtrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44032
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 12 Nov 2007 23:55:19 +0000 (23:55 +0000)]
Move SYSCTL stuff close to where it's used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44031
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 12 Nov 2007 23:53:43 +0000 (23:53 +0000)]
Build universal llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44030
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 12 Nov 2007 23:36:13 +0000 (23:36 +0000)]
Completely forgot, that we have some debug information emission on PPC. This should fix
some regressions on ppc nightly tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44029
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 12 Nov 2007 19:49:57 +0000 (19:49 +0000)]
Added JumpTable support
Fixed some AsmPrinter issues
Added GLOBAL_OFFSET_TABLE Node handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44024
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 12 Nov 2007 19:11:15 +0000 (19:11 +0000)]
Added versions of ReadPtr that takes an explicit SerializedPtrID. This allows
clients of the Deserializer to read the pointer ID before they are ready
to deserialize the object (which can mean registering a pointer reference
with the backpatcher).
Changed some methods that took an argument "SerializedPtrID" to "const SerializedPtrID&" (pass-by-reference). This is to accommodate a future
revision of SerializedPtrID where it may be much fatter than an unsigned
integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44021
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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