Bill Wendling
0225a1dcb1
More DebugLoc propagation in floating-point methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 23:15:49 +00:00
Dale Johannesen
7d2ad624fa
Make LowerCallTo and LowerArguments take a DebugLoc
...
argument. Adjust all callers and overloaded versions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63444 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 23:10:59 +00:00
Bill Wendling
d34470c4f7
Standardize comments about folding xforms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63443 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 23:10:18 +00:00
Bill Wendling
7581bfa275
Get rid of the non-DebugLoc-ified getNOT() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 23:03:19 +00:00
Bill Wendling
a03e74bf67
Propagate debug loc info for some FP arithmetic methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63441 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:57:07 +00:00
Bill Wendling
b0162f58c4
Propagate debug loc info for some FP arithmetic methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:53:48 +00:00
Bill Wendling
67a6768375
Propagate debug loc info for BIT_CONVERT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63439 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:44:24 +00:00
Bill Wendling
8509c90a20
Propagate debug loc info for more *_EXTEND methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:33:24 +00:00
Bill Wendling
683c95764a
Propagate debug loc info for ANY_EXTEND.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:27:33 +00:00
Bill Wendling
6ce610f04b
Propagate debug loc info for some of the *_EXTEND functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63434 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:23:15 +00:00
Bill Wendling
41b9d278ad
DebugLoc form of getNOT().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:11:22 +00:00
Bill Wendling
34584e6aed
- Propagate debug loc info for SELECT.
...
- Added xform for (select X, 1, Y) and (select X, Y, 0), which was commented on,
but missing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63428 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:02:18 +00:00
Bill Wendling
8810337e36
Propagate debug loc info for Shifts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63424 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 21:37:17 +00:00
Bill Wendling
317bd709bd
Propagate debug loc info for XOR and MatchRotate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 21:14:50 +00:00
Bill Wendling
0902564479
Propagate debug loc info for OR. Also clean up some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 20:59:34 +00:00
Bill Wendling
6af7618b23
Perform obvious constant arithmetic folding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63417 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 20:50:00 +00:00
Bill Wendling
2627a881e1
Propagate debug loc info for AND. Also clean up some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 20:43:18 +00:00
Bill Wendling
b74c8675b1
Propagate debug loc info in SimplifyBinOpWithSameOpcodeHands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63411 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 19:25:47 +00:00
Devang Patel
dd9db66882
Each input file is encoded as a separate compile unit in LLVM debugging
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 18:20:31 +00:00
Zhou Sheng
c0425b646f
As Duncan suggested, add braces for the one-line "else branch".
...
Thanks, Duncan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63389 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 09:44:49 +00:00
Zhou Sheng
904ebf9bf4
This is to fix the bug in IntrinsicLowering.cpp,
...
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 09:02:50 +00:00
Sanjiv Gupta
c8d7bc850d
Enable emitting of constant values in non-default address space as well. The 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.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 04:25:10 +00:00
Bill Wendling
826d11463b
Propagate debug loc info in SimplifyNodeWithTwoResults.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63376 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 03:08:40 +00:00
Bill Wendling
326411dc69
Propagate debug loc info for MULHS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 03:00:18 +00:00
Bill Wendling
6d3bf8c4c3
Propagate debug loc info for SREM and UREM.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63374 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:57:00 +00:00
Bill Wendling
07d8514049
Propagate debug loc info for UDIV.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63373 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:55:25 +00:00
Bill Wendling
944d34bfe8
Propagate debug loc info for SDIV.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:52:17 +00:00
Bill Wendling
73e16b2869
Forgot to propagate debug loc info here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63371 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:49:26 +00:00
Dan Gohman
3311a1f8f0
Fix a post-RA scheduling dependency bug.
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:49:14 +00:00
Bill Wendling
9c8148ac93
Propagate debug loc info for MUL.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63369 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:45:56 +00:00
Bill Wendling
b0702e0b7e
Propagate debug loc info in SUB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:42:10 +00:00
Bill Wendling
14036c00c0
Propagate debug loc info in ADDC and ADDE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:38:00 +00:00
Bill Wendling
f4eb2269eb
Propagate debug loc info in DAG combine's "ADD".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:31:17 +00:00
Bill Wendling
d69c3141ed
- Propagate debug loc info in combineSelectAndUse().
...
- Modify ReassociateOps so that the resulting SDValue is what the comment claims
it is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 02:23:43 +00:00
Dale Johannesen
fa42dea48b
Propagate debug info when building SelectionDAG.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63359 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:34:22 +00:00
Devang Patel
6360089d63
Remove dead code, again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:27:49 +00:00
Devang Patel
425b64ecef
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:25:47 +00:00
Devang Patel
d234e59e57
Add DW_AT_declaration for class methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:21:46 +00:00
Bill Wendling
5c71acfb06
Propagate debug location info for the token factor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:13:16 +00:00
Bill Wendling
35247c3513
Add DebugLoc propagation to some of the methods in DAG combiner.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 00:45:56 +00:00
Owen Anderson
3ef4549d9d
Correct the algorithms for choosing spill and restore points so that we 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 22:13:06 +00:00
Dan Gohman
15b3830bcd
Explicitly add PseudoSourceValue information when lowering
...
BUILD_VECTOR and conversions to stack operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63333 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 21:02:43 +00:00
Dan Gohman
1cc6b8ee78
Make a few things const, fix some comments, and simplify
...
some assertions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63328 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 19:49:27 +00:00
Evan Cheng
d5a4802708
Local register allocator shouldn't assume only the entry and landing pad basic blocks have live-ins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63323 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 18:37:30 +00:00
Dan Gohman
2c65c3dfe6
Fix two typos that Duncan spotted in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 16:18:12 +00:00
Dan Gohman
197e88f796
In the case of an extractelement on an insertelement value,
...
the element indices may be equal if either one is not a
constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63311 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 16:10:46 +00:00
Bill Wendling
56ab1a2815
Revert r63273. This was already implemented by Dale. There's no need for my
...
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63301 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 09:01:55 +00:00
Owen Anderson
c0f3a0353c
Fix an issue where restores could be inserted after a terminator instruction,
...
and an iterator invalidation issue.
FreeBench/pifft no longer miscompiles with these fixes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63293 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 08:22:06 +00:00
Owen Anderson
4bfc209721
Comments are good. :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 05:41:02 +00:00
Owen Anderson
45e6855ea2
Add support for aggressive load-use-store folding. This takes care of the
...
vast majority of code size regressions introduced by pre-alloc-splitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63274 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 05:28:55 +00:00