summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use array_lengthof. No functional change.Eli Friedman2011-05-061-3/+1
| | | | llvm-svn: 131008
* Iterate backwards over debug locations when splitting them so they can be ↵Jakob Stoklund Olesen2011-05-061-1/+4
| | | | | | | | safely erased. This should unbreak dragonegg-i386-linux and build-self-4-mingw32. llvm-svn: 131007
* Typo: Reviewed by Alistair.Andrew Trick2011-05-061-1/+1
| | | | llvm-svn: 131001
* Update LiveDebugVariables after live range splitting.Jakob Stoklund Olesen2011-05-064-3/+165
| | | | | | | | | | | | After a virtual register is split, update any debug user variables that resided in the old register. This ensures that the LiveDebugVariables are still correct after register allocation. This may create DBG_VALUE instructions that place a user variable in a register in parts of the function and in a stack slot in other parts. DwarfDebug currently doesn't support that. llvm-svn: 130998
* Use TargetMachine hooks to properly print debug variable locations.Jakob Stoklund Olesen2011-05-061-6/+7
| | | | llvm-svn: 130997
* Also count identity copies.Jakob Stoklund Olesen2011-05-061-0/+2
| | | | llvm-svn: 130996
* Post-RA scheduler compile time fix. Quadratic computation of DAG node depth.Andrew Trick2011-05-061-4/+10
| | | | | | | | | | | The post-ra scheduler was explicitly updating the depth of a node's successors after scheduling it, regardless of whether the successor was ready. This is quadratic for DAGs with transitively redundant edges. I simply removed the useless update of depth, which is lazilly computed later. Fixes <rdar://problem/9044332> compiler takes way too long to build TextInput. llvm-svn: 130992
* Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from ↵Devang Patel2011-05-062-34/+35
| | | | | | DwarfDebug.cpp to DwarfCompileUnit.cpp llvm-svn: 130991
* Nothing else uses this label.Rafael Espindola2011-05-061-3/+0
| | | | llvm-svn: 130989
* Yet more dead code.Rafael Espindola2011-05-061-13/+0
| | | | llvm-svn: 130988
* Update comments.Rafael Espindola2011-05-061-2/+2
| | | | llvm-svn: 130987
* More dead code elimination.Rafael Espindola2011-05-061-71/+0
| | | | llvm-svn: 130985
* Dead code elimination.Rafael Espindola2011-05-066-116/+4
| | | | llvm-svn: 130984
* PTX: add PTX 2.3 language targetJustin Holewinski2011-05-063-1/+7
| | | | | | Patch by Wei-Ren Chen llvm-svn: 130980
* Fix PR9820: a read-only call differs from a load in that a load doesn'tDuncan Sands2011-05-061-6/+9
| | | | | | | return the pointer being dereferenced, it returns the pointee, but a call might return the pointer itself. llvm-svn: 130979
* Re-revert r130877; it's apparently causing a regression on 197.parser,Eli Friedman2011-05-061-50/+27
| | | | | | possibly related to cbnz formation. llvm-svn: 130977
* The computation of string length is not that complicated. Fix it, again. :)Nick Lewycky2011-05-051-1/+1
| | | | llvm-svn: 130967
* Remove DwarfTableException.Rafael Espindola2011-05-054-413/+1
| | | | llvm-svn: 130964
* Remove the DwarfTable enum.Rafael Espindola2011-05-052-4/+0
| | | | llvm-svn: 130959
* In debug output, clearly list new instructions without DebugLoc.Devang Patel2011-05-051-36/+2
| | | | llvm-svn: 130957
* Remove little used statistical counter.Devang Patel2011-05-051-29/+0
| | | | llvm-svn: 130955
* PR9838: Fix transform introduced in r127064 to not trigger when only one ↵Eli Friedman2011-05-052-2/+2
| | | | | | side of the icmp is an exact shift. llvm-svn: 130954
* Move PPC Linux to CFI.Rafael Espindola2011-05-051-1/+1
| | | | llvm-svn: 130951
* Implement a really simple DwarfSjLjException.Rafael Espindola2011-05-054-0/+68
| | | | llvm-svn: 130947
* List all exception types in a switch.Rafael Espindola2011-05-051-14/+15
| | | | llvm-svn: 130944
* ARM post RA scheduler compile time fix.Andrew Trick2011-05-051-0/+12
| | | | | | | | | | | | | | BuildSchedGraph was quadratic in the number of calls in the basic block. After this fix, it keeps only a single call at the top of the DefList so compile time doesn't blow up on large blocks. This reduces postRA sched time on an external test case from 81s to 0.3s. Although r130800 (reduced ARM register alias defs) also partially fixes the issue by reducing the constant overhead of checking call interference by an order of magnitude. Fixes <rdar://problem/7662664> very poor compile time with post RA scheduling. llvm-svn: 130943
* whitespaceAndrew Trick2011-05-051-16/+16
| | | | llvm-svn: 130942
* Don't produce a __debug_frame.Rafael Espindola2011-05-051-1/+1
| | | | | | | I tested both gdb on a bootstrapped clang and and the gdb testsuite on OS X (snow leopard) and both are happy using __eh_frame. llvm-svn: 130937
* Allow FastISel of three-register-operand instructions.Owen Anderson2011-05-051-0/+24
| | | | llvm-svn: 130934
* If debug info for inlined function is missing then handle it gracefully.Devang Patel2011-05-051-3/+5
| | | | llvm-svn: 130933
* PR9848: pandn is not commutative.Eli Friedman2011-05-051-1/+1
| | | | | | No test because I can't think of any way to write one that won't break quickly. llvm-svn: 130932
* Add some statistics to the splitting and spilling frameworks.Jakob Stoklund Olesen2011-05-053-5/+44
| | | | llvm-svn: 130931
* Avoid extra vreg copies for arguments passed in registers. Specifically, ↵Eli Friedman2011-05-052-38/+44
| | | | | | this can make MachineCSE more effective in some cases (especially in small functions). PR8361 / part of rdar://problem/8259436 . llvm-svn: 130928
* Small syntax cleanup; we don't need to #define constants in C++. No ↵Eli Friedman2011-05-051-3/+3
| | | | | | functionality change intended. llvm-svn: 130926
* Minor correction to r130877; fixes PR9846 and hopefully the buildbot failures.Eli Friedman2011-05-051-1/+2
| | | | llvm-svn: 130925
* Minor change: Fix the typo in RegionPass.h and RegionPass.cpp.Hongbin Zheng2011-05-051-1/+1
| | | | llvm-svn: 130920
* Remove a flag that would set the ".eh" symbol as .globl. MachO was the only oneBill Wendling2011-05-053-11/+0
| | | | | | | | who used this flag, and it now emits CFI and doesn't emit this anymore. All other targets left this flag "false". <rdar://problem/8486371> llvm-svn: 130918
* Update the gcov version used slightly, to make it stop causing modern gcov's toNick Lewycky2011-05-051-13/+20
| | | | | | crash. llvm-svn: 130911
* Remove dead function.Nick Lewycky2011-05-051-5/+0
| | | | llvm-svn: 130903
* When the path wasn't emitted by the frontend, discard any path on the sourceNick Lewycky2011-05-051-6/+11
| | | | | | filename. llvm-svn: 130897
* Disable physical register coalescing by default.Jakob Stoklund Olesen2011-05-041-1/+1
| | | | | | | | | | | | Joining physregs is inherently dangerous because it uses a heuristic to avoid creating invalid code. Linear scan had an emergency spilling mechanism to deal with those rare cases. The new greedy allocator does not. The greedy register allocator is much better at taking hints, so this has almost no impact on code size and quality. The few cases where it matters show up as unit tests that now have -join-physregs enabled explicitly. llvm-svn: 130896
* Set debug loc for new instructions.Devang Patel2011-05-041-3/+3
| | | | llvm-svn: 130895
* Set debug location for new PHI nodes created in exit block. Devang Patel2011-05-041-0/+2
| | | | llvm-svn: 130894
* Fix X86RegisterInfo::getMatchingSuperRegClass for sub_8bit_hi.Jakob Stoklund Olesen2011-05-041-13/+8
| | | | | | | It is OK for B to be any GR8_ABCD_H superclass, the returned register class doesn't have to map surjectively onto B. llvm-svn: 130892
* SjLj EH could produce a machine basic block that legitimately has more than oneBill Wendling2011-05-041-1/+9
| | | | | | | | | | | | | landing pad as its successor. SjLj exception handling jumps to the correct landing pad via a switch statement that's generated right before code-gen. Loosen the constraint in the machine instruction verifier to allow for this. Note, this isn't the most rigorous check since we cannot determine where that switch statement came from. But it's marginally better than turning this check off when SjLj exceptions are used. <rdar://problem/9187612> llvm-svn: 130881
* Preserve line number information while threading jumps.Devang Patel2011-05-041-2/+5
| | | | llvm-svn: 130880
* Re-commit r130862 with a minor change to avoid an iterator running off the ↵Eli Friedman2011-05-041-27/+49
| | | | | | | | | | edge in some cases. Original message: Teach MachineCSE how to do simple cross-block CSE involving physregs. This allows, for example, eliminating duplicate cmpl's on x86. Part of rdar://problem/8259436 . llvm-svn: 130877
* Preserve line number info.Devang Patel2011-05-041-1/+4
| | | | llvm-svn: 130876
* preserve line number info.Devang Patel2011-05-041-2/+3
| | | | llvm-svn: 130869
* Back out r130862; it appears to be breaking bootstrap.Eli Friedman2011-05-041-43/+27
| | | | llvm-svn: 130867
OpenPOWER on IntegriCloud