oota-llvm.git
14 years agoUse the i12 variant of load / store opcodes if offset is zero. Now we pass all of...
Evan Cheng [Mon, 3 Aug 2009 02:38:06 +0000 (02:38 +0000)]
Use the i12 variant of load / store opcodes if offset is zero. Now we pass all of multisource as well.

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

14 years agoRemove -disable-mips-abicall and -enable-mips-absolute-call command-line
Eli Friedman [Mon, 3 Aug 2009 02:22:28 +0000 (02:22 +0000)]
Remove -disable-mips-abicall and -enable-mips-absolute-call command-line
options, which don't appear to be useful.  -enable-mips-absolute-call is
completely unused (and unless I'm mistaken, is supposed to have the
same effect that -relocation-model=dynamic-no-pic should have),
and -disable-mips-abicall appears to be effectively a
synonym for -relocation-model=static. Adjust the few users of hasABICall
to checks which seem more appropriate.  Update MipsSubtarget,
MipsTargetMachine, and MipselTargetMachine to synchronize with recent
changes.

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

14 years agoRestrict LDA to affine subscripts.
Andreas Bolka [Mon, 3 Aug 2009 01:03:48 +0000 (01:03 +0000)]
Restrict LDA to affine subscripts.

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

14 years agoFix some comments referring to std::cerr.
Daniel Dunbar [Mon, 3 Aug 2009 01:02:24 +0000 (01:02 +0000)]
Fix some comments referring to std::cerr.

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

14 years ago- s/DOUT/DEBUG(errs()/g
Bill Wendling [Mon, 3 Aug 2009 00:11:34 +0000 (00:11 +0000)]
- s/DOUT/DEBUG(errs()/g
- Tidy up some headers.

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

14 years agoMove most targets TargetMachine constructor to only taking a target triple.
Daniel Dunbar [Sun, 2 Aug 2009 23:37:13 +0000 (23:37 +0000)]
Move most targets TargetMachine constructor to only taking a target triple.
 - The C, C++, MSIL, and Mips backends still need the module.

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

14 years agoExpand LDA testcases.
Andreas Bolka [Sun, 2 Aug 2009 23:28:14 +0000 (23:28 +0000)]
Expand LDA testcases.

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

14 years agoAdd extra SEXT pattern.
Richard Osborne [Sun, 2 Aug 2009 22:45:24 +0000 (22:45 +0000)]
Add extra SEXT pattern.

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

14 years agoThe x86 jit doesn't generate a def_cfa_offset unwind instruction after the
Bill Wendling [Sun, 2 Aug 2009 22:25:37 +0000 (22:25 +0000)]
The x86 jit doesn't generate a def_cfa_offset unwind instruction after the
pushes in the function prolog if the function doesn't have any stack space,
i.e. for a prolog like:

0x40011870:     push %r15
0x40011872:     push %r14
0x40011874:     push %rbx

Patch by Zoltan!

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

14 years agoNormalize Subtarget constructors to take a target triple string instead of
Daniel Dunbar [Sun, 2 Aug 2009 22:11:08 +0000 (22:11 +0000)]
Normalize Subtarget constructors to take a target triple string instead of
Module*.

Also, dropped uses of TargetMachine where unnecessary. The only target which
still takes a TargetMachine& is Mips, I would appreciate it if someone would
normalize this to match other targets.

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

14 years agoRemove unneeded intrinsics from Blackfin backend.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 21:49:05 +0000 (21:49 +0000)]
Remove unneeded intrinsics from Blackfin backend.

__builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end.

__builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load.

We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds.

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

14 years agoFix the build for people with oprofile installed.
Nick Lewycky [Sun, 2 Aug 2009 20:51:44 +0000 (20:51 +0000)]
Fix the build for people with oprofile installed.

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

14 years agoEmpty arguments need to be quoted on Win32.
Daniel Dunbar [Sun, 2 Aug 2009 20:41:09 +0000 (20:41 +0000)]
Empty arguments need to be quoted on Win32.

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

14 years agoFix issue in regscavenger when scavenging a callee-saved register that has not been...
Jakob Stoklund Olesen [Sun, 2 Aug 2009 20:29:41 +0000 (20:29 +0000)]
Fix issue in regscavenger when scavenging a callee-saved register that has not been spilled.

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

14 years agoOne two many newlines at end of file LLVMContextImpl.cpp
Edward O'Callaghan [Sun, 2 Aug 2009 20:06:26 +0000 (20:06 +0000)]
One two many newlines at end of file LLVMContextImpl.cpp

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

14 years agoTweak svn:ignore more
Daniel Dunbar [Sun, 2 Aug 2009 19:53:40 +0000 (19:53 +0000)]
Tweak svn:ignore more

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

14 years agoTweak svn:ignore
Daniel Dunbar [Sun, 2 Aug 2009 19:53:19 +0000 (19:53 +0000)]
Tweak svn:ignore

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

14 years agoAdjust comment to distinguish between target name and triple target name they
Daniel Dunbar [Sun, 2 Aug 2009 19:41:20 +0000 (19:41 +0000)]
Adjust comment to distinguish between target name and triple target name they
match.

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

14 years agoFix no newline at end of LLVMContextImpl.cpp
Edward O'Callaghan [Sun, 2 Aug 2009 19:38:12 +0000 (19:38 +0000)]
Fix no newline at end of LLVMContextImpl.cpp

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

14 years agoNever add a kill flag to a constrained physical register in a two-addr instruction.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 19:13:03 +0000 (19:13 +0000)]
Never add a kill flag to a constrained physical register in a two-addr instruction.

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

