oota-llvm.git
17 years agoadd reader logic for terminator instrs.
Chris Lattner [Wed, 2 May 2007 05:46:45 +0000 (05:46 +0000)]
add reader logic for terminator instrs.

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

17 years agoadd reader support for a bunch of new instructions
Chris Lattner [Wed, 2 May 2007 05:16:49 +0000 (05:16 +0000)]
add reader support for a bunch of new instructions

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

17 years agoread a few instructions, fix some bugs. This is enough to be able to round
Chris Lattner [Wed, 2 May 2007 04:27:25 +0000 (04:27 +0000)]
read a few instructions, fix some bugs.  This is enough to be able to round
trip function bodies like this:

define <2 x i64> @foo(<2 x i64> %x, <2 x i64> %y) {
        %tmp4 = bitcast <2 x i64> %y to <8 x i16>               ; <<8 x i16>> [#uses=1]
        %tmp5 = bitcast <2 x i64> %x to <8 x i16>               ; <<8 x i16>> [#uses=1]
        %tmp = add <8 x i16> %tmp5, %tmp4               ; <<8 x i16>> [#uses=1]
        %tmp6 = bitcast <8 x i16> %tmp to <2 x i64>             ; <<2 x i64>> [#uses=1]
        ret <2 x i64> %tmp6
}

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

17 years agouse the correct code for binop instrs
Chris Lattner [Wed, 2 May 2007 04:26:36 +0000 (04:26 +0000)]
use the correct code for binop instrs

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

17 years agorevert enough of devang's recent patches to get the tree basically working again
Chris Lattner [Wed, 2 May 2007 04:25:31 +0000 (04:25 +0000)]
revert enough of devang's recent patches to get the tree basically working again

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

17 years agodisable this assertion as a hack to get the build more unbroken :(
Chris Lattner [Wed, 2 May 2007 04:01:44 +0000 (04:01 +0000)]
disable this assertion as a hack to get the build more unbroken :(

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

17 years agoMake sign extension work correctly for unusual bit widths.
Reid Spencer [Wed, 2 May 2007 02:17:41 +0000 (02:17 +0000)]
Make sign extension work correctly for unusual bit widths.

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

17 years agoAdd some support for (Darwin) code-generating directives in getInlineAsmLength.
Dale Johannesen [Wed, 2 May 2007 01:02:40 +0000 (01:02 +0000)]
Add some support for (Darwin) code-generating directives in getInlineAsmLength.
Support is incomplete, but more accurate than gcc's.

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

17 years agoFix couple of bugs connected with eh info:
Anton Korobeynikov [Tue, 1 May 2007 22:23:12 +0000 (22:23 +0000)]
Fix couple of bugs connected with eh info:
1. Correct output offsets on Linux
2. Fix "style" of personality function. It shouldn't be indirect.

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

17 years agoDo not use typeinfo to identify pass in pass manager.
Devang Patel [Tue, 1 May 2007 21:15:47 +0000 (21:15 +0000)]
Do not use typeinfo to identify pass in pass manager.

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

17 years agoUpdate doc to reflect changes I am about to install to fix PR 888.
Devang Patel [Tue, 1 May 2007 20:55:38 +0000 (20:55 +0000)]
Update doc to reflect changes I am about to install to fix PR 888.

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

17 years agoDoh. PC displacement is between the constantpool and the add instruction.
Evan Cheng [Tue, 1 May 2007 20:27:19 +0000 (20:27 +0000)]
Doh. PC displacement is between the constantpool and the add instruction.

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

17 years agoTest handling of TRY_CATCH_EXPRs for which the handler is a sequence of
Duncan Sands [Tue, 1 May 2007 18:49:30 +0000 (18:49 +0000)]
Test handling of TRY_CATCH_EXPRs for which the handler is a sequence of
ordinary statements, rather than a list of CATCH_EXPRs or an EH_FILTER_EXPR.

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

17 years agoUse correct PC symbol
Anton Korobeynikov [Tue, 1 May 2007 10:19:31 +0000 (10:19 +0000)]
Use correct PC symbol

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

17 years agoAdjust correct EH-related sections
Anton Korobeynikov [Tue, 1 May 2007 10:16:06 +0000 (10:16 +0000)]
Adjust correct EH-related sections

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

17 years agoeliminateFrameIndex() change.
Evan Cheng [Tue, 1 May 2007 09:13:03 +0000 (09:13 +0000)]
eliminateFrameIndex() change.

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

17 years agoIf call frame is not part of stack frame and no dynamic alloc, eliminateFrameIndex...
Evan Cheng [Tue, 1 May 2007 09:01:42 +0000 (09:01 +0000)]
If call frame is not part of stack frame and no dynamic alloc, eliminateFrameIndex() must adjust SP offset with size of call frames.

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

17 years agoPass call frame setup SP adjustment along to eliminateFrameIndex().
Evan Cheng [Tue, 1 May 2007 08:59:18 +0000 (08:59 +0000)]
Pass call frame setup SP adjustment along to eliminateFrameIndex().

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

17 years agoAdd SPAdj parameter to account for call frame setup SP adjustment.
Evan Cheng [Tue, 1 May 2007 08:58:27 +0000 (08:58 +0000)]
Add SPAdj parameter to account for call frame setup SP adjustment.

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

17 years agoForgot about chain result; also UNDEF cannot have multiple values.
Evan Cheng [Tue, 1 May 2007 08:53:39 +0000 (08:53 +0000)]
Forgot about chain result; also UNDEF cannot have multiple values.

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

17 years agofix build with non-buggy compilers
Chris Lattner [Tue, 1 May 2007 07:03:37 +0000 (07:03 +0000)]
fix build with non-buggy compilers

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

17 years agohandle function-level forward references, read binops.
Chris Lattner [Tue, 1 May 2007 07:01:57 +0000 (07:01 +0000)]
handle function-level forward references, read binops.

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

17 years agoA bit of feedback from Chris that I missed; error rather than asserting.
Nate Begeman [Tue, 1 May 2007 06:08:36 +0000 (06:08 +0000)]
A bit of feedback from Chris that I missed; error rather than asserting.

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

17 years agollvm bug #1350, parts 1, 2, and 3.
Nate Begeman [Tue, 1 May 2007 05:57:02 +0000 (05:57 +0000)]
llvm bug #1350, parts 1, 2, and 3.

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

17 years agoimplement materializeModule, force deallocation of vector memory when we
Chris Lattner [Tue, 1 May 2007 05:52:21 +0000 (05:52 +0000)]
implement materializeModule, force deallocation of vector memory when we
are done with them, start implementing ParseFunctionBody

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

17 years agoseveral bitfixes to JumpToBit
Chris Lattner [Tue, 1 May 2007 05:51:32 +0000 (05:51 +0000)]
several bitfixes to JumpToBit

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

17 years agoThe stream to read from is now an ivar
Chris Lattner [Tue, 1 May 2007 05:01:34 +0000 (05:01 +0000)]
The stream to read from is now an ivar

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

17 years agoimplement scafolding for lazy deserialization of function bodies
Chris Lattner [Tue, 1 May 2007 04:59:48 +0000 (04:59 +0000)]
implement scafolding for lazy deserialization of function bodies

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

17 years agoadd JumpToBit, an explicit init method, and a default ctor.
Chris Lattner [Tue, 1 May 2007 04:59:06 +0000 (04:59 +0000)]
add JumpToBit, an explicit init method, and a default ctor.

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

17 years agoSplit target dependent test portions to target-specific directories.
Reid Spencer [Tue, 1 May 2007 02:56:15 +0000 (02:56 +0000)]
Split target dependent test portions to target-specific directories.

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

17 years agoadd phi
Chris Lattner [Tue, 1 May 2007 02:43:46 +0000 (02:43 +0000)]
add phi

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

17 years agowrite the symbol table for function bodies
Chris Lattner [Tue, 1 May 2007 02:14:57 +0000 (02:14 +0000)]
write the symbol table for function bodies

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

17 years agoencode all of the instructions.
Chris Lattner [Tue, 1 May 2007 02:13:26 +0000 (02:13 +0000)]
encode all of the instructions.

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

17 years agoadd missing opcode.
Chris Lattner [Tue, 1 May 2007 02:12:05 +0000 (02:12 +0000)]
add missing opcode.

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

17 years agoUnder normal circumstances, when a frame pointer is not required, we reserve
Evan Cheng [Tue, 1 May 2007 00:52:08 +0000 (00:52 +0000)]
Under normal circumstances, when a frame pointer is not required, we reserve
argument space for call sites in the function immediately on entry to the
current function. This eliminates the need for add/sub sp brackets around call
sites. However, this is not always a good idea. If the "call frame" is large and
the target load / store instructions have small immediate field to encode sp
offset, this can cause poor codegen. In the worst case, this can make it
impossible to scavenge a register if the reserved spill slot is pushed too far
apart from sp / fp.

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

17 years agoAdded hook hasReservedCallFrame(). It returns true if the call frame is
Evan Cheng [Tue, 1 May 2007 00:47:46 +0000 (00:47 +0000)]
Added hook hasReservedCallFrame(). It returns true if the call frame is
included as part of the stack frame.

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

17 years agoTest a dag combiner crasher.
Evan Cheng [Tue, 1 May 2007 00:40:38 +0000 (00:40 +0000)]
Test a dag combiner crasher.

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

17 years ago* Only turn a load to UNDEF if all of its outputs have no uses (indexed loads
Evan Cheng [Tue, 1 May 2007 00:38:21 +0000 (00:38 +0000)]
* Only turn a load to UNDEF if all of its outputs have no uses (indexed loads
  produce two results.)
* Do not touch volatile loads.

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

17 years agoImplement review feedback.
Christopher Lamb [Mon, 30 Apr 2007 23:54:10 +0000 (23:54 +0000)]
Implement review feedback.

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

17 years agoFix PR1228 and CodeGen/Generic/2007-04-30-LandingPadBranchFolding.ll
Chris Lattner [Mon, 30 Apr 2007 23:35:00 +0000 (23:35 +0000)]
Fix PR1228 and CodeGen/Generic/2007-04-30-LandingPadBranchFolding.ll

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

17 years agotestcase for PR1228
Chris Lattner [Mon, 30 Apr 2007 23:34:46 +0000 (23:34 +0000)]
testcase for PR1228

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

17 years agoprint isLandingPad() for MBBs
Chris Lattner [Mon, 30 Apr 2007 23:12:53 +0000 (23:12 +0000)]
print isLandingPad() for MBBs

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

17 years agoContinue refactoring inline asm code. If there is an earlyclobber output
Chris Lattner [Mon, 30 Apr 2007 21:11:17 +0000 (21:11 +0000)]
Continue refactoring inline asm code.  If there is an earlyclobber output
register, preallocate all input registers and the early clobbered output.

This fixes PR1357 and CodeGen/PowerPC/2007-04-30-InlineAsmEarlyClobber.ll

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

17 years agotestcase for PR1357
Chris Lattner [Mon, 30 Apr 2007 21:10:13 +0000 (21:10 +0000)]
testcase for PR1357

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

17 years agoHeader file for ELF relocations.
Christopher Lamb [Mon, 30 Apr 2007 20:41:08 +0000 (20:41 +0000)]
Header file for ELF relocations.

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

17 years agoFix comment
Anton Korobeynikov [Mon, 30 Apr 2007 19:14:56 +0000 (19:14 +0000)]
Fix comment

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

17 years agoUpdates.
Evan Cheng [Mon, 30 Apr 2007 18:42:09 +0000 (18:42 +0000)]
Updates.

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

17 years agorefactor GetRegistersForValue to take OpInfo as an argument instead of various
Chris Lattner [Mon, 30 Apr 2007 17:29:31 +0000 (17:29 +0000)]
refactor GetRegistersForValue to take OpInfo as an argument instead of various
pieces of it.  No functionality change.

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

17 years agorefactor some code, no functionality change
Chris Lattner [Mon, 30 Apr 2007 17:16:27 +0000 (17:16 +0000)]
refactor some code, no functionality change

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

17 years agoClean up multi-line asam string printing. Instead of printing:
Chris Lattner [Mon, 30 Apr 2007 17:00:18 +0000 (17:00 +0000)]
Clean up multi-line asam string printing.  Instead of printing:

        # InlineAsm Start
        subfc r3,r5,r4
                subfze r4,r3
        # InlineAsm End

print:

        # InlineAsm Start
        subfc r3,r5,r4
        subfze r4,r3
        # InlineAsm End

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

17 years agoFix typo. Interesting, but old variant worked too :)
Anton Korobeynikov [Mon, 30 Apr 2007 10:28:40 +0000 (10:28 +0000)]
Fix typo. Interesting, but old variant worked too :)

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

17 years agoFor PR1370:
Reid Spencer [Mon, 30 Apr 2007 05:11:58 +0000 (05:11 +0000)]
For PR1370:
Rearrange some tests so that if PowerPC is not being built we don't try to
run PowerPC specific tests.

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

17 years agoRemove item: thumb padding in constant islands
Dale Johannesen [Mon, 30 Apr 2007 00:32:06 +0000 (00:32 +0000)]
Remove item: thumb padding in constant islands

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

17 years agoremove unused variable
Dale Johannesen [Mon, 30 Apr 2007 00:30:48 +0000 (00:30 +0000)]
remove unused variable

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

17 years agoIf an archive is not recognized as an LLVM bytecode archive then declare
Reid Spencer [Mon, 30 Apr 2007 00:29:39 +0000 (00:29 +0000)]
If an archive is not recognized as an LLVM bytecode archive then declare
that it is native so that the linker will pass it on downstream. This avoids
a problem where the native link line fails because there is both a .so and
a .a file. The .a file gets processed as bytecode and then dropped from the
command line.

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

17 years agoEnable protected visibility on ARM.
Lauro Ramos Venancio [Mon, 30 Apr 2007 00:23:51 +0000 (00:23 +0000)]
Enable protected visibility on ARM.

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

17 years agoDependent libraries could be native too.
Reid Spencer [Mon, 30 Apr 2007 00:00:10 +0000 (00:00 +0000)]
Dependent libraries could be native too.

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

17 years agoAugment the verbose output to print out the sub-commands executed.
Reid Spencer [Sun, 29 Apr 2007 23:59:47 +0000 (23:59 +0000)]
Augment the verbose output to print out the sub-commands executed.

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

17 years agoadd some helpers
Chris Lattner [Sun, 29 Apr 2007 21:49:05 +0000 (21:49 +0000)]
add some helpers

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

17 years agoImplement much expanded dumper support. We now print stuff like:
Chris Lattner [Sun, 29 Apr 2007 21:48:19 +0000 (21:48 +0000)]
Implement much expanded dumper support.  We now print stuff like:

<MODULE_BLOCK NumWords=27 BlockCodeSize=3>
  <TYPE_BLOCK NumWords=7 BlockCodeSize=4>
    <NUMENTRY op0=7>
    <POINTER op0=1>
    <FUNCTION op0=0 op1=2 op2=2 op3=2 op4=2>
    <VECTOR op0=2 op1=3>
    <INTEGER op0=64>
    <VECTOR op0=8 op1=5>
    <INTEGER op0=16>
    <VOID>
...

With work, the operands can be pretty printed symbolically.

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

17 years agoImplement visibility checking during linking. Also implement protected
Anton Korobeynikov [Sun, 29 Apr 2007 20:56:48 +0000 (20:56 +0000)]
Implement visibility checking during linking. Also implement protected
visibility support for bitcode.

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

17 years agoadd some simple per-block statistics
Chris Lattner [Sun, 29 Apr 2007 20:00:02 +0000 (20:00 +0000)]
add some simple per-block statistics

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

17 years agocompute this value correctly
Chris Lattner [Sun, 29 Apr 2007 19:49:58 +0000 (19:49 +0000)]
compute this value correctly

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

17 years agoRewrite of Thumb constant islands handling (exact allowance for padding
Dale Johannesen [Sun, 29 Apr 2007 19:19:30 +0000 (19:19 +0000)]
Rewrite of Thumb constant islands handling (exact allowance for padding
around islands and jump tables).

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

17 years agoMake ARM-specific version of getInlineAsmLength
Dale Johannesen [Sun, 29 Apr 2007 19:17:45 +0000 (19:17 +0000)]
Make ARM-specific version of getInlineAsmLength

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

17 years agoadd a method
Chris Lattner [Sun, 29 Apr 2007 19:17:32 +0000 (19:17 +0000)]
add a method

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

17 years agonot all targets want to return an i32. What really matters is whether llc accepts...
Chris Lattner [Sun, 29 Apr 2007 18:59:01 +0000 (18:59 +0000)]
not all targets want to return an i32.  What really matters is whether llc accepts the generated code.

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

17 years agogeneralize aggregate handling
Chris Lattner [Sun, 29 Apr 2007 18:58:03 +0000 (18:58 +0000)]
generalize aggregate handling

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

17 years agoRegenerate
Anton Korobeynikov [Sun, 29 Apr 2007 18:38:24 +0000 (18:38 +0000)]
Regenerate

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

17 years agoImplement protected visibility. This partly implements PR1363. Linker
Anton Korobeynikov [Sun, 29 Apr 2007 18:35:00 +0000 (18:35 +0000)]
Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.

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

17 years agoImplement review feedback
Anton Korobeynikov [Sun, 29 Apr 2007 18:02:48 +0000 (18:02 +0000)]
Implement review feedback

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

17 years agoJeff's fix was fine
Chris Lattner [Sun, 29 Apr 2007 17:44:10 +0000 (17:44 +0000)]
Jeff's fix was fine

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

17 years agoadd missing ctor
Chris Lattner [Sun, 29 Apr 2007 17:40:50 +0000 (17:40 +0000)]
add missing ctor

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

17 years agoFix MemoryBuffer breakage correctly.
Jeff Cohen [Sun, 29 Apr 2007 14:43:31 +0000 (14:43 +0000)]
Fix MemoryBuffer breakage correctly.

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

17 years agoUnbreak VC++ build.
Jeff Cohen [Sun, 29 Apr 2007 14:22:14 +0000 (14:22 +0000)]
Unbreak VC++ build.

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

17 years agoUnbreak build.
Jeff Cohen [Sun, 29 Apr 2007 14:21:44 +0000 (14:21 +0000)]
Unbreak build.

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

17 years agoUpdated aliases test
Anton Korobeynikov [Sun, 29 Apr 2007 10:34:42 +0000 (10:34 +0000)]
Updated aliases test

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

17 years agoImplement support to read an arbitrary bitcode file. Next up, dumping the
Chris Lattner [Sun, 29 Apr 2007 08:31:14 +0000 (08:31 +0000)]
Implement support to read an arbitrary bitcode file.  Next up, dumping the
file symbolically and actually computing statistics.

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

17 years agovery early support for analyzing a bitstream. This opens the file, starts
Chris Lattner [Sun, 29 Apr 2007 08:12:22 +0000 (08:12 +0000)]
very early support for analyzing a bitstream.  This opens the file, starts
reading the stream, and detects whether it is LLVM IR or not.

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

17 years agomake this file self-contained
Chris Lattner [Sun, 29 Apr 2007 08:05:07 +0000 (08:05 +0000)]
make this file self-contained

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

17 years agoSwitch the bitcode reader interface to take a MemoryBuffer instead of knowing
Chris Lattner [Sun, 29 Apr 2007 07:54:31 +0000 (07:54 +0000)]
Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
anything about disk I/O itself.  This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.

This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode.  Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.

I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.

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

17 years agoAdd a new memorybuffer class, to unify all the file reading code in the system
Chris Lattner [Sun, 29 Apr 2007 06:58:52 +0000 (06:58 +0000)]
Add a new memorybuffer class, to unify all the file reading code in the system

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

17 years agonew method for creating a path, which does not create a temporary string.
Chris Lattner [Sun, 29 Apr 2007 06:16:32 +0000 (06:16 +0000)]
new method for creating a path, which does not create a temporary string.

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

17 years agofit in 80 cols
Chris Lattner [Sun, 29 Apr 2007 05:51:00 +0000 (05:51 +0000)]
fit in 80 cols

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

17 years agoFix this to use the right block ID
Chris Lattner [Sun, 29 Apr 2007 05:49:09 +0000 (05:49 +0000)]
Fix this to use the right block ID

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

17 years agomoved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.
Chris Lattner [Sun, 29 Apr 2007 05:31:57 +0000 (05:31 +0000)]
moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.

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

17 years agoMinor corrections.
Jeff Cohen [Sun, 29 Apr 2007 01:07:00 +0000 (01:07 +0000)]
Minor corrections.

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

17 years agomemory operands that have a direct operand should have their stores created
Chris Lattner [Sat, 28 Apr 2007 21:12:06 +0000 (21:12 +0000)]
memory operands that have a direct operand should have their stores created
before the copies into physregs are done.  This avoids having flag operands
skip the store, causing cycles in the dag at sched time.  This fixes infinite
loops on these tests:

test/CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll for PR1308
test/CodeGen/PowerPC/2007-01-29-lbrx-asm.ll
test/CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll
test/CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll for PR828

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

17 years agoeliminate more redundant constraint type analysis
Chris Lattner [Sat, 28 Apr 2007 21:03:16 +0000 (21:03 +0000)]
eliminate more redundant constraint type analysis

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

17 years agomerge constraint type analysis stuff together.
Chris Lattner [Sat, 28 Apr 2007 21:01:43 +0000 (21:01 +0000)]
merge constraint type analysis stuff together.

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

17 years agoSignificant refactoring of the inline asm stuff, to support future changes.
Chris Lattner [Sat, 28 Apr 2007 20:49:53 +0000 (20:49 +0000)]
Significant refactoring of the inline asm stuff, to support future changes.
No functionality change.

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

17 years agoRegenerate.
Reid Spencer [Sat, 28 Apr 2007 16:07:31 +0000 (16:07 +0000)]
Regenerate.

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

17 years agoRevert the premature portion of the last commit.
Reid Spencer [Sat, 28 Apr 2007 16:06:50 +0000 (16:06 +0000)]
Revert the premature portion of the last commit.

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

17 years agoThis is not "FIXME" anymore
Anton Korobeynikov [Sat, 28 Apr 2007 14:57:59 +0000 (14:57 +0000)]
This is not "FIXME" anymore

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

17 years agoLet Verifier check aliasees
Anton Korobeynikov [Sat, 28 Apr 2007 14:35:41 +0000 (14:35 +0000)]
Let Verifier check aliasees

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

17 years agoFix a compilation error (jump to case label).
Reid Spencer [Sat, 28 Apr 2007 14:13:42 +0000 (14:13 +0000)]
Fix a compilation error (jump to case label).

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

17 years agoRegenerate
Anton Korobeynikov [Sat, 28 Apr 2007 13:48:45 +0000 (13:48 +0000)]
Regenerate

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

17 years agoImplement review feedback. Aliasees can be either GlobalValue's or
Anton Korobeynikov [Sat, 28 Apr 2007 13:45:00 +0000 (13:45 +0000)]
Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.

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

17 years agomemory inputs to an inline asm are required to have an address available.
Chris Lattner [Sat, 28 Apr 2007 06:42:38 +0000 (06:42 +0000)]
memory inputs to an inline asm are required to have an address available.
If the operand is not already an indirect operand, spill it to a constant
pool entry or a stack slot.

This fixes PR1356 and CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll

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

17 years agonew testcase for PR1356
Chris Lattner [Sat, 28 Apr 2007 06:41:13 +0000 (06:41 +0000)]
new testcase for PR1356

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