Dan Gohman [Mon, 19 Nov 2007 15:15:03 +0000 (15:15 +0000)]
Add support in SplitVectorOp for remainder operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44233
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 19 Nov 2007 07:44:43 +0000 (07:44 +0000)]
Fix a factually incorrect statement pointed out by Max Hailperin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Nov 2007 07:43:52 +0000 (07:43 +0000)]
Record the start of the current token, for use in error reporting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 19 Nov 2007 07:38:58 +0000 (07:38 +0000)]
Add carat diagnostics to tblgen lexer errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 18:52:28 +0000 (18:52 +0000)]
Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN return
a valid but empty buffer if stdin is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 18:43:24 +0000 (18:43 +0000)]
autoupgrade files that use callfoo as call foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44218
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 18:32:16 +0000 (18:32 +0000)]
print a call to a fastcc function as:
call x86_fastcallcc void @func( i32* %X, i64 0 )
not:
callx86_fastcallcc void @func( i32* %X, i64 0 )
This fixes Codegen/X86/fast-cc-merge-stack-adj.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 18:26:45 +0000 (18:26 +0000)]
fix bogus test that the more strict lexer is finding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 18:25:18 +0000 (18:25 +0000)]
Bugfix, this fixes CodeGen/X86/ldzero.ll and CodeGen/X86/2007-10-16-fp80_select.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 08:46:26 +0000 (08:46 +0000)]
Replace the original flex lexer with a hand writen one. This
drops a dependency on flex and lets us make future progress more
easily. Yay for 2 fewer .cvs files to make silly conflicts with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 05:48:46 +0000 (05:48 +0000)]
minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 05:25:45 +0000 (05:25 +0000)]
ensure header is self contained.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Nov 2007 02:57:27 +0000 (02:57 +0000)]
reimplement the tblgen lexer with a simple hand-written lexer. This eliminates
one dependency on flex and gets rid of two ".cvs" files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44210
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 17 Nov 2007 03:58:34 +0000 (03:58 +0000)]
Add support for vectors to int <-> float casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44204
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 Nov 2007 03:34:33 +0000 (03:34 +0000)]
Reverted patch 44199:
http://llvm.org/viewvc/llvm-project?rev=44199&view=rev
This patch completely broke serialization due to an invariant I assumed but
did not hold. The assumed invariant was that all pointer IDs emitted by a call
to BatchEmitOwnedPtrs would be consecutive. This is only the case if there has
been no forward references to an owned pointer (and hence already registered
with the Serializer object).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44203
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 17 Nov 2007 02:48:01 +0000 (02:48 +0000)]
Remove indeterminism from a loop. We think this will
fix an occasional nonrepeatable bootstrap failure we've
been seeing on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44202
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 17 Nov 2007 01:02:27 +0000 (01:02 +0000)]
Fix denormal check in float->APInt conversion.
PR 1804.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44201
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 Nov 2007 00:45:37 +0000 (00:45 +0000)]
Changed implementation of Serialize::EmitDiffPtrID and
Deserialize::ReadDiffPtrID to read and emit bools instead of unsigned
integers. This should result in a nice space optimization once we have
"auto-abbreviation" generation in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44200
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 17 Nov 2007 00:40:45 +0000 (00:40 +0000)]
Implemented optimization for BatchEmitOwnedPtrs that we only emit one complete
SerializedPtrID, followed by the *differences* in IDs. The big idea is that
most IDs will be just be 1 off from the previous (either that or NULL, which
we encode as a difference if 0), so this will greatly reduce the encoding
space for extra IDs to just 1 bit per pointer.
So far this optimization reduces serialization of Carbon.h by only 1%, but
we aren't using any abbreviations now in the Bitcode file to properly take
advantage of this optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44199
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Nov 2007 00:40:40 +0000 (00:40 +0000)]
Live interval splitting:
When a live interval is being spilled, rather than creating short, non-spillable
intervals for every def / use, split the interval at BB boundaries. That is, for
every BB where the live interval is defined or used, create a new interval that
covers all the defs and uses in the BB.
This is designed to eliminate one common problem: multiple reloads of the same
value in a single basic block. Note, it does *not* decrease the number of spills
since no copies are inserted so the split intervals are *connected* through
spill and reloads (or rematerialization). The newly created intervals can be
spilled again, in that case, since it does not span multiple basic blocks, it's
spilled in the usual manner. However, it can reuse the same stack slot as the
previously split interval.
This is currently controlled by -split-intervals-at-bb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44198
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Nov 2007 00:31:16 +0000 (00:31 +0000)]
Shrinkfy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44197
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Nov 2007 23:55:08 +0000 (23:55 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44196
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 16 Nov 2007 23:16:35 +0000 (23:16 +0000)]
Testcase from PR 1508 (although its's somewhat
orthogonal to the main problem there)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44194
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 16 Nov 2007 22:44:50 +0000 (22:44 +0000)]
Fix for PR1801
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44193
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 16 Nov 2007 11:12:01 +0000 (11:12 +0000)]
These were implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Nov 2007 06:04:17 +0000 (06:04 +0000)]
Fix PR1800 by correcting mistaken logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Nov 2007 05:32:05 +0000 (05:32 +0000)]
fix a typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44187
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 16 Nov 2007 01:31:51 +0000 (01:31 +0000)]
Implement codegen for flt_rounds on x86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44183
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 15 Nov 2007 23:25:33 +0000 (23:25 +0000)]
Implement necessary bits for flt_rounds gcc builtin.
Codegen bits and llvm-gcc support will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44182
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 15 Nov 2007 21:15:26 +0000 (21:15 +0000)]
Basic non-power-of-2 vector support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44181
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 15 Nov 2007 18:33:16 +0000 (18:33 +0000)]
Reverted r44163 per request
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Berlin [Thu, 15 Nov 2007 18:06:49 +0000 (18:06 +0000)]
Fix bugs in iterator invalidation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44174
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 15 Nov 2007 09:54:37 +0000 (09:54 +0000)]
This assertion was bogus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44167
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Nov 2007 08:13:29 +0000 (08:13 +0000)]
Fix a thinko in post-allocation coalescer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44166
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 15 Nov 2007 06:30:50 +0000 (06:30 +0000)]
Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEV
is disabled in the sense that it will refuse to create one from a UDiv
instruction, until the code is better tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Nov 2007 06:10:55 +0000 (06:10 +0000)]
Fix PR1788 by taking the approach suggested by Richard Smith.
Thanks to him for his detailed analysis of the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Nov 2007 05:57:06 +0000 (05:57 +0000)]
Import the boost scoped_ptr class to LLVM. This patch was prepared by
Cédric Venet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44161
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 15 Nov 2007 05:00:15 +0000 (05:00 +0000)]
More templatization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Nov 2007 04:51:31 +0000 (04:51 +0000)]
many edits, patch by Kelly Wilson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44157
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 15 Nov 2007 02:06:30 +0000 (02:06 +0000)]
Adding debug output during coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44154
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 15 Nov 2007 00:40:48 +0000 (00:40 +0000)]
Need to increment the iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44153
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 15 Nov 2007 00:05:03 +0000 (00:05 +0000)]
Fixed serious bug in BatchReadOwnedPtrs where in a chain of calls to
deserialize objects if BatchReadOwnedPtrs was called more than once in the
same call chain then the second call would overwrite the SerializedPtrIDs
being used by the first call. Solved this problem by making the vector that
holds the pointer IDs local to a function call. Now BatchReadOwnedPtrs is
reentrant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44152
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 21:58:02 +0000 (21:58 +0000)]
I discover array_lengthof, thanks to gabor on #llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44139
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 21:14:02 +0000 (21:14 +0000)]
Tweak the descriptions of the new 'const' and 'pure' attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44132
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Nov 2007 19:08:32 +0000 (19:08 +0000)]
Oops. Debugging code shouldn't have been checked in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44128
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 Nov 2007 17:42:09 +0000 (17:42 +0000)]
Removed debug #define that was accidentally checked in while debugging
the deserializer.
Fixed assertion when "stream jumping" in the deserializer to properly function
when we have reached the end of the stream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44124
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 14:02:11 +0000 (14:02 +0000)]
Simplify the attribute verification code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44116
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 13:40:53 +0000 (13:40 +0000)]
Un XFAIL these tests, now that Bill has backported
the fix from 4.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44115
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 14 Nov 2007 10:30:13 +0000 (10:30 +0000)]
Document pure/const parameter attributes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44111
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 14 Nov 2007 09:53:48 +0000 (09:53 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44110
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 14 Nov 2007 09:52:30 +0000 (09:52 +0000)]
Add pure/const attributes. Documentation will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44109
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 14 Nov 2007 09:18:41 +0000 (09:18 +0000)]
Fix PIC jump table codegen on x86-32/linux. In fact, such thing should be applied
to all targets uses GOT-relative offsets for PIC (Alpha?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44108
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Nov 2007 08:29:13 +0000 (08:29 +0000)]
Eliminate the recently introduced CCAssignToStackABISizeAlign
in favour of teaching CCAssignToStack that size 0 and/or align
0 means to use the ABI values. This seems a neater solution.
It is safe since no legal value type has size 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44107
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 14 Nov 2007 08:05:03 +0000 (08:05 +0000)]
Added two new overloaded versions of BatchEmitOwnedPtrs and
BatchReadOwnedPtrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44105
91177308-0d34-0410-b5e6-
96231b3b80d8
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