14 years agoScavenger asserts.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:28:41 +0000 (18:28 +0000)]
Scavenger asserts.

Allow imp-def and imp-use of anything in the scavenger asserts, just like the machine code verifier.
Allow redefinition of a sub-register of a live register.

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

14 years agoAdd some basic blackfin intrinsics.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:28:11 +0000 (18:28 +0000)]
Add some basic blackfin intrinsics.

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

14 years agoAdd support for CPU features (i.e., bugs) and workarounds.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:27:36 +0000 (18:27 +0000)]
Add support for CPU features (i.e., bugs) and workarounds.

This is just the framework to identify the needed workarounds. They are not actually implemented.

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

14 years agoInline assembly support for Blackfin.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 17:39:17 +0000 (17:39 +0000)]
Inline assembly support for Blackfin.

We use the same constraints as GCC, including those that are slightly insane for inline assembler.

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

14 years agoBuild Blackfin target with autoconf and cmake.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 17:32:37 +0000 (17:32 +0000)]
Build Blackfin target with autoconf and cmake.

Note that configure was edited by hand. Will somebody with the correct version of autoconf please regenerate?

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

14 years agoAnalog Devices Blackfin back-end.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 17:32:10 +0000 (17:32 +0000)]
Analog Devices Blackfin back-end.

Generate code for the Blackfin family of DSPs from Analog Devices:

  http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html

We aim to be compatible with the exsisting GNU toolchain found at:

  http://blackfin.uclinux.org/gf/project/toolchain

The back-end is experimental.

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

14 years agoAvoid forming a SELECT_CC in a type that the target doesn't
Dan Gohman [Sun, 2 Aug 2009 16:19:38 +0000 (16:19 +0000)]
Avoid forming a SELECT_CC in a type that the target doesn't
support. This isn't immediately interesting, because Legalize
ends up lowering SELECT_CC if the target doesn't support it,
but this simplifies the process.

Also, if the SELECT_CC would be expanded in Legalize, it
can potentially end up with two copies of the condition
expression. By leaving it as SELECT+SETCC, the SELECT can be
expanded into two SELECTs that use a single SETCC.

The two comparisons are usually CSE'd, but depending on
when various expressions get legalized, the comparison
expression could involve calls to library functions, such
that the comparison expression may not be able to be CSE'd.
This will be needed by a future patch.

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

14 years agoFix indentation.
Dan Gohman [Sun, 2 Aug 2009 16:10:52 +0000 (16:10 +0000)]
Fix indentation.

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

14 years agoAdd a comment.
Dan Gohman [Sun, 2 Aug 2009 16:10:01 +0000 (16:10 +0000)]
Add a comment.

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

14 years agoResync lea32addr and lea64addr.
Dan Gohman [Sun, 2 Aug 2009 16:09:17 +0000 (16:09 +0000)]
Resync lea32addr and lea64addr.

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

