Commit Graph

30051 Commits

Author SHA1 Message Date
Chris Lattner
1653fec412 refactor the top-level 'patches' section into a subsection of General Policies.
Much of its content is now in other parts of the doc, and this brings it up
immediately after 'stay informed' and right before 'code reviews'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34406 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 05:57:29 +00:00
Chris Lattner
1acdc957d2 minor changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 05:49:11 +00:00
Chris Lattner
39582bdd7b remove terminology section (this is not a legal document)
move testcases above quality.  Mention that a testcase is part of quality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34404 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 05:47:13 +00:00
Chris Lattner
c7d954e9a9 Transmogrify 'Starting New Work' into 'Making a Major Change', add
incremental development as a subsection of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34403 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 05:43:04 +00:00
Chris Lattner
450f40af1f A bunch of editting. I'm still not done with the 'patches' section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34401 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 03:50:31 +00:00
Chris Lattner
4f28a2f88f clarify the 'developed by' line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34400 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 03:33:06 +00:00
Reid Spencer
a284cbf667 For PR1207:
Revert patches that caused the problem. Evan, please investigate and reapply
when you've discovered the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34399 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 03:20:00 +00:00
Reid Spencer
d81b065950 Add some new constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34398 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 03:18:22 +00:00
Reid Spencer
f99a0ac0dc 1. Fix some indentation and variable names in the get{Min,Max}Value methods.
2. Implement toString for power-of-2 radix without using divide and always
   printing full words. This allows hex/binary to look at the bit
   respresentation of the APInt as well as avoid bugs in divide.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34396 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 22:29:05 +00:00
Chris Lattner
4a6f363491 fix comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 22:10:58 +00:00
Chris Lattner
eb47391994 simplify pass, delete dead gvar protos as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34394 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 22:10:34 +00:00
Reid Spencer
439ba1fefa Remove broken links to gccas and gccld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 20:37:44 +00:00
Reid Spencer
a58f05847c 1. Use APINT_WORD_SIZE instead of sizeof(uint64_t)
2. Teach slt about signedness.
3. Teach roundToDouble to properly sign extend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 20:09:41 +00:00
Reid Spencer
a932e3f799 1. "unsigned" -> "uint32_t" to gaurantee its bit width on all platforms.
Size matters in this case.
2. Remove the unused whichByte private function, which was also broken.
3. Remove the non-const overload of the getWord function, getWord() is
   never used as an lvalue.
4. Rename some local variables for clarity (e.g. API -> Result).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34390 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 18:42:35 +00:00
Reid Spencer
af0e956cef 1. Remove dead code (lshift function).
2. Consolidate memory allocation into just two inline functions.
3. Convert "unsigned" to uint32_t to gaurantee its size.
4. Eliminate magic constants and replace with symbolic equivalent.
5. Improve code documentation slightly.
6. Simplify the logical operator code because bitwidths must be the same.
7. Fix indentation per coding standards.
8. Use exit-early style to reduce indentation in several functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 18:38:44 +00:00
Reid Spencer
f2c521c58d Make add_1 exit early if carry is 0.
Fix line breaks and 80 cols violation.
Simplify operator^= since bitwidths must be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34388 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 06:39:42 +00:00
Chris Lattner
9bc823ec54 avoid collision with /usr/bin/sample if this ever gets installed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34387 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 03:03:41 +00:00
Reid Spencer
443b570149 Implement signed output for toString.
Fix bugs in countLeadingZeros and countTrailingZeros.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-18 00:44:22 +00:00
Chris Lattner
63925c831a temporarily revert Devang's most recent patch, which caused a large
compile-time regression in LLC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34385 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 23:14:24 +00:00
Reid Spencer
c72f28042b Fix some bugs in division logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34384 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 22:38:07 +00:00
Evan Cheng
aa7976199c - Changes how function livein's are handled, they now have a start index of 0.
- When coalescing a copy MI, if its destination is "dead", propagate the
  property to the source MI's destination if there are no intervening uses.
- Detect dead function live-in's and remove them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:15:40 +00:00
Evan Cheng
e1fd6828af Do not add livein's to entry MBB twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:11:27 +00:00
Evan Cheng
795d9509d5 Added removeLiveIn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34381 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:10:48 +00:00
Evan Cheng
094e3e553f Added findRegisterDefOperand().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34380 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:10:18 +00:00
Evan Cheng
e15764f28f - Use MRegister::regsOverlap().
- Allow LiveVariables to track liveness of more registers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34379 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:09:47 +00:00
Evan Cheng
9e66eb6046 Added removeLiveIn and more livein iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:07:41 +00:00
Evan Cheng
64ff3c349b Allow LiveVariables to track liveness of more registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34377 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:07:08 +00:00
Evan Cheng
eceada6728 Added getReservedRegs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34376 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:06:00 +00:00
Evan Cheng
efdcb839f2 - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34375 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 11:04:35 +00:00
Chris Lattner
dee5a5a52c 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:57:26 +00:00
Chris Lattner
0f74372ebf new test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34372 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:57:11 +00:00
Chris Lattner
bc681d6af4 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:44:03 +00:00
Chris Lattner
6e1472a928 Test that large absolute addresses are properly folded into addr modes on
both ppc32 and ppc64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34370 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:41:57 +00:00
Chris Lattner
95ad943ed5 print target nodes nicely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34369 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:38:37 +00:00
Chris Lattner
9ff6ee85fe Implement i/n/s constraints correctly. This fixes
test/CodeGen/PowerPC/2007-02-16-InlineAsmNConstraint.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34368 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 06:00:35 +00:00
Chris Lattner
419116fb72 new testcase that crashes llc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34367 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 05:59:01 +00:00
Chris Lattner
7824cc625b testcase for PR1170
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 05:44:57 +00:00
Chris Lattner
4b0d93a7b5 new testcase for -fwritable-strings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34365 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 05:07:40 +00:00
Devang Patel
62b20023eb Use inverted map to speedup collectLastUses().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34364 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 03:53:44 +00:00
Reid Spencer
5e0a851ed3 Move static functions closer to their usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34363 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 03:16:00 +00:00
Reid Spencer
71bd08f9be Clean up the divide and remainder logic a bit (exit early). Use more
meaningful variable names. Add comments to document the flow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34362 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 02:07:07 +00:00
Chris Lattner
946b72af75 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34361 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 01:44:21 +00:00
Dale Johannesen
6070f2e2d2 adding PR 1200 comment by request
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34360 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 01:12:15 +00:00
Dale Johannesen
6b896cec8b Fixes PR 1200
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 00:44:34 +00:00
Chris Lattner
affeb56480 Do not dereference invalid ranges. Generalize targetdata alignment model.
This fixes the UnitTests/Vector/sumarray-dbl regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 00:41:42 +00:00
Reid Spencer
cd6f2bfc26 Fix bugs introduced by constructor parameter order change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17 00:18:01 +00:00
Chris Lattner
3ebb2e0034 Fix CodeGen/PowerPC/2007-02-16-AlignPacked.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34356 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16 23:11:51 +00:00
Chris Lattner
6985dca2a0 testcase for recent targetdata regression
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34355 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16 23:11:43 +00:00
Reid Spencer
52dc96842e Remove an unnecessary predicate.
Patch by Scott Michel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34354 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16 22:42:40 +00:00
Reid Spencer
e81d2dad2c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34353 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16 22:36:51 +00:00