Jakob Stoklund Olesen
5c6e03f669
Inline assembly support for Blackfin.
...
We use the same constraints as GCC, including those that are slightly insane for inline assembler.
llvm-svn: 77899
2009-08-02 17:39:17 +00:00
Jakob Stoklund Olesen
21c2ffc12d
Build Blackfin target with autoconf and cmake.
...
Note that configure was edited by hand. Will somebody with the correct version of autoconf please regenerate?
llvm-svn: 77898
2009-08-02 17:32:37 +00:00
Jakob Stoklund Olesen
e7eb74ef39
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.
llvm-svn: 77897
2009-08-02 17:32:10 +00:00
Dan Gohman
a203a80c24
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.
llvm-svn: 77896
2009-08-02 16:19:38 +00:00
Dan Gohman
481da8a541
Fix indentation.
...
llvm-svn: 77895
2009-08-02 16:10:52 +00:00
Dan Gohman
751baf25e9
Add a comment.
...
llvm-svn: 77894
2009-08-02 16:10:01 +00:00
Dan Gohman
d36cbd0574
Resync lea32addr and lea64addr.
...
llvm-svn: 77893
2009-08-02 16:09:17 +00:00
Benjamin Kramer
c2015778ee
Remove duplicated colons and spaces.
...
llvm-svn: 77892
2009-08-02 12:13:02 +00:00
Jakob Stoklund Olesen
8a9d6812a5
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.
llvm-svn: 77890
2009-08-02 07:38:21 +00:00
Chris Lattner
738a9ba448
move dwarf debug info section selection stuff from TAI to
...
TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889
2009-08-02 07:24:22 +00:00
Chris Lattner
6f4a366e35
convert EHFrameSection to be managed by TLOF instead of TAI.
...
llvm-svn: 77888
2009-08-02 06:52:36 +00:00
Chris Lattner
21eb874b6c
I need Triple information, 10.6 shouldn't set this, it bloats
...
object files.
llvm-svn: 77887
2009-08-02 06:51:58 +00:00
Chris Lattner
bbe55a038a
ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.
...
llvm-svn: 77878
2009-08-02 05:23:52 +00:00
Chris Lattner
c388490738
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.
llvm-svn: 77877
2009-08-02 05:20:37 +00:00
Chris Lattner
7228c69cb7
move a virtual method body to its .cpp file to avoid a #include
...
in a header.
llvm-svn: 77874
2009-08-02 04:58:19 +00:00
Chris Lattner
5ee7fa1d02
turn some templated inline functions into static functions.
...
llvm-svn: 77873
2009-08-02 04:52:00 +00:00
Chris Lattner
91f3b3141a
alpha TAI doesn't need TM.
...
llvm-svn: 77872
2009-08-02 04:46:05 +00:00
Chris Lattner
a871d5d718
MSP430 TAI doesn't need TM.
...
llvm-svn: 77871
2009-08-02 04:45:22 +00:00
Chris Lattner
41507baf91
simplify SPULinuxTargetAsmInfo, remove use of TM.
...
llvm-svn: 77869
2009-08-02 04:44:33 +00:00
Chris Lattner
00be9d038e
xcore TAI doesn't need TM.
...
llvm-svn: 77868
2009-08-02 04:42:09 +00:00
Chris Lattner
347434dfea
PIC16 TAI doesn't need TM
...
llvm-svn: 77867
2009-08-02 04:41:14 +00:00
Chris Lattner
f13912f657
remove the dead ELFTargetAsmInfo.h/cpp file. TargetAsmInfo
...
defaults to being ELF.
llvm-svn: 77866
2009-08-02 04:33:09 +00:00
Chris Lattner
c2297e1bc1
eliminate the TM argument to the TAI class, remove comment about supporting
...
solaris :)
llvm-svn: 77865
2009-08-02 04:32:07 +00:00
Chris Lattner
65a4fca21d
eliminate TargetMAchine argument to sparc TAI
...
llvm-svn: 77864
2009-08-02 04:30:59 +00:00
Chris Lattner
b5ceb50677
remove TargetAsmInfo::TM, which is now dead. The basic TAI class now
...
no longer depends on TM!
llvm-svn: 77863
2009-08-02 04:27:24 +00:00
Chris Lattner
e0c440fd9f
remove the x86/ppc impls of getEHGlobalPrefix, which is already dead.
...
llvm-svn: 77861
2009-08-02 04:13:22 +00:00
Daniel Dunbar
0dfedac203
Add missing flush().
...
llvm-svn: 77859
2009-08-02 04:12:28 +00:00
Chris Lattner
fc452eb48b
clean up #includes of TargetAsmInfo.cpp
...
llvm-svn: 77858
2009-08-02 04:09:22 +00:00
Chris Lattner
c897539adf
move an enum from TM -> TargetOptions. This makes TargetOptions.h
...
be self contained, and it isn't used from TM.h
llvm-svn: 77857
2009-08-02 04:08:52 +00:00
Chris Lattner
d2477587b9
remove the dead PreferredEHDataFormat TAI hook: its now dead
...
even considering #if 0 code.
llvm-svn: 77856
2009-08-02 04:02:52 +00:00
Chris Lattner
adebb48d1a
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.
llvm-svn: 77855
2009-08-02 03:59:56 +00:00
Evan Cheng
3c2d9a0698
Test both darwin and linux.
...
llvm-svn: 77852
2009-08-02 02:54:34 +00:00
Chris Lattner
1c44a63eba
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.
llvm-svn: 77847
2009-08-02 01:34:32 +00:00
Daniel Dunbar
59c4432b7f
Fix a possible crash on delete of an uninitialized variable.
...
llvm-svn: 77846
2009-08-02 01:25:15 +00:00
Daniel Dunbar
29c0894945
Fix an ENABLE_EXPENSIVE_CHECKS error.
...
llvm-svn: 77845
2009-08-02 01:21:22 +00:00
Dan Gohman
15699ece5b
Don't call SectionForGlobal for hasAvailableExternallyLinkage()
...
variables either.
llvm-svn: 77844
2009-08-02 01:18:44 +00:00
Chris Lattner
18e3729e50
don't call SectionForGlobal on declarations, you can't tell the section a
...
declaration will end up in.
llvm-svn: 77843
2009-08-02 01:02:43 +00:00
Chris Lattner
06d8ca1f56
convert ctors/dtors section to be in TLOF instead of
...
TAI.
llvm-svn: 77842
2009-08-02 00:34:36 +00:00
Chris Lattner
1e3d2247ba
switch to filecheck format
...
llvm-svn: 77841
2009-08-02 00:32:26 +00:00
Chris Lattner
e5e68589da
don't override the default of this, the only difference is \t instead of ' '.
...
llvm-svn: 77838
2009-08-02 00:12:20 +00:00
Daniel Dunbar
8a0b05b396
Change MCOperand to use Create style instead of Make style for constructing
...
operands.
llvm-svn: 77837
2009-08-02 00:09:22 +00:00
Chris Lattner
8cb3189438
make SectionKind::Kind completely private now.
...
llvm-svn: 77836
2009-08-02 00:04:12 +00:00
Chris Lattner
506b49ffa0
Make SectionKind::get() private.
...
llvm-svn: 77835
2009-08-02 00:02:44 +00:00
Chris Lattner
05334af883
(re)introduce new simpler apis for creation sectionkinds.
...
llvm-svn: 77834
2009-08-01 23:57:16 +00:00
Chris Lattner
81229d1bed
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.
llvm-svn: 77833
2009-08-01 23:46:12 +00:00
Chris Lattner
8120a93944
give alpha its readonly section. This optimizes alpha, and prevents a
...
testsuite regression with a coming patch.
llvm-svn: 77832
2009-08-01 23:44:04 +00:00
Chris Lattner
e3d23ea562
.rdata == .rodata on mips.
...
llvm-svn: 77827
2009-08-01 23:07:29 +00:00
Chris Lattner
52229980ff
no need to override the default with the default.
...
llvm-svn: 77826
2009-08-01 23:05:25 +00:00
Chris Lattner
42c655db2f
one fewer license, yay. :)
...
llvm-svn: 77824
2009-08-01 22:54:39 +00:00
Chris Lattner
190b319c4c
eXtensible Systems doesn't exist any more and Reid donated this to the
...
project under the normal license, yay. :)
llvm-svn: 77823
2009-08-01 22:54:17 +00:00