14 years agoRemove duplicated colons and spaces.
Benjamin Kramer [Sun, 2 Aug 2009 12:13:02 +0000 (12:13 +0000)]
Remove duplicated colons and spaces.

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

14 years agoHandle <undef> flag in machine code verifier.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 07:38:21 +0000 (07:38 +0000)]
Handle <undef> flag in machine code verifier.

Use of an <undef> register is treated like an <imp-use>. It is not an error to use a dead <undef> register.

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

14 years agomove dwarf debug info section selection stuff from TAI to
Chris Lattner [Sun, 2 Aug 2009 07:24:22 +0000 (07:24 +0000)]
move dwarf debug info section selection stuff from TAI to
TLOF, unifying all the dwarf targets at the same time.

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

14 years agoconvert EHFrameSection to be managed by TLOF instead of TAI.
Chris Lattner [Sun, 2 Aug 2009 06:52:36 +0000 (06:52 +0000)]
convert EHFrameSection to be managed by TLOF instead of TAI.

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

14 years agoI need Triple information, 10.6 shouldn't set this, it bloats
Chris Lattner [Sun, 2 Aug 2009 06:51:58 +0000 (06:51 +0000)]
I need Triple information, 10.6 shouldn't set this, it bloats
object files.

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

14 years agoARM TAI no longer needs a TM, but createTargetAsmInfo() still does.
Chris Lattner [Sun, 2 Aug 2009 05:23:52 +0000 (05:23 +0000)]
ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.

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

14 years agoMove the getInlineAsmLength virtual method from TAI to TII, where
Chris Lattner [Sun, 2 Aug 2009 05:20:37 +0000 (05:20 +0000)]
Move the getInlineAsmLength virtual method from TAI to TII, where
the only real caller (GetFunctionSizeInBytes) uses it.

The custom ARM implementation of this is basically reimplementing
an assembler poorly for negligible gain.  It should be removed
IMNSHO, but I'll leave that to ARMish folks to decide.

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

14 years agomove a virtual method body to its .cpp file to avoid a #include
Chris Lattner [Sun, 2 Aug 2009 04:58:19 +0000 (04:58 +0000)]
move a virtual method body to its .cpp file to avoid a #include
in a header.

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

14 years agoturn some templated inline functions into static functions.
Chris Lattner [Sun, 2 Aug 2009 04:52:00 +0000 (04:52 +0000)]
turn some templated inline functions into static functions.

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

14 years agoalpha TAI doesn't need TM.
Chris Lattner [Sun, 2 Aug 2009 04:46:05 +0000 (04:46 +0000)]
alpha TAI doesn't need TM.

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

14 years agoMSP430 TAI doesn't need TM.
Chris Lattner [Sun, 2 Aug 2009 04:45:22 +0000 (04:45 +0000)]
MSP430 TAI doesn't need TM.

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

14 years agosimplify SPULinuxTargetAsmInfo, remove use of TM.
Chris Lattner [Sun, 2 Aug 2009 04:44:33 +0000 (04:44 +0000)]
simplify SPULinuxTargetAsmInfo, remove use of TM.

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

14 years agoxcore TAI doesn't need TM.
Chris Lattner [Sun, 2 Aug 2009 04:42:09 +0000 (04:42 +0000)]
xcore TAI doesn't need TM.

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

14 years agoPIC16 TAI doesn't need TM
Chris Lattner [Sun, 2 Aug 2009 04:41:14 +0000 (04:41 +0000)]
PIC16 TAI doesn't need TM

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

14 years agoremove the dead ELFTargetAsmInfo.h/cpp file. TargetAsmInfo
Chris Lattner [Sun, 2 Aug 2009 04:33:09 +0000 (04:33 +0000)]
remove the dead ELFTargetAsmInfo.h/cpp file.  TargetAsmInfo
defaults to being ELF.

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

14 years agoeliminate the TM argument to the TAI class, remove comment about supporting
Chris Lattner [Sun, 2 Aug 2009 04:32:07 +0000 (04:32 +0000)]
eliminate the TM argument to the TAI class, remove comment about supporting
solaris :)

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

