Nick Lewycky
5678c8dcc2
It's valid to take the blockaddress of a different function, so remove this
...
assert in the bitcode writer. No change needed because the ValueEnumerator holds
a whole-module numbering anyhow. Fixes PR9857!
llvm-svn: 131016
2011-05-06 21:09:44 +00:00
Evan Cheng
3cda8bc78e
80 col violations.
...
llvm-svn: 131015
2011-05-06 20:52:23 +00:00
Eli Friedman
12e590e760
Make the logic for determining function alignment more explicit. No functionality change.
...
llvm-svn: 131012
2011-05-06 20:34:06 +00:00
Eli Friedman
219b955495
Use array_lengthof. No functional change.
...
llvm-svn: 131008
2011-05-06 19:50:10 +00:00
Jakob Stoklund Olesen
d7896b41a3
Iterate backwards over debug locations when splitting them so they can be safely erased.
...
This should unbreak dragonegg-i386-linux and build-self-4-mingw32.
llvm-svn: 131007
2011-05-06 19:31:19 +00:00
Jim Grosbach
780c27bb61
Improve diagnostics for some parse errors. Not asserting when a user input
...
error is detected is a good thing.
llvm-svn: 131005
2011-05-06 18:47:45 +00:00
Jim Grosbach
f1f78457f3
ParseFile() may throw, so extend the try/catch to handle that.
...
llvm-svn: 131004
2011-05-06 18:39:28 +00:00
Galina Kistanova
7371b0a61e
Move few target-dependant tests to appropriate directories.
...
llvm-svn: 131002
2011-05-06 18:24:46 +00:00
Andrew Trick
7e699489f1
Typo: Reviewed by Alistair.
...
llvm-svn: 131001
2011-05-06 18:14:32 +00:00
Rafael Espindola
b098ac2b95
Pass -disable-cfi to llc.
...
llvm-svn: 130999
2011-05-06 18:01:58 +00:00
Jakob Stoklund Olesen
6e6ed39f02
Update LiveDebugVariables after live range splitting.
...
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
2011-05-06 18:00:02 +00:00
Jakob Stoklund Olesen
27f4581ec6
Use TargetMachine hooks to properly print debug variable locations.
...
llvm-svn: 130997
2011-05-06 17:59:59 +00:00
Jakob Stoklund Olesen
04122feb16
Also count identity copies.
...
llvm-svn: 130996
2011-05-06 17:59:57 +00:00
Rafael Espindola
2534f45206
Pass -disable-cfi.
...
llvm-svn: 130995
2011-05-06 17:44:58 +00:00
Andrew Trick
6e2ccb7b00
Post-RA scheduler compile time fix. Quadratic computation of DAG node depth.
...
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
2011-05-06 17:09:08 +00:00
Devang Patel
188fd17fe4
Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from DwarfDebug.cpp to DwarfCompileUnit.cpp
...
llvm-svn: 130991
2011-05-06 16:57:54 +00:00
Rafael Espindola
a4de174c00
Nothing else uses this label.
...
llvm-svn: 130989
2011-05-06 15:44:29 +00:00
Rafael Espindola
ef239d2fdc
Yet more dead code.
...
llvm-svn: 130988
2011-05-06 15:31:55 +00:00
Rafael Espindola
4228ece8fd
Update comments.
...
llvm-svn: 130987
2011-05-06 15:28:56 +00:00
Rafael Espindola
9b57a8739e
More dead code elimination.
...
llvm-svn: 130985
2011-05-06 15:22:26 +00:00
Rafael Espindola
59462d8ae3
Dead code elimination.
...
llvm-svn: 130984
2011-05-06 14:56:22 +00:00
Justin Holewinski
e4a7007565
PTX: add PTX 2.3 language target
...
Patch by Wei-Ren Chen
llvm-svn: 130980
2011-05-06 11:40:36 +00:00
Duncan Sands
c4d27a63a4
Fix PR9820: a read-only call differs from a load in that a load doesn't
...
return the pointer being dereferenced, it returns the pointee, but a call
might return the pointer itself.
llvm-svn: 130979
2011-05-06 10:30:37 +00:00
Eli Friedman
f7b4d848ae
Re-revert r130877; it's apparently causing a regression on 197.parser,
...
possibly related to cbnz formation.
llvm-svn: 130977
2011-05-06 05:23:07 +00:00
Nick Lewycky
eef7bead41
The computation of string length is not that complicated. Fix it, again. :)
...
llvm-svn: 130967
2011-05-05 23:52:18 +00:00
Rafael Espindola
37aa9169a8
Remove DwarfTableException.
...
llvm-svn: 130964
2011-05-05 23:19:54 +00:00
Rafael Espindola
f109f01ec2
Remove the DwarfTable enum.
...
llvm-svn: 130959
2011-05-05 22:14:31 +00:00
Devang Patel
29780325b3
In debug output, clearly list new instructions without DebugLoc.
...
llvm-svn: 130957
2011-05-05 22:05:57 +00:00
Devang Patel
99147805e4
Remove little used statistical counter.
...
llvm-svn: 130955
2011-05-05 22:00:08 +00:00
Eli Friedman
c562cbdb82
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift.
...
llvm-svn: 130954
2011-05-05 21:59:18 +00:00
Rafael Espindola
6612ce475e
Move PPC Linux to CFI.
...
llvm-svn: 130951
2011-05-05 21:34:33 +00:00
Nick Lewycky
aed53f33f0
Fix typo. No functional change.
...
llvm-svn: 130949
2011-05-05 21:27:14 +00:00
Rafael Espindola
a84abb2226
Implement a really simple DwarfSjLjException.
...
llvm-svn: 130947
2011-05-05 20:48:31 +00:00
Rafael Espindola
a99111bae9
List all exception types in a switch.
...
llvm-svn: 130944
2011-05-05 19:48:34 +00:00
Andrew Trick
cd459f78ef
ARM post RA scheduler compile time fix.
...
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
2011-05-05 19:32:21 +00:00
Andrew Trick
5946376390
whitespace
...
llvm-svn: 130942
2011-05-05 19:24:06 +00:00
Rafael Espindola
ab39b8319b
Don't produce a __debug_frame.
...
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
2011-05-05 18:43:39 +00:00
Galina Kistanova
1d93d48152
Many LLVM tests relies on standard output stream be in the binary mode. Which is not always the case (on Windows in particular). The patch adds a test to verify that the standard output stream is actually in the binary mode.
...
llvm-svn: 130936
2011-05-05 18:40:27 +00:00
Owen Anderson
35f6bae989
Allow FastISel of three-register-operand instructions.
...
llvm-svn: 130934
2011-05-05 17:59:04 +00:00
Devang Patel
3d0c5dc9fd
If debug info for inlined function is missing then handle it gracefully.
...
llvm-svn: 130933
2011-05-05 17:54:26 +00:00
Eli Friedman
959064eae3
PR9848: pandn is not commutative.
...
No test because I can't think of any way to write one that won't break quickly.
llvm-svn: 130932
2011-05-05 17:45:31 +00:00
Jakob Stoklund Olesen
fa1e44c83e
Add some statistics to the splitting and spilling frameworks.
...
llvm-svn: 130931
2011-05-05 17:22:53 +00:00
Eli Friedman
09ec41fcde
Avoid extra vreg copies for arguments passed in registers. Specifically, this can make MachineCSE more effective in some cases (especially in small functions). PR8361 / part of rdar://problem/8259436 .
...
llvm-svn: 130928
2011-05-05 16:53:34 +00:00
Jakob Stoklund Olesen
4661916c8f
Fix test to be less sensitive to coalescing.
...
This should unbreak llvm-gcc-i386-linux-selfhost.
llvm-svn: 130927
2011-05-05 16:48:00 +00:00
Eli Friedman
367747bccd
Small syntax cleanup; we don't need to #define constants in C++. No functionality change intended.
...
llvm-svn: 130926
2011-05-05 16:25:23 +00:00
Eli Friedman
9d2cd1cac4
Minor correction to r130877; fixes PR9846 and hopefully the buildbot failures.
...
llvm-svn: 130925
2011-05-05 16:18:11 +00:00
Hongbin Zheng
8785489968
Minor change: Fix the typo in RegionPass.h and RegionPass.cpp.
...
llvm-svn: 130920
2011-05-05 13:59:38 +00:00
Bill Wendling
7a13f3bde3
Remove a flag that would set the ".eh" symbol as .globl. MachO was the only one
...
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
2011-05-05 06:49:15 +00:00
Mikhail Glushenkov
6a346f7333
llvmc: Make 'true' and 'false' instances of a 'Bool' class.
...
llvm-svn: 130915
2011-05-05 04:25:03 +00:00
Mikhail Glushenkov
14e7792820
llvmc: Make it possible to provide an argument to (join).
...
llvm-svn: 130914
2011-05-05 04:24:58 +00:00