1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

32064 Commits

Author SHA1 Message Date
Reid Spencer
db43279e9a 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.

llvm-svn: 36584
2007-04-30 00:29:39 +00:00
Lauro Ramos Venancio
727156d5f0 Enable protected visibility on ARM.
llvm-svn: 36583
2007-04-30 00:23:51 +00:00
Reid Spencer
d27ed404ea Dependent libraries could be native too.
llvm-svn: 36582
2007-04-30 00:00:10 +00:00
Reid Spencer
8e71316320 Augment the verbose output to print out the sub-commands executed.
llvm-svn: 36581
2007-04-29 23:59:47 +00:00
Chris Lattner
31d1dec66d add some helpers
llvm-svn: 36580
2007-04-29 21:49:05 +00:00
Chris Lattner
5c6ead0212 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.

llvm-svn: 36579
2007-04-29 21:48:19 +00:00
Anton Korobeynikov
081d3bdd9f Implement visibility checking during linking. Also implement protected
visibility support for bitcode.

llvm-svn: 36577
2007-04-29 20:56:48 +00:00
Chris Lattner
112645d174 add some simple per-block statistics
llvm-svn: 36576
2007-04-29 20:00:02 +00:00
Chris Lattner
8a40d39a8e compute this value correctly
llvm-svn: 36575
2007-04-29 19:49:58 +00:00
Dale Johannesen
7c3b78cf98 Rewrite of Thumb constant islands handling (exact allowance for padding
around islands and jump tables).

llvm-svn: 36573
2007-04-29 19:19:30 +00:00
Dale Johannesen
1ee5f128f6 Make ARM-specific version of getInlineAsmLength
llvm-svn: 36572
2007-04-29 19:17:45 +00:00
Chris Lattner
d61ccde429 add a method
llvm-svn: 36571
2007-04-29 19:17:32 +00:00
Chris Lattner
fae605a17e not all targets want to return an i32. What really matters is whether llc accepts the generated code.
llvm-svn: 36569
2007-04-29 18:59:01 +00:00
Chris Lattner
087a1aaaab generalize aggregate handling
llvm-svn: 36568
2007-04-29 18:58:03 +00:00
Anton Korobeynikov
527cff103e Regenerate
llvm-svn: 36566
2007-04-29 18:38:24 +00:00
Anton Korobeynikov
3d95e52ea2 Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.

llvm-svn: 36565
2007-04-29 18:35:00 +00:00
Anton Korobeynikov
cb2004f82c Implement review feedback
llvm-svn: 36564
2007-04-29 18:02:48 +00:00
Chris Lattner
631dd78a41 Jeff's fix was fine
llvm-svn: 36563
2007-04-29 17:44:10 +00:00
Chris Lattner
2e9010f6e6 add missing ctor
llvm-svn: 36562
2007-04-29 17:40:50 +00:00
Jeff Cohen
7cfc4b404f Fix MemoryBuffer breakage correctly.
llvm-svn: 36561
2007-04-29 14:43:31 +00:00
Jeff Cohen
aa6d489378 Unbreak VC++ build.
llvm-svn: 36560
2007-04-29 14:22:14 +00:00
Jeff Cohen
349056458a Unbreak build.
llvm-svn: 36559
2007-04-29 14:21:44 +00:00
Anton Korobeynikov
f807cfe71f Updated aliases test
llvm-svn: 36558
2007-04-29 10:34:42 +00:00
Chris Lattner
25f905472a Implement support to read an arbitrary bitcode file. Next up, dumping the
file symbolically and actually computing statistics.

llvm-svn: 36557
2007-04-29 08:31:14 +00:00
Chris Lattner
d48cbf15f8 very early support for analyzing a bitstream. This opens the file, starts
reading the stream, and detects whether it is LLVM IR or not.

llvm-svn: 36556
2007-04-29 08:12:22 +00:00
Chris Lattner
8308e85781 make this file self-contained
llvm-svn: 36555
2007-04-29 08:05:07 +00:00
Chris Lattner
eee1022086 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.

llvm-svn: 36554
2007-04-29 07:54:31 +00:00
Chris Lattner
4749cca517 Add a new memorybuffer class, to unify all the file reading code in the system
llvm-svn: 36553
2007-04-29 06:58:52 +00:00
Chris Lattner
ad7a365974 new method for creating a path, which does not create a temporary string.
llvm-svn: 36552
2007-04-29 06:16:32 +00:00
Chris Lattner
799a92b8af fit in 80 cols
llvm-svn: 36551
2007-04-29 05:51:00 +00:00
Chris Lattner
5e7db3efcd Fix this to use the right block ID
llvm-svn: 36550
2007-04-29 05:49:09 +00:00
Chris Lattner
ffbd0c541a moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.
llvm-svn: 36549
2007-04-29 05:31:57 +00:00
Jeff Cohen
daed13e4b8 Minor corrections.
llvm-svn: 36548
2007-04-29 01:07:00 +00:00
Chris Lattner
85e1cac6b7 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

llvm-svn: 36547
2007-04-28 21:12:06 +00:00
Chris Lattner
97d396d928 eliminate more redundant constraint type analysis
llvm-svn: 36546
2007-04-28 21:03:16 +00:00
Chris Lattner
4153538017 merge constraint type analysis stuff together.
llvm-svn: 36545
2007-04-28 21:01:43 +00:00
Chris Lattner
0e0d379b5d Significant refactoring of the inline asm stuff, to support future changes.
No functionality change.

llvm-svn: 36544
2007-04-28 20:49:53 +00:00
Reid Spencer
2e8cb6e797 Regenerate.
llvm-svn: 36543
2007-04-28 16:07:31 +00:00
Reid Spencer
2ba9c4d36d Revert the premature portion of the last commit.
llvm-svn: 36542
2007-04-28 16:06:50 +00:00
Anton Korobeynikov
07528e335c This is not "FIXME" anymore
llvm-svn: 36541
2007-04-28 14:57:59 +00:00
Anton Korobeynikov
2070ca3361 Let Verifier check aliasees
llvm-svn: 36540
2007-04-28 14:35:41 +00:00
Reid Spencer
349097160e Fix a compilation error (jump to case label).
llvm-svn: 36539
2007-04-28 14:13:42 +00:00
Anton Korobeynikov
f59f5a254c Regenerate
llvm-svn: 36538
2007-04-28 13:48:45 +00:00
Anton Korobeynikov
45162c6dad Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.

llvm-svn: 36537
2007-04-28 13:45:00 +00:00
Chris Lattner
4c7178e326 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

llvm-svn: 36536
2007-04-28 06:42:38 +00:00
Chris Lattner
937ced8d2c new testcase for PR1356
llvm-svn: 36535
2007-04-28 06:41:13 +00:00
Chris Lattner
0e2a4a7890 Fix CodeGen/Generic/2007-04-27-LargeMemObject.ll and
CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll

llvm-svn: 36534
2007-04-28 06:08:13 +00:00
Chris Lattner
782ebe9f8a ensure the operand prints.
llvm-svn: 36533
2007-04-28 06:07:55 +00:00
Chris Lattner
4a79914438 new testcase
llvm-svn: 36532
2007-04-28 06:05:59 +00:00
Chris Lattner
287a590e95 update syntax
llvm-svn: 36531
2007-04-28 06:03:12 +00:00