14 years agoeliminate TargetMAchine argument to sparc TAI
Chris Lattner [Sun, 2 Aug 2009 04:30:59 +0000 (04:30 +0000)]
eliminate TargetMAchine argument to sparc TAI

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

14 years agoremove TargetAsmInfo::TM, which is now dead. The basic TAI class now
Chris Lattner [Sun, 2 Aug 2009 04:27:24 +0000 (04:27 +0000)]
remove TargetAsmInfo::TM, which is now dead.  The basic TAI class now
no longer depends on TM!

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

14 years agoremove the x86/ppc impls of getEHGlobalPrefix, which is already dead.
Chris Lattner [Sun, 2 Aug 2009 04:13:22 +0000 (04:13 +0000)]
remove the x86/ppc impls of getEHGlobalPrefix, which is already dead.

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

14 years agoAdd missing flush().
Daniel Dunbar [Sun, 2 Aug 2009 04:12:28 +0000 (04:12 +0000)]
Add missing flush().

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

14 years agoclean up #includes of TargetAsmInfo.cpp
Chris Lattner [Sun, 2 Aug 2009 04:09:22 +0000 (04:09 +0000)]
clean up #includes of TargetAsmInfo.cpp

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

14 years agomove an enum from TM -> TargetOptions. This makes TargetOptions.h
Chris Lattner [Sun, 2 Aug 2009 04:08:52 +0000 (04:08 +0000)]
move an enum from TM -> TargetOptions.  This makes TargetOptions.h
be self contained, and it isn't used from TM.h

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

14 years agoremove the dead PreferredEHDataFormat TAI hook: its now dead
Chris Lattner [Sun, 2 Aug 2009 04:02:52 +0000 (04:02 +0000)]
remove the dead PreferredEHDataFormat TAI hook: its now dead
even considering #if 0 code.

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

14 years agoFix some fixme's in #if 0'd code by making it dependent on the structural
Chris Lattner [Sun, 2 Aug 2009 03:59:56 +0000 (03:59 +0000)]
Fix some fixme's in #if 0'd code by making it dependent on the structural
behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.

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

14 years agoTest both darwin and linux.
Evan Cheng [Sun, 2 Aug 2009 02:54:34 +0000 (02:54 +0000)]
Test both darwin and linux.

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

14 years agomove getDwarfExceptionSection from TAI to TLOF and rename it to
Chris Lattner [Sun, 2 Aug 2009 01:34:32 +0000 (01:34 +0000)]
move getDwarfExceptionSection from TAI to TLOF and rename it to
getLSDASection() to be more specific.  This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode.  We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.

Someone who cares about ELF C++ should investigate this.

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

14 years agoFix a possible crash on delete of an uninitialized variable.
Daniel Dunbar [Sun, 2 Aug 2009 01:25:15 +0000 (01:25 +0000)]
Fix a possible crash on delete of an uninitialized variable.

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

14 years agoFix an ENABLE_EXPENSIVE_CHECKS error.
Daniel Dunbar [Sun, 2 Aug 2009 01:21:22 +0000 (01:21 +0000)]
Fix an ENABLE_EXPENSIVE_CHECKS error.

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

14 years agoDon't call SectionForGlobal for hasAvailableExternallyLinkage()
Dan Gohman [Sun, 2 Aug 2009 01:18:44 +0000 (01:18 +0000)]
Don't call SectionForGlobal for hasAvailableExternallyLinkage()
variables either.

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

14 years agodon't call SectionForGlobal on declarations, you can't tell the section a
Chris Lattner [Sun, 2 Aug 2009 01:02:43 +0000 (01:02 +0000)]
don't call SectionForGlobal on declarations, you can't tell the section a
declaration will end up in.

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

14 years agoconvert ctors/dtors section to be in TLOF instead of
Chris Lattner [Sun, 2 Aug 2009 00:34:36 +0000 (00:34 +0000)]
convert ctors/dtors section to be in TLOF instead of
TAI.

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

14 years agoswitch to filecheck format
Chris Lattner [Sun, 2 Aug 2009 00:32:26 +0000 (00:32 +0000)]
switch to filecheck format

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

14 years agoTweak svn:ignore
Daniel Dunbar [Sun, 2 Aug 2009 00:28:15 +0000 (00:28 +0000)]
Tweak svn:ignore

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

