summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Generated files for previous patch.Dale Johannesen2008-09-263-1823/+1800
| | | | llvm-svn: 56679
* Another file I forgot.Dale Johannesen2008-09-261-1/+0
| | | | llvm-svn: 56678
* Add "inreg" field to CallSDNode (doesn't increaseDale Johannesen2008-09-2616-47/+37
| | | | | | | | | its size). Adjust various lowering functions to pass this info through from CallInst. Use it to implement sseregparm returns on X86. Remove X86_ssecall calling convention. llvm-svn: 56677
* Factor out the code for determining when symblic addressesDan Gohman2008-09-264-17/+50
| | | | | | | | | require RIP-relative addressing and use it to fix a bug in X86FastISel in x86-64 PIC mode, where it was trying to use base/index registers with RIP-relative addresses. This fixes a bunch of x86-64 testsuite failures. llvm-svn: 56676
* Avoid spilling EBP / RBP twice in the prologue.Evan Cheng2008-09-261-8/+18
| | | | llvm-svn: 56675
* We don't need to insert copies for implicit_def's.Owen Anderson2008-09-261-1/+5
| | | | llvm-svn: 56674
* X86 address displacement field must be interpreted as a 32-bit value.Evan Cheng2008-09-261-3/+4
| | | | llvm-svn: 56665
* 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-264-10/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make pointer parameter const for isUsedInBasicBlock.Bill Wendling2008-09-251-1/+1
| | | | llvm-svn: 56625
* Large mechanical patch.Devang Patel2008-09-2544-1007/+1007
| | | | | | | | | | | | | | | 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-252-6/+15
| | | | | | | | meaning sse_regparm (i.e. float/double values go in XMM0 instead of ST0). Update documentation to reflect reality. llvm-svn: 56619
* Avoid a spurious extra space character when printing empty structs.Dan Gohman2008-09-251-3/+4
| | | | llvm-svn: 56616
* Support for i1 XOR in FastISel. It is actually safe becauseDan Gohman2008-09-251-2/+3
| | | | | | i1 operands are assumed to already by zero-extended. llvm-svn: 56615
* Don't print fast-isel debug messages by default. Thanks Chris!Dan Gohman2008-09-251-3/+6
| | | | llvm-svn: 56614
* Don't forget the newline in debug output.Dan Gohman2008-09-251-1/+1
| | | | llvm-svn: 56613
* FastISel support for debug info.Dan Gohman2008-09-253-3/+117
| | | | llvm-svn: 56610
* bug 2812: Segmentation fault on a big emdiam processor.Richard Pennington2008-09-251-1/+1
| | | | llvm-svn: 56609
* 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
* Fix a recent fast-isel coverage regression - don't bail out beforeDan Gohman2008-09-251-3/+4
| | | | | | giving the target a chance to materialize constants. llvm-svn: 56605
* Enable DeadMachineInstructionElim when Fast-ISel is enabled.Dan Gohman2008-09-252-3/+13
| | | | llvm-svn: 56604
* Add debug output to this pass.Dan Gohman2008-09-251-0/+2
| | | | llvm-svn: 56602
* pmovsxbq etc. requires sse4.1.Evan Cheng2008-09-251-6/+6
| | | | llvm-svn: 56600
* Refactor the code that adds standard LLVM codegen passes intoDan Gohman2008-09-251-109/+44
| | | | | | | a separate function, eliminating duplication between the add-passes-for-file and add-passes-for-machine-code code. llvm-svn: 56599
* <rdar://problem/6234798> Assertion failed: ↵Evan Cheng2008-09-251-2/+5
| | | | | | (!OpInfo.AssignedRegs.Regs.empty() && "Couldn't allocate input reg!") llvm-svn: 56597
* Give LowerSubregs.cpp a top-level description.Dan Gohman2008-09-241-0/+7
| | | | llvm-svn: 56596
* 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
* Remove SelectionDag early allocation of registersDale Johannesen2008-09-243-41/+61
| | | | | | | for earlyclobbers. Teach Local RA about earlyclobber, and add some tests for it. llvm-svn: 56592
* 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
* Use helperAnton Korobeynikov2008-09-241-8/+2
| | | | llvm-svn: 56584
* SmallPtrSet will be betterAnton Korobeynikov2008-09-241-3/+2
| | | | llvm-svn: 56583
* 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
* Use generic section-handling stuff to emit constant pool entriesAnton Korobeynikov2008-09-241-45/+36
| | | | llvm-svn: 56579
* 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-248-16/+14
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-248-21/+21
| | | | llvm-svn: 56574
OpenPOWER on IntegriCloud