summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Propagate debug loc info in SimplifyBinOpWithSameOpcodeHands.Bill Wendling2009-01-301-8/+9
| | | | llvm-svn: 63411
* use precise gettersGabor Greif2009-01-301-5/+8
| | | | llvm-svn: 63403
* use precise gettersGabor Greif2009-01-301-2/+2
| | | | llvm-svn: 63402
* Each input file is encoded as a separate compile unit in LLVM debuggingDevang Patel2009-01-302-72/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed the comment. No functionality change.Sanjiv Gupta2009-01-301-1/+1
| | | | llvm-svn: 63387
* Add opposite_of and inverse_opt to support -fno- style options. ThisMike Stump2009-01-301-1/+21
| | | | | | is necessary for eventual gcc commmand line compatibility. llvm-svn: 63384
* Use sublw for comparison with literals instead of subwf.Sanjiv Gupta2009-01-301-9/+11
| | | | llvm-svn: 63382
* When PerformBuildVectorCombine, avoid creating a X86ISD::VZEXT_LOAD ofMon P Wang2009-01-301-1/+5
| | | | | | an illegal type. llvm-svn: 63380
* Enable emitting of constant values in non-default address space as well. The ↵Sanjiv Gupta2009-01-305-98/+97
| | | | | | APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. llvm-svn: 63377
* Propagate debug loc info in SimplifyNodeWithTwoResults.Bill Wendling2009-01-301-7/+8
| | | | llvm-svn: 63376
* Propagate debug loc info for MULHS.Bill Wendling2009-01-301-2/+2
| | | | llvm-svn: 63375
* Propagate debug loc info for SREM and UREM.Bill Wendling2009-01-301-10/+12
| | | | llvm-svn: 63374
* Propagate debug loc info for UDIV.Bill Wendling2009-01-301-6/+7
| | | | llvm-svn: 63373
* Propagate debug loc info for SDIV.Bill Wendling2009-01-301-12/+21
| | | | llvm-svn: 63372
* Forgot to propagate debug loc info here.Bill Wendling2009-01-301-2/+4
| | | | llvm-svn: 63371
* Fix a post-RA scheduling dependency bug.Dan Gohman2009-01-302-12/+91
| | | | | | | | | | | | | | | If a MachineInstr doesn't have a memoperand but has an opcode that is known to load or store, assume its memory reference may alias *anything*, including stack slots which the compiler completely controls. To partially compensate for this, teach the ScheduleDAG building code to do basic getUnderlyingValue analysis. This greatly reduces the number of instructions that require restrictive dependencies. This code will need to be revisited when we start doing real alias analysis, but it should suffice for now. llvm-svn: 63370
* Propagate debug loc info for MUL.Bill Wendling2009-01-301-16/+21
| | | | llvm-svn: 63369
* Propagate debug loc info in SUB.Bill Wendling2009-01-301-7/+8
| | | | llvm-svn: 63368
* Propagate debug loc info in ADDC and ADDE.Bill Wendling2009-01-301-11/+13
| | | | llvm-svn: 63367
* Propagate debug loc info in DAG combine's "ADD".Bill Wendling2009-01-301-20/+18
| | | | llvm-svn: 63366
* - Propagate debug loc info in combineSelectAndUse().Bill Wendling2009-01-301-16/+23
| | | | | | | - Modify ReassociateOps so that the resulting SDValue is what the comment claims it is. llvm-svn: 63365
* Propagate debug info when building SelectionDAG.Dale Johannesen2009-01-301-399/+519
| | | | llvm-svn: 63359
* Remove dead code, again.Devang Patel2009-01-301-14/+0
| | | | llvm-svn: 63358
* Remove dead code.Devang Patel2009-01-301-10/+0
| | | | llvm-svn: 63357
* Add DW_AT_declaration for class methods.Devang Patel2009-01-301-2/+5
| | | | llvm-svn: 63356
* Propagate debug location info for the token factor.Bill Wendling2009-01-301-5/+5
| | | | llvm-svn: 63355
* Add dump() routines to help debug debug info :)Devang Patel2009-01-301-0/+101
| | | | llvm-svn: 63353
* Add DebugLoc propagation to some of the methods in DAG combiner.Bill Wendling2009-01-301-27/+34
| | | | llvm-svn: 63350
* Correct the algorithms for choosing spill and restore points so that we ↵Owen Anderson2009-01-291-2/+23
| | | | | | | | don't try to insert loads/stores between call frame setup and the actual call. This fixes the last known failure for the pre-alloc-splitter. llvm-svn: 63339
* Explicitly add PseudoSourceValue information when loweringDan Gohman2009-01-291-10/+11
| | | | | | BUILD_VECTOR and conversions to stack operations. llvm-svn: 63333
* Make a few things const, fix some comments, and simplifyDan Gohman2009-01-291-16/+8
| | | | | | some assertions. llvm-svn: 63328
* Fix windows build, patch by Marius Wachtler!Chris Lattner2009-01-291-2/+2
| | | | llvm-svn: 63325
* Local register allocator shouldn't assume only the entry and landing pad ↵Evan Cheng2009-01-291-16/+13
| | | | | | basic blocks have live-ins. llvm-svn: 63323
* Fix two typos that Duncan spotted in a comment.Dan Gohman2009-01-291-1/+1
| | | | llvm-svn: 63312
* In the case of an extractelement on an insertelement value,Dan Gohman2009-01-291-1/+5
| | | | | | | the element indices may be equal if either one is not a constant. llvm-svn: 63311
* Revert r63273. This was already implemented by Dale. There's no need for myBill Wendling2009-01-291-72/+101
| | | | | | change. llvm-svn: 63301
* Fix an issue where restores could be inserted after a terminator instruction,Owen Anderson2009-01-291-4/+12
| | | | | | | | and an iterator invalidation issue. FreeBench/pifft no longer miscompiles with these fixes! llvm-svn: 63293
* Comments are good. :-)Owen Anderson2009-01-291-3/+30
| | | | llvm-svn: 63276
* Add support for aggressive load-use-store folding. This takes care of the Owen Anderson2009-01-291-19/+85
| | | | | | vast majority of code size regressions introduced by pre-alloc-splitting. llvm-svn: 63274
* - Add DebugLoc to getTargetNode(). Bill Wendling2009-01-291-101/+72
| | | | | | | | | - Modify TableGen to add the DebugLoc when calling getTargetNode. (The light-weight wrappers are only temporary. The non-DebugLoc version will be removed once the whole debug info stuff is finished with.) llvm-svn: 63273
* Fix PR3424, a static constructor ordering issue. Patch by Robert Schuster!Chris Lattner2009-01-291-4/+7
| | | | llvm-svn: 63269
* Exit with nice warnings when register allocator run out of registers.Evan Cheng2009-01-293-41/+88
| | | | llvm-svn: 63267
* Make x86's BT instruction matching more thorough, and add someDan Gohman2009-01-293-36/+127
| | | | | | | | | dagcombines that help it match in several more cases. Add several more cases to test/CodeGen/X86/bt.ll. This doesn't yet include matching for BT with an immediate operand, it just covers more register+register cases. llvm-svn: 63266
* A slight compile time optimization. If the caller knows there isn't a free ↵Evan Cheng2009-01-291-6/+6
| | | | | | register getReg() should not call getFreeReg(). llvm-svn: 63263
* Add DebugLoc-sensitive versions of many node creationDale Johannesen2009-01-291-0/+458
| | | | | | functions. Currently omitted: memcpy, memmove, memset. llvm-svn: 63259
* Fix comment about removeRange.Evan Cheng2009-01-291-1/+1
| | | | llvm-svn: 63255
* Fixed lowering of v816 shuffles.Mon P Wang2009-01-281-1/+1
| | | | llvm-svn: 63252
* Add DebugLoc to the getNode() methods.Bill Wendling2009-01-281-41/+134
| | | | llvm-svn: 63245
OpenPOWER on IntegriCloud