aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused member functions.Eli Friedman2009-07-2416-474/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76960 91177308-0d34-0410-b5e6-96231b3b80d8
* hoist section name uniquing logic up to the top-level SectionForGlobalChris Lattner2009-07-243-28/+26
| | | | | | | implementation, eliminating a dupe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76953 91177308-0d34-0410-b5e6-96231b3b80d8
* reduce indentationChris Lattner2009-07-241-35/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76951 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify code by making special case more obviousChris Lattner2009-07-241-9/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76950 91177308-0d34-0410-b5e6-96231b3b80d8
* the 'isWeakForLinker' code is common between functions and globals, hoist itChris Lattner2009-07-241-55/+44
| | | | | | | and simplify some other code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76949 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace UniqueSectionForGlobal with getSectionPrefixForUniqueGlobal.Chris Lattner2009-07-245-60/+39
| | | | | | | | | The later doesn't depend on any crazy LLVM IR stuff, and this pulls the concatenation of prefix with GV name (the root problem behind PR4584) out one level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76948 91177308-0d34-0410-b5e6-96231b3b80d8
* fix indentation.Chris Lattner2009-07-241-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76945 91177308-0d34-0410-b5e6-96231b3b80d8
* use section flags more correctly.Chris Lattner2009-07-243-7/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76944 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a mysterious and scary failure on test/CodeGen/X86/cstring.ll Chris Lattner2009-07-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76942 91177308-0d34-0410-b5e6-96231b3b80d8
* reduce api exposure: clients shouldn't call SectionKindForGlobal directly.Chris Lattner2009-07-244-31/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76941 91177308-0d34-0410-b5e6-96231b3b80d8
* make Constant::getRelocationInfo return an enum, as suggested by Duncan.Chris Lattner2009-07-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76938 91177308-0d34-0410-b5e6-96231b3b80d8
* remove more bits of small section support.Chris Lattner2009-07-242-12/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76937 91177308-0d34-0410-b5e6-96231b3b80d8
* remove more remnants of small section support.Chris Lattner2009-07-244-53/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76936 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove SectionKind::Small*. This was only used on mips, and is apparentlyChris Lattner2009-07-244-72/+2
| | | | | | | a sad mistake that is regretted. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76935 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb2 should use the register scavenger.Evan Cheng2009-07-241-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76930 91177308-0d34-0410-b5e6-96231b3b80d8
* FLDD, FLDS, FCPYD, FCPYS, FSTD, FSTS, VMOVD, VMOVQ maps to the same ↵Evan Cheng2009-07-246-67/+29
| | | | | | instructions on all sub-targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76925 91177308-0d34-0410-b5e6-96231b3b80d8
* Update insertps handling based on feedback. Move to a v4f32 styleEric Christopher2009-07-242-18/+15
| | | | | | | | to support vector arguments and scalar arguments correctly. Update lowering and fix comment to refer to pinsr* instead of insertps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76921 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the IA-64 backend.Dan Gohman2009-07-2431-4373/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76920 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle the Thumb-2 imm8 addrmode. Specialize frame index ↵David Goodwin2009-07-2416-211/+370
| | | | | | elimination more exactly for Thumb-2 to get better code gen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76919 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a 2+-byte NOP instruction to the Intel tables,Sean Callanan2009-07-231-1/+4
| | | | | | | for the assembler/disassembler to use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76914 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb2 does not allow the use of "pc" register as part of the load / store ↵Evan Cheng2009-07-231-15/+0
| | | | | | address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76909 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r75581: it causes massive breakage in the AdaDuncan Sands2009-07-231-0/+23
| | | | | | | | | | | | | | | | | testsuite, due to exception handling not working correctly. Maybe because the libgcc unwinder is miscompiled - not sure, and I won't have time to look into it before leaving on holiday. Note that miscompilations of libgcc are not picked up by the nightly testers, because they dynamically link with libgcc, so pick up the system version rather than the version built as part of llvm-gcc. This is a nasty flaw in the nightly testers. (On the other hand the Ada testsuite links with the just built libgcc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76895 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix up ARM constant island pass for Thumb2.Evan Cheng2009-07-231-125/+129
| | | | | | | Also fixed up code to fully use the SoImm field for ADR on ARM mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76890 91177308-0d34-0410-b5e6-96231b3b80d8
* Since we have moved unified assembly, switch to ADR instruction instead of a ↵Evan Cheng2009-07-232-28/+8
| | | | | | | | | the difficult-to-read .set + add syntax to materialize pc-relative address. Turns out this also fixed a poor code selection on Thumb1. I have no idea why we were using a mov + add to do the same thing as ADR before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76889 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix frame index elimination to correctly handle thumb-2 addressing modes ↵David Goodwin2009-07-2310-18/+124
| | | | | | that don't allow negative offsets. During frame elimination convert *i12 opcode to a *i8 when necessary due to a negative offset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76883 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-07-231-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76872 91177308-0d34-0410-b5e6-96231b3b80d8
* Support insertps via the intrinsic and add a couple of simpleEric Christopher2009-07-231-2/+14
| | | | | | | testcases to make sure it's being generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76843 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not call getMangledName on Intrinsics.Sanjiv Gupta2009-07-231-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76842 91177308-0d34-0410-b5e6-96231b3b80d8
* remove SectionFlags::Small: it is only used on Xcore, and we'll findChris Lattner2009-07-225-29/+7
| | | | | | | a better solution for it in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76818 91177308-0d34-0410-b5e6-96231b3b80d8
* x86 isel tweak: use lea (%reg,%reg) instead of lea (,%reg,2).Dan Gohman2009-07-221-10/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76817 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in addrmode definition.David Goodwin2009-07-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76806 91177308-0d34-0410-b5e6-96231b3b80d8
* Use getTargetConstant instead of getConstant since it's meant as an constant ↵Evan Cheng2009-07-224-22/+25
| | | | | | operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76803 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch some clients to Value::getName(), and other getName() userDaniel Dunbar2009-07-222-14/+14
| | | | | | | | simplification. - NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76789 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify some uses of Value::getName()Daniel Dunbar2009-07-222-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76786 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation.Daniel Dunbar2009-07-221-18/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76778 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate a redudant check Eli pointed out.Evan Cheng2009-07-221-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76762 91177308-0d34-0410-b5e6-96231b3b80d8
* doxygenifyChris Lattner2009-07-221-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76750 91177308-0d34-0410-b5e6-96231b3b80d8
* Thread local globals don't require special handling by the linker and so canRichard Osborne2009-07-221-0/+7
| | | | | | | be placed in the standard data / bss sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76735 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert commit 76707, it was breaking the llvm-gcc buildDuncan Sands2009-07-221-2/+1
| | | | | | | | | on linux platforms. The binutils assembler does not recognize the "s" flag, see for example http://sourceware.org/binutils/docs/as/Section.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76733 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't forget D16 - D31 are clobbered by calls and sjlj eh.Evan Cheng2009-07-223-10/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76729 91177308-0d34-0410-b5e6-96231b3b80d8
* Add R12 to the list of registers clobbered by 16-bit Thumb calls as a ↵Evan Cheng2009-07-221-2/+2
| | | | | | 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
* Fix a obvious copy-n-paste bug.Evan Cheng2009-07-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76727 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid one of the getRegisterNumbering. Also add D16 - D31.Evan Cheng2009-07-223-69/+78
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76725 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for MMX VSETCC.Eli Friedman2009-07-222-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76713 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the unconditional JMP with an 8-bit relocation for theSean Callanan2009-07-221-1/+3
| | | | | | | assembler / disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76712 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an entry.Evan Cheng2009-07-221-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76711 91177308-0d34-0410-b5e6-96231b3b80d8
* inline the two MergeableConstSection implementations into theirChris Lattner2009-07-222-25/+18
| | | | | | | | only caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76710 91177308-0d34-0410-b5e6-96231b3b80d8
* set the ELF "small" flag on objects that end up in .rodata.cst4 consistently,Chris Lattner2009-07-221-1/+2
| | | | | | | updating a mips testcase to expect it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76707 91177308-0d34-0410-b5e6-96231b3b80d8
* don't set the small flag yet.Chris Lattner2009-07-221-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76706 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the SelectSectionForMachineConst hook, replacing it withChris Lattner2009-07-223-41/+58
| | | | | | | | | 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