Commit Graph

30030 Commits

Author SHA1 Message Date
Evan Cheng ef932b067d - Use MRegister::regsOverlap().
- Allow LiveVariables to track liveness of more registers.

llvm-svn: 34379
2007-02-17 11:09:47 +00:00
Evan Cheng 0479014657 Added removeLiveIn and more livein iterators.
llvm-svn: 34378
2007-02-17 11:07:41 +00:00
Evan Cheng 08ceaae6b1 Allow LiveVariables to track liveness of more registers.
llvm-svn: 34377
2007-02-17 11:07:08 +00:00
Evan Cheng 9865be6d40 Added getReservedRegs().
llvm-svn: 34376
2007-02-17 11:06:00 +00:00
Evan Cheng 6457b9eff4 - Added regsOverlap() to test if two registers overlap. Or in case they are
virtual registers, test if they the same.
- Added a virtual method to return target specific reserved registers, e.g. SP.

llvm-svn: 34375
2007-02-17 11:04:35 +00:00
Chris Lattner 1f7d60262e Fix ixaddrs as well, allowing ppc64 to compile to:
_test2:
        li r2, 0
        lis r3, 1
        std r2, 9024(r3)
        blr

instead of:

_test2:
        lis r2, 1
        li r3, 0
        ori r2, r2, 9024
        std r3, 0(r2)
        blr

This implements CodeGen/PowerPC/LargeAbsoluteAddr.ll:test2

llvm-svn: 34373
2007-02-17 06:57:26 +00:00
Chris Lattner 3723c90455 new test
llvm-svn: 34372
2007-02-17 06:57:11 +00:00
Chris Lattner 4a9c0bb147 Compile test/CodeGen/PowerPC/LargeAbsoluteAddr.ll to:
_test:
        lis r2, 743
        li r3, 0
        stw r3, 32751(r2)
        blr

instead of:

_test:
        li r2, 0
        stw r2, 32751(48693248)
        blr

Implement support for ppc64 as well, allowing it to produce better code.

llvm-svn: 34371
2007-02-17 06:44:03 +00:00
Chris Lattner 2be2ab59d5 Test that large absolute addresses are properly folded into addr modes on
both ppc32 and ppc64.

llvm-svn: 34370
2007-02-17 06:41:57 +00:00
Chris Lattner 56e5fea163 print target nodes nicely
llvm-svn: 34369
2007-02-17 06:38:37 +00:00
Chris Lattner a9f917af59 Implement i/n/s constraints correctly. This fixes
test/CodeGen/PowerPC/2007-02-16-InlineAsmNConstraint.ll

llvm-svn: 34368
2007-02-17 06:00:35 +00:00
Chris Lattner bc9111e290 new testcase that crashes llc
llvm-svn: 34367
2007-02-17 05:59:01 +00:00
Chris Lattner 6d6d70ba18 testcase for PR1170
llvm-svn: 34366
2007-02-17 05:44:57 +00:00
Chris Lattner f37f0479b8 new testcase for -fwritable-strings
llvm-svn: 34365
2007-02-17 05:07:40 +00:00
Devang Patel 98354dabc1 Use inverted map to speedup collectLastUses().
llvm-svn: 34364
2007-02-17 03:53:44 +00:00
Reid Spencer 100502d256 Move static functions closer to their usage.
llvm-svn: 34363
2007-02-17 03:16:00 +00:00
Reid Spencer 3986776fbd Clean up the divide and remainder logic a bit (exit early). Use more
meaningful variable names. Add comments to document the flow.

llvm-svn: 34362
2007-02-17 02:07:07 +00:00
Chris Lattner 3ae936ce69 new testcase
llvm-svn: 34361
2007-02-17 01:44:21 +00:00
Dale Johannesen 0552e3b580 adding PR 1200 comment by request
llvm-svn: 34360
2007-02-17 01:12:15 +00:00
Dale Johannesen 12920dda9e Fixes PR 1200
llvm-svn: 34359
2007-02-17 00:44:34 +00:00
Chris Lattner 04eb16b415 Do not dereference invalid ranges. Generalize targetdata alignment model.
This fixes the UnitTests/Vector/sumarray-dbl regressions.

llvm-svn: 34358
2007-02-17 00:41:42 +00:00
Reid Spencer a32372d110 Fix bugs introduced by constructor parameter order change.
llvm-svn: 34357
2007-02-17 00:18:01 +00:00
Chris Lattner dc64b9d379 Fix CodeGen/PowerPC/2007-02-16-AlignPacked.ll
llvm-svn: 34356
2007-02-16 23:11:51 +00:00
Chris Lattner e19f84cf28 testcase for recent targetdata regression
llvm-svn: 34355
2007-02-16 23:11:43 +00:00
Reid Spencer e4ff249d26 Remove an unnecessary predicate.
Patch by Scott Michel.

