Commit Graph

32531 Commits

Author SHA1 Message Date
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