summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* CMake: Builds all targets.Oscar Fuentes2008-09-2613-42/+226
| | | | llvm-svn: 56641
* Disable support for x86_f80 in X86FastISel. Supporting it wouldDan Gohman2008-09-261-9/+6
| | | | | | require more work. llvm-svn: 56637
* If we have a function with an unreachable statement such that the ending debugBill Wendling2008-09-263-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | information is in an unreachable block, then it's possible that the high/low pc values won't be set for the dwarf information. E.g., this function: void abort(void) __attribute__((__noreturn__)); void dead_beef(void) __attribute__ ((noreturn)); int *b; void dead_beef(void) { *b=0xdeadbeef; abort(); } has a call to "@llvm.dbg.region.end" only in the unreachable block: define void @dead_beef() noreturn nounwind { entry: call void @llvm.dbg.func.start(...) call void @llvm.dbg.stoppoint(...) ... call void @abort( ) noreturn nounwind unreachable return: ; No predecessors! call void @llvm.dbg.stoppoint(...) call void @llvm.dbg.region.end(...) ret void } The dwarf information emitted is something like: 0x00000084: TAG_subprogram [5] AT_name( "dead_beef" ) AT_external( 0x01 ) AT_prototyped( 0x01 ) AT_decl_file( 0x01 ) AT_decl_line( 0x08 ) Note that this is *not* the best fix for this problem, but a band-aid for an gaping wound. This code needs to be changed when we revamp our debugging information. llvm-svn: 56628
* Prefer movlhps over punpcklqdq, etc. in more cases.Evan Cheng2008-09-251-5/+5
| | | | llvm-svn: 56627
* Fix a bug in which address displacements were being added to theDan Gohman2008-09-251-1/+9
| | | | | | load from the stub, instead of the result of the load from the stub. llvm-svn: 56626
* Large mechanical patch.Devang Patel2008-09-257-72/+72
| | | | | | | | | | | | | | | s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
* Reapply 56585:56589 with proper fix for some gcc versionsAnton Korobeynikov2008-09-259-183/+221
| | | | llvm-svn: 56621
* With sse3 and when the source is a load or has multiple uses, favors movddup ↵Evan Cheng2008-09-253-17/+97
| | | | | | over shuffp*, pshufd, etc. Without sse3 or when the source is from a register, make use of movlhps llvm-svn: 56620
* Accept 'inreg' attribute on x86 functions asDale Johannesen2008-09-251-4/+8
| | | | | | | | meaning sse_regparm (i.e. float/double values go in XMM0 instead of ST0). Update documentation to reflect reality. llvm-svn: 56619
* PIC support in X86FastISel.Dan Gohman2008-09-251-10/+57
| | | | llvm-svn: 56608
* Temporarily backing out 56585:56589 to unbreak the build.Evan Cheng2008-09-259-210/+183
| | | | llvm-svn: 56607
* pmovsxbq etc. requires sse4.1.Evan Cheng2008-09-251-6/+6
| | | | llvm-svn: 56600
* Fix patterns for SSE4.1 move and sign extend instructions. Also add ↵Evan Cheng2008-09-242-6/+86
| | | | | | instructions which fold VZEXT_MOVL and VZEXT_LOAD. llvm-svn: 56594
* X86ISD::VZEXT_LOAD should produce and fold a chain.Evan Cheng2008-09-241-10/+14
| | | | llvm-svn: 56593
* Minor cleanupAnton Korobeynikov2008-09-244-0/+10
| | | | llvm-svn: 56588
* Get rid of virtual inheritance for ARM TAIAnton Korobeynikov2008-09-243-33/+40
| | | | llvm-svn: 56587
* Get rid of virtual inheritance for PPC TAIAnton Korobeynikov2008-09-242-24/+23
| | | | llvm-svn: 56586
* Use crazy template-based inheritance instead of virtual one.Anton Korobeynikov2008-09-244-127/+138
| | | | llvm-svn: 56585
* Get rid of ReadOnlySection duplicateAnton Korobeynikov2008-09-247-23/+15
| | | | llvm-svn: 56582
* Use named sections, where they should beAnton Korobeynikov2008-09-241-7/+5
| | | | llvm-svn: 56581
* Get rid of now unused {Four,Eight,Sixteen}ByteConstantSectionAnton Korobeynikov2008-09-247-35/+11
| | | | llvm-svn: 56580
* CleanupAnton Korobeynikov2008-09-242-2/+2
| | | | llvm-svn: 56578
* Get rid of duplicate char*/Section* stuff for TLS sectionsAnton Korobeynikov2008-09-243-11/+7
| | | | llvm-svn: 56577
* Cleanup, no functionality changeAnton Korobeynikov2008-09-242-4/+4
| | | | llvm-svn: 56576
* Get rid of duplicate char*/Section* DataSectionAnton Korobeynikov2008-09-246-11/+9
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-245-10/+8
| | | | llvm-svn: 56574
* Move actual section printing stuff to AsmPrinter from TAI reducing heap traffic.Anton Korobeynikov2008-09-249-33/+18
| | | | llvm-svn: 56573
* Drop obsolete hook and change all usage to new interfaceAnton Korobeynikov2008-09-2411-85/+7
| | | | llvm-svn: 56572
* SPU section handling is really huge mess. Replace remaining TAI calls for ↵Anton Korobeynikov2008-09-241-2/+2
| | | | | | sections with explicit names in order not to block existing backends during section handling migration. SPU folks! Please consider using new section handling facility someday. llvm-svn: 56570
* Remove dead code for PIC16 (preparation to switch to new section handling stuff)Anton Korobeynikov2008-09-241-11/+1
| | | | llvm-svn: 56569
* XMM6-XMM15 are callee-saved on Win64. Patch by Nicolas Capens!Anton Korobeynikov2008-09-241-6/+14
| | | | llvm-svn: 56568
* s/ParamAttrsWithIndex/FnAttributeWithIndex/gDevang Patel2008-09-241-2/+2
| | | | llvm-svn: 56535
* Put FN_NOTE_AlwaysInline and others in FnAttr namespace.Devang Patel2008-09-242-2/+2
| | | | llvm-svn: 56527
* Properly handle 'm' inline asm constraints. If a GV is being selected for ↵Evan Cheng2008-09-247-18/+36
| | | | | | the addressing mode, it requires the same logic for PIC relative addressing, etc. llvm-svn: 56526
* Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.Devang Patel2008-09-232-2/+2
| | | | | | Do not check isDeclaration() in hasNote(). It is clients' responsibility. llvm-svn: 56524
* s/ParameterAttributes/Attributes/gDevang Patel2008-09-233-3/+1
| | | | llvm-svn: 56513
* Use parameter attribute store (soon to be renamed) forDevang Patel2008-09-232-2/+2
| | | | | | Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511
* Arrange for FastISel code to have access to the MachineModuleInfoDan Gohman2008-09-233-3/+8
| | | | | | object. This will be needed to support debug info. llvm-svn: 56508
* Fix these enums' starting values to reflect the way thatDan Gohman2008-09-239-9/+9
| | | | | | instruction opcodes are now numbered. No functionality change. llvm-svn: 56497
* Delete an unused function.Dan Gohman2008-09-231-10/+0
| | | | llvm-svn: 56495
* Move the code for initializing the global base reg out ofDan Gohman2008-09-233-29/+43
| | | | | | | X86ISelDAGToDAG.cpp and into X86InstrInfo.cpp. This will allow it to be reused by FastISel. llvm-svn: 56494
* Fix indendation.Matthijs Kooijman2008-09-231-4/+4
| | | | llvm-svn: 56486
* Support x86 specific inline asm modifier 'J'.Evan Cheng2008-09-221-0/+8
| | | | llvm-svn: 56483
* Add hasNote() to check note associated with a function.Devang Patel2008-09-222-2/+2
| | | | llvm-svn: 56477
* Instead of setPreservesAll, just mark them preseving machine loop info and ↵Evan Cheng2008-09-221-1/+2
| | | | | | machine dominators. llvm-svn: 56475
* Make log, log2, log10, exp, exp2 use Expand byDale Johannesen2008-09-227-71/+0
| | | | | | default. llvm-svn: 56471
* Mark several codegen passes as preserving all analysis.Evan Cheng2008-09-221-0/+5
| | | | llvm-svn: 56469
* CMake build system: support for parallel builds.Oscar Fuentes2008-09-222-1/+6
| | | | llvm-svn: 56453
* Change the calling convention used when tail call optimization is enabled ↵Arnold Schwaighofer2008-09-223-22/+2
| | | | | | from CC_X86_32_TailCall to CC_X86_32_FastCC. llvm-svn: 56436
* Initial support for the CMake build system.Oscar Fuentes2008-09-223-0/+80
| | | | llvm-svn: 56419
OpenPOWER on IntegriCloud