llvm-svn: 34354
2007-02-16 22:42:40 +00:00
Reid Spencer 1d0721209d Review changes:
1. Function style changes.
2. 80-col violations.
3. Better names for things.
4. Arrange constructors so they all take bit width first.
5. Add named signed and unsigned comparison functions and remove the
   corresponding operators.
6. Remove operator&& and operator|| but provide a getBoolValue function which
   converts to bool as comparison against 0. This allows the normal && and
   || operators to be used as if (X.getBoolValue() && Y.getBoolValue())

Note: this still doesn't function 100% yet. I'm working on the bugs now.
llvm-svn: 34353
2007-02-16 22:36:51 +00:00
Chris Lattner f9122c4512 simplify some code, ensure that packed structures get abi alignment of 1.
llvm-svn: 34352
2007-02-16 22:25:34 +00:00
Chris Lattner 8091f28d1a fix incorrect encoding of vminsw.
llvm-svn: 34351
2007-02-16 21:20:09 +00:00
Reid Spencer edd2ccc313 Regenerate for getrlimit/setrlimit.
llvm-svn: 34350
2007-02-16 19:17:20 +00:00
Anton Korobeynikov d01defedf6 Add possibility to set memory limit for binaries run via libSystem. This
is especially needed for bugpoint. This partly implements PR688

llvm-svn: 34349
2007-02-16 19:11:07 +00:00
Evan Cheng 66cb162f92 Print <dead> def operands.
llvm-svn: 34343
2007-02-16 09:49:18 +00:00
Evan Cheng 7238410766 Add live-ins to every BB.
llvm-svn: 34342
2007-02-16 09:05:02 +00:00
Reid Spencer e1d2bcf8ce Add missing break statements!
llvm-svn: 34341
2007-02-16 06:34:39 +00:00
Chris Lattner 406fb4f2eb update symtab section to reflect recent changes.
llvm-svn: 34340
2007-02-16 04:37:31 +00:00
Andrew Lenharth 9d4819be08 fix build
llvm-svn: 34339
2007-02-16 02:25:55 +00:00
Andrew Lenharth b8d6fa20bb This was done recently
llvm-svn: 34338
2007-02-16 02:11:59 +00:00
Dale Johannesen 915e15481e test commit (blank line)
llvm-svn: 34337
2007-02-16 01:54:53 +00:00
Chris Lattner c992e18f8d make mayWriteToMemory a non-virtual function
llvm-svn: 34334
2007-02-15 23:15:00 +00:00
Chris Lattner 99c6cf60f1 convert more vectors to smallvectors, 2.8% speedup
llvm-svn: 34333
2007-02-15 22:52:10 +00:00
Chris Lattner af6094fe3f change some vectors to smallvectors. This speeds up instcombine on 447.dealII
by 5%.

llvm-svn: 34332
2007-02-15 22:48:32 +00:00
Evan Cheng 0c182a48e4 Update
llvm-svn: 34331
2007-02-15 22:26:28 +00:00
Reid Spencer 03d4a8a368 For PR1195:
PACKED_ALIGN -> VECTOR_ALIGN

llvm-svn: 34330
2007-02-15 22:07:05 +00:00
Dan Gohman c95f42b9f8 Add myself to the credits.
llvm-svn: 34329
2007-02-15 22:05:14 +00:00
Evan Cheng 8307918cc8 Proper fix for the off-by-one bug in clear_unused_bits().
llvm-svn: 34328
2007-02-15 21:38:15 +00:00
Reid Spencer 9a3e3222e9 Update this test to compile properly and check against the correct
string generated by the CBE. This is no longer an XFAIL.

llvm-svn: 34327
2007-02-15 21:01:58 +00:00
Reid Spencer 33f5e9ed15 Fix an off-by-one bug in computing the index of the word to clear.
llvm-svn: 34326
2007-02-15 20:49:10 +00:00
Reid Spencer c592ad2be1 Make sure Capacity gets initialized too.
llvm-svn: 34325
2007-02-15 20:14:06 +00:00
Chris Lattner cf835ff85a rewrite Value::takeName to take advantage of the new symtab stuff. This
causes it to require no allocations and no symtab lookups in the common
case.  This speeds up instcombine 9.2% on 447.dealII.

llvm-svn: 34324
2007-02-15 20:01:43 +00:00
Chris Lattner 7907e5fe07 switch an std::set to a SmallPtr set, this speeds up instcombine by 9.5%
on 447.dealII

llvm-svn: 34323
2007-02-15 19:41:52 +00:00
Evan Cheng 7a259ffba3 Missing a ;
llvm-svn: 34322
2007-02-15 19:29:05 +00:00