summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add extra SEXT pattern.Richard Osborne2009-08-021-0/+16
| | | | llvm-svn: 77920
* The x86 jit doesn't generate a def_cfa_offset unwind instruction after theBill Wendling2009-08-021-1/+1
| | | | | | | | | | | | | 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! llvm-svn: 77919
* Normalize Subtarget constructors to take a target triple string instead ofDaniel Dunbar2009-08-0237-98/+59
| | | | | | | | | | 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. llvm-svn: 77918
* Remove unneeded intrinsics from Blackfin backend.Jakob Stoklund Olesen2009-08-021-7/+1
| | | | | | | | | | __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. llvm-svn: 77917
* Fix the build for people with oprofile installed.Nick Lewycky2009-08-021-3/+4
| | | | llvm-svn: 77914
* Empty arguments need to be quoted on Win32.Daniel Dunbar2009-08-021-3/+9
| | | | llvm-svn: 77913
* Fix issue in regscavenger when scavenging a callee-saved register that has ↵Jakob Stoklund Olesen2009-08-021-1/+8
| | | | | | not been spilled. llvm-svn: 77912
* One two many newlines at end of file LLVMContextImpl.cppEdward O'Callaghan2009-08-021-1/+0
| | | | llvm-svn: 77911
* Fix no newline at end of LLVMContextImpl.cppEdward O'Callaghan2009-08-021-1/+2
| | | | llvm-svn: 77907
* Never add a kill flag to a constrained physical register in a two-addr ↵Jakob Stoklund Olesen2009-08-021-0/+3
| | | | | | instruction. llvm-svn: 77906
* Scavenger asserts.Jakob Stoklund Olesen2009-08-021-2/+11
| | | | | | | 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. llvm-svn: 77904
* Add some basic blackfin intrinsics.Jakob Stoklund Olesen2009-08-021-1/+42
| | | | llvm-svn: 77903
* Add support for CPU features (i.e., bugs) and workarounds.Jakob Stoklund Olesen2009-08-024-8/+250
| | | | | | This is just the framework to identify the needed workarounds. They are not actually implemented. llvm-svn: 77902
* Inline assembly support for Blackfin.Jakob Stoklund Olesen2009-08-023-12/+137
| | | | | | We use the same constraints as GCC, including those that are slightly insane for inline assembler. llvm-svn: 77899
* Analog Devices Blackfin back-end.Jakob Stoklund Olesen2009-08-0229-0/+3790
| | | | | | | | | | | | | | 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
* Avoid forming a SELECT_CC in a type that the target doesn'tDan Gohman2009-08-021-1/+2
| | | | | | | | | | | | | | | | | | | 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
* Fix indentation.Dan Gohman2009-08-021-301/+301
| | | | llvm-svn: 77895
* Add a comment.Dan Gohman2009-08-021-0/+1
| | | | llvm-svn: 77894
* Resync lea32addr and lea64addr.Dan Gohman2009-08-022-2/+3
| | | | llvm-svn: 77893
* Remove duplicated colons and spaces.Benjamin Kramer2009-08-021-15/+15
| | | | llvm-svn: 77892
* Handle <undef> flag in machine code verifier.Jakob Stoklund Olesen2009-08-021-1/+2
| | | | | | 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
* move dwarf debug info section selection stuff from TAI toChris Lattner2009-08-0210-116/+143
| | | | | | TLOF, unifying all the dwarf targets at the same time. llvm-svn: 77889
* convert EHFrameSection to be managed by TLOF instead of TAI.Chris Lattner2009-08-025-9/+8
| | | | llvm-svn: 77888
* I need Triple information, 10.6 shouldn't set this, it bloats Chris Lattner2009-08-021-1/+2
| | | | | | object files. llvm-svn: 77887
* ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.Chris Lattner2009-08-023-22/+11
| | | | llvm-svn: 77878
* Move the getInlineAsmLength virtual method from TAI to TII, whereChris Lattner2009-08-0212-213/+225
| | | | | | | | | | 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
* move a virtual method body to its .cpp file to avoid a #include Chris Lattner2009-08-021-2/+9
| | | | | | in a header. llvm-svn: 77874
* turn some templated inline functions into static functions.Chris Lattner2009-08-022-14/+11
| | | | llvm-svn: 77873
* alpha TAI doesn't need TM.Chris Lattner2009-08-023-8/+3
| | | | llvm-svn: 77872
* MSP430 TAI doesn't need TM.Chris Lattner2009-08-023-4/+3
| | | | llvm-svn: 77871
* simplify SPULinuxTargetAsmInfo, remove use of TM.Chris Lattner2009-08-023-44/+16
| | | | llvm-svn: 77869
* xcore TAI doesn't need TM.Chris Lattner2009-08-023-4/+3
| | | | llvm-svn: 77868
* PIC16 TAI doesn't need TMChris Lattner2009-08-023-12/+7
| | | | llvm-svn: 77867
* remove the dead ELFTargetAsmInfo.h/cpp file. TargetAsmInfoChris Lattner2009-08-026-22/+1
| | | | | | defaults to being ELF. llvm-svn: 77866
* eliminate the TM argument to the TAI class, remove comment about supportingChris Lattner2009-08-023-8/+4
| | | | | | solaris :) llvm-svn: 77865
* eliminate TargetMAchine argument to sparc TAIChris Lattner2009-08-023-7/+4
| | | | llvm-svn: 77864
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-0224-61/+33
| | | | | | no longer depends on TM! llvm-svn: 77863
* remove the x86/ppc impls of getEHGlobalPrefix, which is already dead.Chris Lattner2009-08-024-17/+0
| | | | llvm-svn: 77861
* Add missing flush().Daniel Dunbar2009-08-021-0/+3
| | | | llvm-svn: 77859
* clean up #includes of TargetAsmInfo.cppChris Lattner2009-08-021-11/+0
| | | | llvm-svn: 77858
* remove the dead PreferredEHDataFormat TAI hook: its now deadChris Lattner2009-08-023-84/+1
| | | | | | even considering #if 0 code. llvm-svn: 77856
* Fix some fixme's in #if 0'd code by making it dependent on the structuralChris Lattner2009-08-021-29/+34
| | | | | | | 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
* move getDwarfExceptionSection from TAI to TLOF and rename it to Chris Lattner2009-08-025-10/+15
| | | | | | | | | | | 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
* Fix a possible crash on delete of an uninitialized variable.Daniel Dunbar2009-08-022-1/+7
| | | | llvm-svn: 77846
* Don't call SectionForGlobal for hasAvailableExternallyLinkage()Dan Gohman2009-08-021-1/+1
| | | | | | variables either. llvm-svn: 77844
* don't call SectionForGlobal on declarations, you can't tell the section aChris Lattner2009-08-021-1/+3
| | | | | | declaration will end up in. llvm-svn: 77843
* convert ctors/dtors section to be in TLOF instead ofChris Lattner2009-08-028-25/+66
| | | | | | TAI. llvm-svn: 77842
* don't override the default of this, the only difference is \t instead of ' '.Chris Lattner2009-08-021-2/+0
| | | | llvm-svn: 77838
* Change MCOperand to use Create style instead of Make style for constructingDaniel Dunbar2009-08-022-10/+11
| | | | | | operands. llvm-svn: 77837
* Make SectionKind::get() private.Chris Lattner2009-08-024-22/+22
| | | | llvm-svn: 77835
OpenPOWER on IntegriCloud