Reid Spencer [Wed, 2 May 2007 21:31:09 +0000 (21:31 +0000)]
Disable RTTI handling until we're ready.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36651
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 2 May 2007 21:29:39 +0000 (21:29 +0000)]
Add a rule to get the footprint of binaries and libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36650
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 2 May 2007 20:38:25 +0000 (20:38 +0000)]
Re-install patch to enable use of PassID.
I am preparing another patch to address the failure that prompted
Chris to revert this patch earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36649
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Wed, 2 May 2007 20:37:47 +0000 (20:37 +0000)]
Fix build error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36648
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 2 May 2007 19:53:33 +0000 (19:53 +0000)]
Emit correct register move information in eh frames for X86. This allows Shootout-C++/except to pass on x86/linux
with non-llvm-compiled (e.g. "native") unwind runtime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36647
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 2 May 2007 08:46:03 +0000 (08:46 +0000)]
Emit correct DWARF reg # for RA (return address) register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36646
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 2 May 2007 07:43:14 +0000 (07:43 +0000)]
Test that TREE_CONSTANT is being set correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36645
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 2 May 2007 07:41:22 +0000 (07:41 +0000)]
Test that inline assembler compiles (llvm-gcc added an extra "uses" parameter
to ASM_EXPR).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 May 2007 05:47:22 +0000 (05:47 +0000)]
update to reflect reality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36643
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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