summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Last DebugLoc propagation for this file.Dale Johannesen2009-02-021-180/+204
| | | | llvm-svn: 63574
* More DebugLoc propagation. This should be everythingDale Johannesen2009-02-021-100/+112
| | | | | | except LegalizeOp itself. llvm-svn: 63560
* MergeValueInto is too smart: it might choose to do the merge the opposite ↵Owen Anderson2009-02-022-3/+21
| | | | | | | | | direction. Live interval reconstruction needs to account for this, and scour its maps to prevent dangling references. llvm-svn: 63558
* DebugLoc propagation. ExpandOp and PromoteOp,Dale Johannesen2009-02-021-307/+330
| | | | | | among others. llvm-svn: 63555
* Commit missing files.Dale Johannesen2009-02-021-0/+14
| | | | llvm-svn: 63545
* More DebugLoc propagation.Dale Johannesen2009-02-021-109/+127
| | | | llvm-svn: 63543
* Remove trailing spaces.Duncan Sands2009-02-023-15/+15
| | | | llvm-svn: 63540
* DebugLoc propagation for int<->fp conversions.Dale Johannesen2009-02-021-74/+89
| | | | llvm-svn: 63537
* Refactor PerformPHIConstruction, no functionality changes.Evan Cheng2009-02-021-125/+165
| | | | llvm-svn: 63536
* Do not add redundant arguments in a method definition DIE.Devang Patel2009-02-021-11/+18
| | | | llvm-svn: 63527
* Duncan's patch. Further to 64382. Takes care of illegal types for shift amount.Sanjiv Gupta2009-02-022-0/+28
| | | | llvm-svn: 63523
* Preserve more SourceValue information.Mon P Wang2009-02-022-8/+18
| | | | llvm-svn: 63498
* Fix PR3453 and probably a bunch of other potentialDuncan Sands2009-02-013-22/+22
| | | | | | | | | crashes or wrong code with codegen of large integers: eliminate the legacy getIntegerVTBitMask and getIntegerVTSignBit methods, which returned their value as a uint64_t, so couldn't handle huge types. llvm-svn: 63494
* Forgot some more DebugLoc propagations.Bill Wendling2009-02-011-17/+22
| | | | llvm-svn: 63493
* Fix test failures causes by my previous commit.Owen Anderson2009-02-011-0/+1
| | | | llvm-svn: 63492
* Fix an issue in PHI construction that was exposed by GCC 4.2 producing a ↵Owen Anderson2009-02-011-40/+27
| | | | | | different set iteration order for the reg_iterator. llvm-svn: 63490
* DebugLoc propagation.Dale Johannesen2009-01-312-179/+233
| | | | llvm-svn: 63488
* DebugLoc propagation. Done with file.Dale Johannesen2009-01-311-45/+61
| | | | llvm-svn: 63486
* DebugLoc propagation. Done with file.Dale Johannesen2009-01-311-15/+23
| | | | llvm-svn: 63485
* Fix PR3401: when using large integers, the typeDuncan Sands2009-01-318-101/+100
| | | | | | | | | | | | | returned by getShiftAmountTy may be too small to hold shift values (it is an i8 on x86-32). Before and during type legalization, use a large but legal type for shift amounts: getPointerTy; afterwards use getShiftAmountTy, fixing up any shift amounts with a big type during operation legalization. Thanks to Dan for writing the original patch (which I shamelessly pillaged). llvm-svn: 63482
* If unsafe FP optimization is not set, don't allow -(A-B) => B-A becauseMon P Wang2009-01-311-1/+2
| | | | | | when A==B, -0.0 != +0.0. llvm-svn: 63474
* Don't use DebugLoc::getUnknownLoc(). Default to something hopefully sensible.Bill Wendling2009-01-311-58/+55
| | | | llvm-svn: 63473
* Move CurDebugLoc into SelectionDAGLowering.Dale Johannesen2009-01-312-222/+233
| | | | llvm-svn: 63468
* Propagate debug info in LegalizeFloatTypes.Dale Johannesen2009-01-312-62/+74
| | | | | | Complete (modulo bugs). llvm-svn: 63458
* Propagate debug info. This file completeDale Johannesen2009-01-311-201/+255
| | | | | | (modulo bugs) llvm-svn: 63457
* Propagate debug info through MakeLibCall and aDale Johannesen2009-01-314-64/+81
| | | | | | couple of things that use it. llvm-svn: 63456
* More DebugLoc propagation.Bill Wendling2009-01-301-87/+120
| | | | llvm-svn: 63454
* More DebugLoc propagation.Bill Wendling2009-01-301-43/+62
| | | | llvm-svn: 63452
* More DebugLoc propagation in LOAD etc. methods.Bill Wendling2009-01-301-26/+42
| | | | llvm-svn: 63451
* More DebugLoc propagation in floating-point methods.Bill Wendling2009-01-301-27/+40
| | | | llvm-svn: 63446
* Make LowerCallTo and LowerArguments take a DebugLocDale Johannesen2009-01-304-15/+24
| | | | | | argument. Adjust all callers and overloaded versions. llvm-svn: 63444
* Standardize comments about folding xforms.Bill Wendling2009-01-301-10/+10
| | | | llvm-svn: 63443
* Get rid of the non-DebugLoc-ified getNOT() method.Bill Wendling2009-01-304-27/+14
| | | | llvm-svn: 63442
* Propagate debug loc info for some FP arithmetic methods.Bill Wendling2009-01-301-13/+13
| | | | llvm-svn: 63441
* Propagate debug loc info for some FP arithmetic methods.Bill Wendling2009-01-301-22/+30
| | | | llvm-svn: 63440
* Propagate debug loc info for BIT_CONVERT.Bill Wendling2009-01-301-29/+46
| | | | llvm-svn: 63439
* Propagate debug loc info for more *_EXTEND methods.Bill Wendling2009-01-301-15/+24
| | | | llvm-svn: 63437
* Propagate debug loc info for ANY_EXTEND.Bill Wendling2009-01-301-12/+16
| | | | llvm-svn: 63436
* Propagate debug loc info for some of the *_EXTEND functions.Bill Wendling2009-01-302-33/+63
| | | | llvm-svn: 63434
* DebugLoc form of getNOT().Bill Wendling2009-01-301-0/+17
| | | | llvm-svn: 63433
* - Propagate debug loc info for SELECT.Bill Wendling2009-01-301-25/+32
| | | | | | | - Added xform for (select X, 1, Y) and (select X, Y, 0), which was commented on, but missing. llvm-svn: 63428
* Propagate debug loc info for Shifts.Bill Wendling2009-01-301-60/+68
| | | | llvm-svn: 63424
* Propagate debug loc info for XOR and MatchRotate.Bill Wendling2009-01-301-32/+38
| | | | llvm-svn: 63420
* Propagate debug loc info for OR. Also clean up some comments.Bill Wendling2009-01-301-21/+24
| | | | llvm-svn: 63419
* Perform obvious constant arithmetic folding.Bill Wendling2009-01-301-6/+8
| | | | llvm-svn: 63417
* Propagate debug loc info for AND. Also clean up some comments.Bill Wendling2009-01-301-21/+31
| | | | llvm-svn: 63416
* Propagate debug loc info in SimplifyBinOpWithSameOpcodeHands.Bill Wendling2009-01-301-8/+9
| | | | llvm-svn: 63411
* Each input file is encoded as a separate compile unit in LLVM debuggingDevang Patel2009-01-301-34/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | information output. However, many target specific tool chains prefer to encode only one compile unit in an object file. In this situation, the LLVM code generator will include debugging information entities in the compile unit that is marked as main compile unit. The code generator accepts maximum one main compile unit per module. If a module does not contain any main compile unit then the code generator will emit multiple compile units in the output object file. [Part 1] Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit to mark the unit as "main" unit. By defaults all units are considered non-main. Update SourceLevelDebugging.html to document "main" compile unit. Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here. Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit. [Part 2] Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs. --- This is Part 1. llvm-svn: 63400
* As Duncan suggested, add braces for the one-line "else branch".Zhou Sheng2009-01-301-1/+2
| | | | | | Thanks, Duncan. llvm-svn: 63389
* This is to fix the bug in IntrinsicLowering.cpp,Zhou Sheng2009-01-301-1/+2
| | | | | | | | the LowerPartSet(). It didn't handle the situation correctly when the low, high argument values are in reverse order (low > high) with 'Val' type i32 (a corner case). llvm-svn: 63388
OpenPOWER on IntegriCloud