Chris Lattner
c8798d085c
fix subtle bugs in inline asm operand selection
...
llvm-svn: 37065
2007-05-15 01:28:08 +00:00
Evan Cheng
4d728b0419
Added getNumExplicitOperands and findFirstPredOperand.
...
llvm-svn: 37064
2007-05-15 01:26:09 +00:00
Evan Cheng
a32dee205f
Added \!con(a,b) syntax to concatnate two dag fragments.
...
llvm-svn: 37063
2007-05-15 01:23:24 +00:00
Evan Cheng
785276fcda
All operands that made up of the predicate operands are maked M_PREDICATE_OPERAND.
...
llvm-svn: 37062
2007-05-15 01:21:27 +00:00
Evan Cheng
c0fb94596a
Mark all (not just the first) predicate operand M_PREDICATE_OPERAND.
...
llvm-svn: 37061
2007-05-15 01:20:36 +00:00
Evan Cheng
b0925c0e49
PredicateOperand related bug fix.
...
llvm-svn: 37060
2007-05-15 01:19:51 +00:00
Chris Lattner
c5900bd25b
testcase that crashes llc
...
llvm-svn: 37059
2007-05-15 01:13:42 +00:00
Dan Gohman
eca3b67199
Correct a comment.
...
llvm-svn: 37058
2007-05-15 00:20:13 +00:00
Chris Lattner
234f96daa8
Fix Transforms/InstCombine/2007-05-14-Crash.ll
...
llvm-svn: 37057
2007-05-15 00:16:00 +00:00
Chris Lattner
120548e508
New testcase that crashes instcombine
...
llvm-svn: 37056
2007-05-15 00:15:49 +00:00
Lauro Ramos Venancio
1b8d46ab21
Fix previous patch. GOTOFF can be used only when the symbol has internal
...
linkage or hidden visibility.
llvm-svn: 37055
2007-05-14 23:20:21 +00:00
Chris Lattner
e49c974a7c
implement a simple fneg optimization/propagation thing. This compiles:
...
CodeGen/PowerPC/fneg.ll into:
_t4:
fmul f0, f3, f4
fmadd f1, f1, f2, f0
blr
instead of:
_t4:
fneg f0, f3
fmul f0, f0, f4
fmsub f1, f1, f2, f0
blr
llvm-svn: 37054
2007-05-14 22:04:50 +00:00
Chris Lattner
d1e6255141
new testcase
...
llvm-svn: 37053
2007-05-14 22:04:16 +00:00
Evan Cheng
e1595b6859
Only worry about intervening kill if there are more than one live ranges in the interval.
...
llvm-svn: 37052
2007-05-14 21:23:51 +00:00
Evan Cheng
4c28ec187e
Test for PR1406.
...
llvm-svn: 37051
2007-05-14 21:12:43 +00:00
Evan Cheng
c690cba7d9
Fix for PR1406:
...
v1 =
r2 = move v1
= op r2<kill>
...
r2 = move v1
= op r2<kill>
Clear the first r2 kill if v1 and r2 are joined.
llvm-svn: 37050
2007-05-14 21:10:05 +00:00
Evan Cheng
03c64ec842
New test.
...
llvm-svn: 37048
2007-05-14 20:47:21 +00:00
Evan Cheng
5c7ce4561f
Doh. .cpp -> .ll
...
llvm-svn: 37047
2007-05-14 20:43:28 +00:00
Evan Cheng
fc2377d4ed
When marking a register as being implicitly defined, make sure to clear its partial use info as well.
...
llvm-svn: 37046
2007-05-14 20:39:18 +00:00
Lauro Ramos Venancio
d705f5d51d
Optimize PIC implementation. GOTOFF can be used when the symbol is defined
...
and used in the same module.
llvm-svn: 37044
2007-05-14 18:46:23 +00:00
Lauro Ramos Venancio
3551928a2b
Enable aliases on arm-linux.
...
llvm-svn: 37042
2007-05-14 18:32:56 +00:00
Evan Cheng
bc5c15276b
Remove duplicated line.
...
llvm-svn: 37040
2007-05-14 18:03:45 +00:00
Reid Spencer
9cdab38520
Reverse last patch .. premature. Depends on uncommitted CBE patch.
...
llvm-svn: 37039
2007-05-14 17:58:52 +00:00
Reid Spencer
9c6a4d64aa
Update this test to match the (corrected) output from the CBE.
...
llvm-svn: 37038
2007-05-14 17:56:39 +00:00
Reid Spencer
764ae2a21b
Give names to the final result values of the part_set computations. This
...
just aids in readability and debugability of the output. No functional change.
llvm-svn: 37037
2007-05-14 17:21:17 +00:00
Reid Spencer
146281ce1a
The wrapping behavior of part_set is not desirable. Adjust the
...
documentation to describe the desired behavior.
llvm-svn: 37036
2007-05-14 16:50:20 +00:00
Reid Spencer
70845c05e4
Revise definition of part_select. The wrapping behavior is not useful so
...
in the reverse case the only difference is that the bits are returned in
reverse order.
llvm-svn: 37035
2007-05-14 16:14:57 +00:00
Dan Gohman
8d40e4d965
Correct a few comments.
...
llvm-svn: 37034
2007-05-14 14:31:17 +00:00
Dan Gohman
90d97ac1e6
Add passes -view-cfg and -view-cfg-only that are like -print-cfg and
...
-print-cfg-only except they use the ViewCFG function, which displays the
CFG rendered with graphviz with gv.
llvm-svn: 37033
2007-05-14 14:25:08 +00:00
Dan Gohman
86110bdf06
Use templates for the GraphType for DefaultDOTGraphTraits' members instead
...
of just using void*. This allows it to be used with graph adapters like
Inverse.
llvm-svn: 37032
2007-05-14 14:23:27 +00:00
Dan Gohman
619bfa47e3
Add a addRequiredTransitiveID member function, which is to
...
addRequiredTransitive as addRequiredID is to addRequired.
llvm-svn: 37031
2007-05-14 14:21:46 +00:00
Chris Lattner
97beb5147f
Add a skeleton for future contents
...
llvm-svn: 37028
2007-05-14 06:56:09 +00:00
Chris Lattner
ba12a9d1fb
update comments
...
llvm-svn: 37027
2007-05-14 01:54:16 +00:00
Reid Spencer
98ed7db7ab
Make the results for the rotate functions correct when rotateAmt == 0.
...
llvm-svn: 37026
2007-05-14 00:15:28 +00:00
Reid Spencer
4c50b52f63
Add some things needed by the llvm-gcc version supporting bit accurate integer
...
types:
1. Functions to compute div/rem at the same time.
2. Further assurance that an APInt with 0 bitwidth cannot be constructed.
3. Left and right rotate operations.
4. An exactLogBase2 function which requires an exact power of two or it
returns -1.
llvm-svn: 37025
2007-05-13 23:44:59 +00:00
Chris Lattner
79c2c38ed5
add a link
...
llvm-svn: 37024
2007-05-13 23:38:44 +00:00
Chris Lattner
1904e45d0c
Fix PR1413
...
llvm-svn: 37023
2007-05-13 22:19:27 +00:00
Chris Lattner
3b4ae44057
this crashes globalopt
...
llvm-svn: 37021
2007-05-13 21:28:25 +00:00
Chris Lattner
cea37beb52
Fix Transforms/GlobalOpt/2007-05-13-Crash.ll
...
llvm-svn: 37020
2007-05-13 21:28:07 +00:00
Anton Korobeynikov
1ee0c8d563
Emit function debug frames in one atom. This will prevent us from generating incorrect assembler in case of both
...
debug information & exception information presented.
llvm-svn: 37019
2007-05-13 17:30:11 +00:00
Anton Korobeynikov
bbaf55448b
Emit multiple common EH frames for multiple (including blank) personality
...
functions. This partly fixes PR1414: now we're restricted only to one
personality function per eh frame, not per module. Further work on
"multiple personalities" topic needs representative example.
llvm-svn: 37018
2007-05-13 15:42:26 +00:00
Chris Lattner
8176a2f24e
add initial description of llvm top-level stuff.
...
llvm-svn: 37017
2007-05-13 01:39:44 +00:00
Chris Lattner
d72bb414b6
finish the description of the bitstream format.
...
llvm-svn: 37016
2007-05-13 00:59:52 +00:00
Anton Korobeynikov
13da17843c
More DWARF-related things cleanup:
...
1. Fix PR1380
2. Apply Duncan's patch from PR1410
3. Insert workaround for "one personality function per module" as noted in PR1414
4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is
shown correctly, but arguments for function on top of stack are displayed incorrectly.
llvm-svn: 37015
2007-05-12 22:36:25 +00:00
Reid Spencer
81ee020f64
Fix shl to produce the correct result when the bitwidth is > 64 and the
...
shift amount is 0. Previously this code would do a lshr by the bit width
which can lead to incorrect results.
llvm-svn: 37010
2007-05-12 18:01:57 +00:00
Reid Spencer
5d22b630af
Add a test case for shl of APInt integers > 64 bits by 0 shift amount.
...
llvm-svn: 37009
2007-05-12 17:59:55 +00:00
Reid Spencer
bf283708f7
Get the size of auto arrays right, regardless of its changing size.
...
llvm-svn: 37006
2007-05-12 11:07:40 +00:00
Reid Spencer
ece86af259
Fix a grammaro.
...
llvm-svn: 37005
2007-05-12 08:01:52 +00:00
Chris Lattner
c0490b7c20
fix typo
...
llvm-svn: 37004
2007-05-12 07:50:14 +00:00
Chris Lattner
9ae5b57033
continued description
...
llvm-svn: 37003
2007-05-12 07:49:15 +00:00