14 years agoTweak svn:ignore
Daniel Dunbar [Sun, 2 Aug 2009 00:26:53 +0000 (00:26 +0000)]
Tweak svn:ignore

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

14 years agodon't override the default of this, the only difference is \t instead of ' '.
Chris Lattner [Sun, 2 Aug 2009 00:12:20 +0000 (00:12 +0000)]
don't override the default of this, the only difference is \t instead of ' '.

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

14 years agoChange MCOperand to use Create style instead of Make style for constructing
Daniel Dunbar [Sun, 2 Aug 2009 00:09:22 +0000 (00:09 +0000)]
Change MCOperand to use Create style instead of Make style for constructing
operands.

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

14 years agomake SectionKind::Kind completely private now.
Chris Lattner [Sun, 2 Aug 2009 00:04:12 +0000 (00:04 +0000)]
make SectionKind::Kind completely private now.

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

14 years agoMake SectionKind::get() private.
Chris Lattner [Sun, 2 Aug 2009 00:02:44 +0000 (00:02 +0000)]
Make SectionKind::get() private.

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

14 years ago(re)introduce new simpler apis for creation sectionkinds.
Chris Lattner [Sat, 1 Aug 2009 23:57:16 +0000 (23:57 +0000)]
(re)introduce new simpler apis for creation sectionkinds.

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

14 years agoRemove "JumpTableDataSection" from TAI, instead, have AsmPrinter
Chris Lattner [Sat, 1 Aug 2009 23:46:12 +0000 (23:46 +0000)]
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
compute it based on what it knows.  As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.

The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations.  If this is a
problem, let me know and we'll come up with another solution.

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

14 years agogive alpha its readonly section. This optimizes alpha, and prevents a
Chris Lattner [Sat, 1 Aug 2009 23:44:04 +0000 (23:44 +0000)]
give alpha its readonly section.  This optimizes alpha, and prevents a
testsuite regression with a coming patch.

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

14 years ago.rdata == .rodata on mips.
Chris Lattner [Sat, 1 Aug 2009 23:07:29 +0000 (23:07 +0000)]
.rdata == .rodata on mips.

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

14 years agono need to override the default with the default.
Chris Lattner [Sat, 1 Aug 2009 23:05:25 +0000 (23:05 +0000)]
no need to override the default with the default.

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

14 years agoone fewer license, yay. :)
Chris Lattner [Sat, 1 Aug 2009 22:54:39 +0000 (22:54 +0000)]
one fewer license, yay. :)

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

14 years agoeXtensible Systems doesn't exist any more and Reid donated this to the
Chris Lattner [Sat, 1 Aug 2009 22:54:17 +0000 (22:54 +0000)]
eXtensible Systems doesn't exist any more and Reid donated this to the
project under the normal license, yay. :)

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

14 years agoloweringinfo is always non-null.
Chris Lattner [Sat, 1 Aug 2009 22:48:40 +0000 (22:48 +0000)]
loweringinfo is always non-null.

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

14 years agoREmove dead fields of TAI.
Chris Lattner [Sat, 1 Aug 2009 22:40:22 +0000 (22:40 +0000)]
REmove dead fields of TAI.

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

14 years agofix a problem Eli noticed where we would compile the attached ptrtoint
Chris Lattner [Sat, 1 Aug 2009 22:25:12 +0000 (22:25 +0000)]
fix a problem Eli noticed where we would compile the attached ptrtoint
to:

.quad X

even on a 32-bit system, where X is not 64-bits.  There isn't much that
we can do here, so we just print:

.quad ((X) & 4294967295)

instead.

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

14 years agoupdate for rename
Chris Lattner [Sat, 1 Aug 2009 22:06:53 +0000 (22:06 +0000)]
update for rename

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

14 years agofix a fixme by sinking various target-specific directives down into
Chris Lattner [Sat, 1 Aug 2009 21:56:13 +0000 (21:56 +0000)]
fix a fixme by sinking various target-specific directives down into
the appropriate subclasses.

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

14 years agocoff also doesn't have a ReadOnlySection yet, (!)
Chris Lattner [Sat, 1 Aug 2009 21:49:24 +0000 (21:49 +0000)]
coff also doesn't have a ReadOnlySection yet, (!)

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

