Michael J. Spencer
aaf4643a31
MC-COFF: Handle relaxation in COFF better. Fixes PR8321.
...
llvm-svn: 116013
2010-10-07 23:55:40 +00:00
Dan Gohman
5947e1626a
Delete the FormulaSorter class and inline its one method into its
...
one user. This code will be restructured soon and FormulaSorter
is getting in the way.
llvm-svn: 116012
2010-10-07 23:52:18 +00:00
Dan Gohman
1b61fd9bff
Fix a spello.
...
llvm-svn: 116011
2010-10-07 23:43:09 +00:00
Dan Gohman
34f37e0d04
Charge a formula for explicit multiplies on scaled registers too,
...
not just base registers.
llvm-svn: 116010
2010-10-07 23:41:58 +00:00
Dan Gohman
49d638b45a
Use size_t for consistency.
...
llvm-svn: 116009
2010-10-07 23:37:58 +00:00
Dan Gohman
8e72611058
When merging one use into another, transfer the offsets from
...
the old use to the new one.
llvm-svn: 116008
2010-10-07 23:36:45 +00:00
Chris Lattner
4fb38d3cd3
Reimplement (part of) the or -> add optimization. Matching 'or' into 'add'
...
is general goodness because it allows ORs to be converted to LEA to avoid
inserting copies. However, this is bad because it makes the generated .s
file less obvious and gives valgrind heartburn (tons of false positives in
bitfield code).
While the general fix should be in valgrind, we can at least try to avoid
emitting ADD instructions that *don't* get promoted to LEA. This is more
work because it requires introducing pseudo instructions to represents
"add that knows the bits are disjoint", but hey, people really love valgrind.
This fixes this testcase:
https://bugs.kde.org/show_bug.cgi?id=242137#c20
the add r/i cases are coming next.
llvm-svn: 116007
2010-10-07 23:36:18 +00:00
Jakob Stoklund Olesen
0f1677e190
After splitting, the remaining LiveInterval may be fragmented into multiple
...
connected components. These components should be allocated different virtual
registers because there is no reason for them to be allocated together.
Add the ConnectedVNInfoEqClasses class to calculate the connected components,
and move values to new LiveIntervals.
Use it from SplitKit::rewrite by creating new virtual registers for the
components.
llvm-svn: 116006
2010-10-07 23:34:34 +00:00
Dan Gohman
a7b68d6d95
Fix LSR to keep the RegUseTracker up to date when combining users.
...
This doesn't usually matter, because the other heuristics usually
succeed regardless, but it's good to keep the register use
bookkeeping consistent.
llvm-svn: 116005
2010-10-07 23:33:43 +00:00
Devang Patel
57da4caa85
Remove LoopIndexSplit pass. It is neither maintained nor used by anyone.
...
llvm-svn: 116004
2010-10-07 23:29:37 +00:00
John Thompson
f41f11c37e
Unbreak cmake build.
...
llvm-svn: 116003
2010-10-07 23:12:15 +00:00
Evan Cheng
412e37bd34
Code refactoring.
...
llvm-svn: 116002
2010-10-07 23:12:15 +00:00
Chris Lattner
1c090c00bc
Reduce casting in various tables by defining the table
...
with the right types.
llvm-svn: 116001
2010-10-07 23:08:41 +00:00
Sean Callanan
5c67a628b0
Fixed a launching issue.
...
llvm-svn: 115999
2010-10-07 22:51:14 +00:00
Nick Lewycky
abe8c130b1
Warn about broken GCCs on ARM due to the problem fixed:
...
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg01070.html
llvm-svn: 115998
2010-10-07 22:30:47 +00:00
Chris Lattner
70a7b54f97
simplify code: don't build up vector only to assert it is empty.
...
llvm-svn: 115997
2010-10-07 22:26:19 +00:00
Owen Anderson
df7a4f2515
Now with fewer extraneous semicolons!
...
llvm-svn: 115996
2010-10-07 22:25:06 +00:00
Johnny Chen
28ae29420a
Move the enum to string utility functions from lldbtest.py to lldbuti.py and
...
update the affected API clients.
llvm-svn: 115995
2010-10-07 22:15:58 +00:00
Jim Grosbach
33c1eb16e8
Move checking for t2MOVCCi16 to the right place.
...
llvm-svn: 115994
2010-10-07 22:14:01 +00:00
Jim Grosbach
91029094e0
Trivial MC code emitter shell. No instruction forms actually handled yet.
...
llvm-svn: 115993
2010-10-07 22:12:50 +00:00
Greg Clayton
68f4b4f2a2
Make sure to lock down the sequence mutex and select the thread we want when read or write all registers.
...
llvm-svn: 115992
2010-10-07 22:06:19 +00:00
Evan Cheng
139edad73a
Correctly check if a path is a directory. Fix by Brian Korver.
...
llvm-svn: 115991
2010-10-07 22:05:57 +00:00
Devang Patel
251f859b23
Identify functions with prototype appropriately in debug info.
...
This is tested by callfuncs.exp in gdb testsuite.
llvm-svn: 115989
2010-10-07 22:03:49 +00:00
Devang Patel
3a24f9230a
Provie a clearner interface so that FE can decide whether a function has prototype or not.
...
llvm-svn: 115988
2010-10-07 22:03:01 +00:00
Jim Grosbach
8aed386d82
Include the auto-generated bits for machine encoding.
...
llvm-svn: 115987
2010-10-07 21:57:55 +00:00
Nick Lewycky
1e00173d20
Fix typo in comment.
...
llvm-svn: 115986
2010-10-07 21:55:16 +00:00
Argyrios Kyrtzidis
15a9edc7cf
Fix an infinite loop, caused by unintended syntax bug (the 'break;' after 'default:' was intended to break out of the while loop).
...
Fixes rdar://8518859&8520617.
llvm-svn: 115985
2010-10-07 21:52:18 +00:00
Eric Christopher
3e1e447ca2
Remember to promote load/store types for stack to register size.
...
llvm-svn: 115984
2010-10-07 21:40:18 +00:00
Johnny Chen
7ea9aee9be
Add a test case which uses the SBProcess and SBThread APIs to iterate through
...
the threads and print their stack traces when stopped on a breakpoint.
Add a PrintStackTraces(process) utility function into the lldbutil.py module.
llvm-svn: 115983
2010-10-07 21:38:28 +00:00
Chris Lattner
f5c60d8156
convert test to use the existing classes that the multipatterns
...
use. Since TEST is completely different than all other binops,
don't define a multipattern for it.
This completes factorization of binops.
llvm-svn: 115982
2010-10-07 21:31:03 +00:00
Fariborz Jahanian
e0587be735
Fix a crash encoding ivars of vector types and
...
to match gcc's encoding. Fixes //rdar: // 8519948.
llvm-svn: 115980
2010-10-07 21:25:25 +00:00
Abramo Bagnara
5d3e724fc5
Fixed cast to union with anonymous bitfields.
...
llvm-svn: 115979
2010-10-07 21:20:44 +00:00
Chris Lattner
ae8d67d3bb
convert cmp to use a multipattern
...
llvm-svn: 115978
2010-10-07 20:56:25 +00:00
Evan Cheng
5c31bf0619
Canonicalize X86ISD::MOVDDUP nodes to v2f64 to make sure all cases match. Also eliminate unneeded isel patterns. rdar://8520311
...
llvm-svn: 115977
2010-10-07 20:50:20 +00:00
Dan Gohman
a6769bb993
This file needs ToolOutputFile.h too.
...
llvm-svn: 115976
2010-10-07 20:48:46 +00:00
Jim Grosbach
07b5b1802e
ARM instruction don't have instruction prefixes, so remove the helper functions
...
for them from the MCCodeEmitter.
llvm-svn: 115975
2010-10-07 20:41:30 +00:00
Jim Grosbach
ba05c68ce3
Add output stream operator for MCInst.
...
llvm-svn: 115974
2010-10-07 20:38:37 +00:00
Dan Gohman
0df7ea4c24
Move tool_output_file into its own file.
...
llvm-svn: 115973
2010-10-07 20:32:40 +00:00
Douglas Gregor
a881010621
Bugs should go to Bugzilla, not the mailing list
...
llvm-svn: 115972
2010-10-07 20:20:57 +00:00
Owen Anderson
9786868939
Add initialization routines for Instrumentation.
...
llvm-svn: 115971
2010-10-07 20:17:24 +00:00
Daniel Dunbar
29b8fb1771
tests: Force a triple to avoid wchar_t differences.
...
llvm-svn: 115970
2010-10-07 20:16:00 +00:00
Daniel Dunbar
355e850c6c
tests: Tweak test to also match MSVC format.
...
llvm-svn: 115969
2010-10-07 20:14:30 +00:00
Chris Lattner
a8c0bbb869
reduce redundancy between pattern copies.
...
llvm-svn: 115968
2010-10-07 20:14:23 +00:00
Chris Lattner
9fece2bea2
the opcode for BinOpMI/BinOpMI8 is always the same, remove the argument.
...
llvm-svn: 115967
2010-10-07 20:06:24 +00:00
Owen Anderson
546c11c72f
Improve comment.
...
llvm-svn: 115966
2010-10-07 20:05:18 +00:00
Owen Anderson
f7ef5dfccc
Add initialization routines to InstCombine.
...
llvm-svn: 115965
2010-10-07 20:04:55 +00:00
Chris Lattner
752b60bc01
convert adc/sbb to a multipattern. Because the adde/sube nodes
...
are not defined as returning EFLAGS (like add_flag and friends),
the entire multipattern and several of the subclasses need to be
cloned.
This could be handled through better instantiation support in tblgen,
but it isn't meta enough.
llvm-svn: 115964
2010-10-07 20:01:55 +00:00
Owen Anderson
44621e4306
Add initialization routines for VMCore.
...
llvm-svn: 115963
2010-10-07 19:51:21 +00:00
Johnny Chen
6c70499030
Add a keyword argument string_buffer (with a default value of False) to the
...
PrintStackTrace(thread) function. If string_buffer is True, PrintStackTrace()
will return the content of the stack trace as a string, instead.
llvm-svn: 115960
2010-10-07 18:52:48 +00:00
Michael J. Spencer
7713f26045
Fix Whitespace.
...
llvm-svn: 115959
2010-10-07 18:51:10 +00:00