summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Revert 90858 90875 and 90805 for now.Devang Patel2009-12-082-153/+173
| | | | llvm-svn: 90898
* Cleanup.Devang Patel2009-12-082-167/+82
| | | | | | There is no need to supply ModuleCU to addType() as a parameter. llvm-svn: 90858
* Do not try to push dead variable's debug info into namespace info.Devang Patel2009-12-081-3/+5
| | | | llvm-svn: 90857
* Watch out for duplicated PHI instructions.Evan Cheng2009-12-071-3/+37
| | | | llvm-svn: 90816
* Follow up to 90488. Turn a check into an assertion.Evan Cheng2009-12-071-2/+2
| | | | llvm-svn: 90815
* Add support to emit debug info for c++ style namespaces.Devang Patel2009-12-072-8/+71
| | | | llvm-svn: 90805
* Delete code accidentally left behind.Evan Cheng2009-12-071-10/+0
| | | | llvm-svn: 90804
* Pre-regalloc tale duplication. Work in progress.Evan Cheng2009-12-072-91/+231
| | | | llvm-svn: 90759
* If BB is empty, insert PHI before end() instead of front().Evan Cheng2009-12-071-3/+6
| | | | llvm-svn: 90744
* Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics ↵Anton Korobeynikov2009-12-072-1/+13
| | | | | | from i32 to platform's largest native type llvm-svn: 90741
* Remove old DBG_LABEL code.Dan Gohman2009-12-051-8/+0
| | | | llvm-svn: 90669
* Remove the unused DisableLegalizeTypes option and related code.Dan Gohman2009-12-052-52/+47
| | | | llvm-svn: 90668
* Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.Bill Wendling2009-12-052-95/+51
| | | | llvm-svn: 90653
* Don't print a space before the : between the file name and line number.Dan Gohman2009-12-051-2/+2
| | | | | | And separate the directory and file name with a '/'. llvm-svn: 90641
* Print newlines after printing labels for debug info, so that the outputDan Gohman2009-12-052-0/+2
| | | | | | isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3" llvm-svn: 90638
* Don't blindly set the debug location for PHI node copies.Dan Gohman2009-12-051-3/+3
| | | | llvm-svn: 90637
* Make TargetSelectInstruction protected and called from FastISel.cppDan Gohman2009-12-052-7/+9
| | | | | | instead of SelectionDAGISel.cpp. llvm-svn: 90636
* Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor ofDan Gohman2009-12-052-10/+1
| | | | | | | MachineBasicBlock::canFallThrough(), which is target-independent and more thorough. llvm-svn: 90634
* Simplify this code: don't call AnalyzeBranch before doing simpler checks.Dan Gohman2009-12-051-13/+13
| | | | llvm-svn: 90633
* The debug information for an LLVM Instruction applies to that InstructionDan Gohman2009-12-051-33/+57
| | | | | | | and that Instruction only. Implement this by setting the "current debug position" back to Unknown after processing each instruction. llvm-svn: 90632
* Fix this code to use DIScope instead of DICompileUnit, as in r90181.Dan Gohman2009-12-051-8/+9
| | | | | | | Don't print "SrcLine"; just print the filename and line number, which is obvious enough and more informative. llvm-svn: 90631
* Don't print the debug directory; it's often long and uninteresting. OmitDan Gohman2009-12-051-2/+7
| | | | | | | the column number if it is not known. Handle the case of a missing filename better. llvm-svn: 90630
* Print a space between the comment character and the text.Dan Gohman2009-12-041-4/+6
| | | | llvm-svn: 90621
* In TAG_subrange_type, uppder bound is zero indexed. Devang Patel2009-12-041-2/+1
| | | | llvm-svn: 90617
* Use new interfaces to print spill size.David Greene2009-12-041-6/+9
| | | | llvm-svn: 90611
* Handle recursive PHI's.Evan Cheng2009-12-041-18/+18
| | | | llvm-svn: 90575
* Add a pre-regalloc tail duplication pass.Evan Cheng2009-12-042-99/+226
| | | | llvm-svn: 90567
* Don't try to be cute with undef optimization here. Let ProcessImplicitDefs ↵Evan Cheng2009-12-041-27/+17
| | | | | | handle it. llvm-svn: 90566
* Add note about a subtle bug in this code. Does not effect the mainDuncan Sands2009-12-041-0/+6
| | | | | | architectures that LLVM targets, because they don't use this code. llvm-svn: 90564
* Also attempt trivial coalescing for live intervals that end in a copy.Jakob Stoklund Olesen2009-12-042-51/+95
| | | | | | | | | | | | | The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch takes care of a few more cases that r90163 missed. llvm-svn: 90502
* - If the reaching definition is an undef and the use is a PHI, add the ↵Evan Cheng2009-12-041-11/+15
| | | | | | | | implicit_def to the end of the source block. - When reaching value is replaced with another, update the cache as well. llvm-svn: 90501
* Insert composite type DIE into the map before processing type fields. This ↵Devang Patel2009-12-031-1/+1
| | | | | | allows fields to find their context DIE from the map. llvm-svn: 90498
* Handle undef values properly.Evan Cheng2009-12-031-15/+38
| | | | llvm-svn: 90489
* Watch out for PHI instruction with no source operands.Evan Cheng2009-12-031-0/+2
| | | | llvm-svn: 90488
* Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.Duncan Sands2009-12-031-37/+38
| | | | | | | | | | | | Pointed out by Javier Martinez (who also provided a patch). Since this logic is not used on (for example) x86, I guess nobody noticed. Tested by generating SHL, SRL, SRA on various choices of i64 for all possible shift amounts, and comparing with gcc. Since I did this on x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit. What I'm saying here is that I don't have a testcase I can add to the repository. llvm-svn: 90482
* Clean up some loop logic.Jakob Stoklund Olesen2009-12-031-14/+6
| | | | llvm-svn: 90481
* Add support to emit debug info for virtual functions and virtual base classes.Devang Patel2009-12-032-3/+33
| | | | llvm-svn: 90474
* Teach tail duplication to update SSA form. Work in progress.Evan Cheng2009-12-031-3/+134
| | | | llvm-svn: 90432
* Don't pull vector sext through both hands of a logical operation, since ↵Nate Begeman2009-12-031-2/+8
| | | | | | | | | doing so prevents the fusion of vector sext and setcc into vsetcc. Add a testcase for the above transformation. Fix a bogus use of APInt noticed while tracking this down. llvm-svn: 90423
* Don't call getValueType() on a null SDValueJakob Stoklund Olesen2009-12-031-1/+2
| | | | llvm-svn: 90415
* Fill out codegen SSA updater. It's not yet tested.Evan Cheng2009-12-032-8/+243
| | | | llvm-svn: 90395
* Don't hang on to pointers or references after vector::push_back.Jakob Stoklund Olesen2009-12-031-6/+3
| | | | | | | The MO reference to a MachineOperand can be invalidated by MachineInstr::addOperand. Don't even use it for debugging. llvm-svn: 90381
* Emit method definition DIE at module level (even for methods with inlined ↵Devang Patel2009-12-032-28/+90
| | | | | | functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite. llvm-svn: 90375
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-0320-64/+70
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* Fix CMake makefilesDouglas Gregor2009-12-021-0/+1
| | | | llvm-svn: 90354
* Skeleton for MachineInstr level SSA updater.Evan Cheng2009-12-021-0/+108
| | | | llvm-svn: 90353
* Add MaxStackAlignment.cpp to CMakeJim Grosbach2009-12-021-0/+1
| | | | llvm-svn: 90337
* Factor the stack alignment calculations out into a target independent pass.Jim Grosbach2009-12-021-0/+70
| | | | | | No functionality change. llvm-svn: 90336
* Don't count PHI instructions toward the limit for tail duplicating a block.Bob Wilson2009-12-021-4/+6
| | | | llvm-svn: 90326
* Clarify that DIEString does not keep a copy of the string.Devang Patel2009-12-022-3/+3
| | | | llvm-svn: 90318
OpenPOWER on IntegriCloud