14 years agocoff doesn't set a .bss seciton, so this is dead.
Chris Lattner [Sat, 1 Aug 2009 21:48:25 +0000 (21:48 +0000)]
coff doesn't set a .bss seciton, so this is dead.

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

14 years agoit turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/
Chris Lattner [Sat, 1 Aug 2009 21:46:23 +0000 (21:46 +0000)]
it turns out that isWeak() was basically dead anyway.  Kill off SectionInfo :-/

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

14 years agodon't use isWeak anymore.
Chris Lattner [Sat, 1 Aug 2009 21:42:58 +0000 (21:42 +0000)]
don't use isWeak anymore.

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

14 years agofix a layering violation by moving SectionKind out to its own header.
Chris Lattner [Sat, 1 Aug 2009 21:30:49 +0000 (21:30 +0000)]
fix a layering violation by moving SectionKind out to its own header.

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

14 years agoMinor whitespace tidiness.
Dan Gohman [Sat, 1 Aug 2009 21:25:46 +0000 (21:25 +0000)]
Minor whitespace tidiness.

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

14 years agoFix typos in comments.
Dan Gohman [Sat, 1 Aug 2009 21:25:00 +0000 (21:25 +0000)]
Fix typos in comments.

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

14 years agowith the previous refactoring, fixme fixed!
Chris Lattner [Sat, 1 Aug 2009 21:21:43 +0000 (21:21 +0000)]
with the previous refactoring, fixme fixed!

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

14 years agoupdate for API change.
Chris Lattner [Sat, 1 Aug 2009 21:14:30 +0000 (21:14 +0000)]
update for API change.

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

14 years agoChange SectionKind to be a property that is true of a *section*, it
Chris Lattner [Sat, 1 Aug 2009 21:11:14 +0000 (21:11 +0000)]
Change SectionKind to be a property that is true of a *section*, it
should have no state that is specific to particular globals in the
section.  In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits.  MCSection uses the new form of SectionKind.

To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.

The ExplicitSection disappears.  It is moved onto MCSection as a new
"IsDirective" bit.  Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection.  Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.

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

14 years agoadd a note about the build bots
Chris Lattner [Sat, 1 Aug 2009 19:25:25 +0000 (19:25 +0000)]
add a note about the build bots

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

14 years agoMinor code cleanups.
Dan Gohman [Sat, 1 Aug 2009 19:14:37 +0000 (19:14 +0000)]
Minor code cleanups.

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

14 years agoPrint the target flags as an int instead of a char, as they aren't
Dan Gohman [Sat, 1 Aug 2009 19:13:38 +0000 (19:13 +0000)]
Print the target flags as an int instead of a char, as they aren't
actually characters.

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

14 years agoUse the default copy ctor and copy-assignment operators.
Dan Gohman [Sat, 1 Aug 2009 19:11:31 +0000 (19:11 +0000)]
Use the default copy ctor and copy-assignment operators.

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

14 years agoAdd nounwind to this test.
Dan Gohman [Sat, 1 Aug 2009 19:11:04 +0000 (19:11 +0000)]
Add nounwind to this test.

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

14 years agoAdd newline at end of file to remove gcc warning.
Nick Lewycky [Sat, 1 Aug 2009 19:09:44 +0000 (19:09 +0000)]
Add newline at end of file to remove gcc warning.

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

14 years agoRemove now empty unit test directory.
Benjamin Kramer [Sat, 1 Aug 2009 19:07:29 +0000 (19:07 +0000)]
Remove now empty unit test directory.

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

14 years agodaniel says it's fine to nuke this.
Chris Lattner [Sat, 1 Aug 2009 18:38:21 +0000 (18:38 +0000)]
daniel says it's fine to nuke this.

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

14 years agoupdate for new api
Chris Lattner [Sat, 1 Aug 2009 18:35:49 +0000 (18:35 +0000)]
update for new api

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

14 years agoAll MCSections are now required to have a SectionKind.
Chris Lattner [Sat, 1 Aug 2009 18:25:49 +0000 (18:25 +0000)]
All MCSections are now required to have a SectionKind.

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