Evan Cheng
756da12ae4
Don't forget D16 - D31 are clobbered by calls and sjlj eh.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76729 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 06:46:53 +00:00
Evan Cheng
4a8b7d030b
Add R12 to the list of registers clobbered by 16-bit Thumb calls as a pre-caution. r12 could be live once we have mixed 32-bit and 16-bit instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 06:37:28 +00:00
Evan Cheng
3b6627b944
Fix a obvious copy-n-paste bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 06:12:40 +00:00
Evan Cheng
8295d99bff
Get rid one of the getRegisterNumbering. Also add D16 - D31.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 05:55:18 +00:00
Eli Friedman
3dae284f5e
Add support for MMX VSETCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76713 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 01:06:52 +00:00
Sean Callanan
5292588ad4
Added the unconditional JMP with an 8-bit relocation for the
...
assembler / disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76712 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 01:05:20 +00:00
Evan Cheng
064a6eacab
Add an entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:58:27 +00:00
Chris Lattner
f1581564b6
inline the two MergeableConstSection implementations into their
...
only caller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:47:11 +00:00
Chris Lattner
828f704c10
set the ELF "small" flag on objects that end up in .rodata.cst4 consistently,
...
updating a mips testcase to expect it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76707 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:41:56 +00:00
Chris Lattner
2804616ba3
don't set the small flag yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76706 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:30:39 +00:00
Chris Lattner
298414ec18
remove the SelectSectionForMachineConst hook, replacing it with
...
a new getSectionForMergableConstant hook. This removes one dependence
of TAI on Type, and provides the hook with enough info to make the
right decision based on whether the global has relocations etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:28:43 +00:00
Evan Cheng
fc6ad402fb
Let each target determines whether a machine instruction is dead. If true, that allows late codeine passes to delete it.
...
This is considered a workaround. The problem is some targets are not modeling side effects correctly. PPC is apparently one of those. This patch allows ppc llvm-gcc to bootstrap on Darwin. Once we find out which instruction definitions are wrong, we can remove the PPCInstrInfo workaround.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76703 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:25:27 +00:00
Owen Anderson
e922c02019
Get rid of the Pass+Context magic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:24:57 +00:00
Chris Lattner
7cf12c7efd
reimplement Constant::ContainsRelocations as
...
Constant::getRelocationInfo(), which has a much simpler
to use API. It still should not be part of libvmcore, but
is better than it was. Also teach it to be smart about
hidden visibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-22 00:05:44 +00:00
Evan Cheng
5d8f1cae76
Fixing cp island pass. Step 1: Determine whether the constant pool offset can be
...
negative on an individual bases rather than basing on whether it's in thumb
mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76698 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:56:01 +00:00
Evan Cheng
7fdf962e5c
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:54:22 +00:00
Chris Lattner
b2fb9ccbb7
simplify code now that it is inlined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:49:55 +00:00
Chris Lattner
97d2cae44b
Now that RelocBehaviour() is never overloaded, it doesn't need to be
...
virtual. Just inline it into its two current call sites in preparation
for simplifying the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76686 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:47:11 +00:00
Chris Lattner
1a1b323504
this doesn't break any of the 4 ia64 tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:42:24 +00:00
Chris Lattner
9d8052f08f
alpha doesn't need to redefine this: it only supports PIC codegen anyway.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76682 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:41:35 +00:00
Chris Lattner
354c0165e7
no really, I can spell!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:36:01 +00:00
Chris Lattner
cb45963643
add an API so target-independent codegen can determine if a constant
...
pool entry will require relocations against it. I implemented this
conservatively for ARM, someone who is knowledgable about it should
see if this can be improved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 23:34:23 +00:00
Chris Lattner
117c7e2a6a
remove the last bits of SectionFlagsForGlobal. There is some flag here that
...
depends on XS1A, but I think the ReadOnlySection is already set up for this
and there is no testcase that this breaks. If this is really needed, we can
add the appropriate parameterization to TargetAsmInfo in the future to support
this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:42:37 +00:00
Chris Lattner
1ab78b03e8
don't mask out the small flag and then reapply it later.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76666 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:39:28 +00:00
Chris Lattner
27391795ac
if Xcore doesn't support TLS, it doesn't have to worry about thread local LLVM IR, it should be rejected by a front-end.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:37:38 +00:00
Chris Lattner
97ee12755d
remove the Xcore implementation of SelectSectionForGlobal. While you have
...
to twist your brain to see it, I believe it is the same as ELFTargetAsmInfo::SelectSectionForGlobal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:36:53 +00:00
Chris Lattner
449e379bd7
simplify based on the fact that darwin always uses L/l.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:32:55 +00:00
Chris Lattner
939a8907ed
make some stuff private.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:30:39 +00:00
Chris Lattner
e1abeb478a
Remove the XCore custom implementation of MergeableConstSection, relying on
...
the generic ELF version instead. This will result in its mergable constant
sections getting named ".rodata.cst4" instead of ".cp.const4", but the
linker looks at the section flags, not the name of the section AFAICT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 22:25:52 +00:00
Chris Lattner
7886ae9e3c
inline a trivial method into its only call site and fix indentation of cases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76654 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 21:29:08 +00:00
Chris Lattner
42b6418cc0
Remove some overridden functions in XCoreTargetAsmInfo that are
...
implemented exactly the same way as its ELFTargetAsmInfo subclass
has them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 21:26:32 +00:00
Chris Lattner
7558f11849
minor cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76645 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 21:09:35 +00:00
Eli Friedman
e748285e1b
Missed a piece of the commit to remove the shift flavor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 20:15:24 +00:00
Eli Friedman
b3e7171926
Remove shift amount flavor. It isn't actually complete enough to
...
be useful, and it's currently unused. (Some issues: it isn't actually
rich enough to capture the semantics on many architectures, and
semantics can vary depending on the type being shifted.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 20:12:16 +00:00
Eli Friedman
58bb61ae94
Remove a couple of already-implemented notes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 20:05:43 +00:00
Evan Cheng
6762d91c05
Add fake v7 itineraries for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76612 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 18:54:14 +00:00
Chris Lattner
40bbebde9d
make AsmPrinter::doFinalization iterate over the global variables
...
and call PrintGlobalVariable, allowing elimination and simplification
of various targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 18:38:57 +00:00
Evan Cheng
3ecadc816d
Do not select tSXTB / tSXTH in thumb2 mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 18:15:26 +00:00
Chris Lattner
e4d8408c57
reduce indentation by using an early exit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:59:36 +00:00
Ted Kremenek
c55db82cd0
Update CMake files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:43:20 +00:00
Chris Lattner
b34e3a9b6b
whitespace cleanups, make the MipsAsmPrinter::doInitialization
...
chain to the super class instead of initializing mangler directly.
This gives it .file and module level inline asm support among other
things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:39:48 +00:00
Chris Lattner
d3ffc06174
fix Sparc, SystemZ, and MSP430 to not override AsmPrinter::doInitialization.
...
This eliminates redundancy setting up the mangler and adds support to them
for module-level inline asm and a .file directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:37:35 +00:00
Chris Lattner
90f8b7073d
Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match the
...
LLVM IR concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:30:51 +00:00
Chris Lattner
1010c21e4e
fix indentation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:25:13 +00:00
Chris Lattner
da6c240423
remove an unneeded override.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:23:41 +00:00
Chris Lattner
a46cb523ca
more random whitespace cleanup, eliminate #define, avoid copying
...
vectors needlessly, doxygenify comments, improve constness, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 17:20:18 +00:00
Chris Lattner
dc47146a25
some simple whitespace cleanup, avoid copying vectors for no reason
...
as much, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 16:44:47 +00:00
Daniel Dunbar
92645acd33
Add missing include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76555 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 08:58:44 +00:00
Daniel Dunbar
bda9653f5b
Switch this API to StringRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 08:57:31 +00:00
Daniel Dunbar
a8f0af5e0e
Remove some unused code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-21 07:08:59 +00:00