Reid Spencer
f734ea21a3
Implement support for non-standard integer bit widths of any size. The
...
rules alignment is to pick the alignment that corresponds to the smallest
specified alignment that is larger than the bit width of the type or the
largest specified integer alignment if none are larger than the bitwidth
of the type. For the byte size, the size returned is the next larger
multiple of the alignment for that type (using the above rule). This patch
also changes bit widths from "short" to "uint32_t" to ensure there are
enough bits to specify any bit width that LLVM can handle (currently 2^23);
16-bits isn't enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34431 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 22:35:00 +00:00
Evan Cheng
85f00083f5
Added test case for PR1207.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 21:53:59 +00:00
Evan Cheng
b371f457b0
Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34428 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 21:49:54 +00:00
Evan Cheng
d1b2c5b34d
Fix test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34427 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 21:47:02 +00:00
Chris Lattner
96c2f349f0
this passes now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34426 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 20:20:04 +00:00
Chris Lattner
f9021ff740
llvm-gcc issue fixed, revert reversal :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34425 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 20:01:23 +00:00
Chris Lattner
da304d0750
remove warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34424 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 19:46:17 +00:00
Evan Cheng
e02e5e465b
Temporarily reverting the patch. It's breaking llvm-gcc build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 19:23:41 +00:00
Reid Spencer
c552ff2825
Add a FIXME for unwritten code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34422 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 19:00:29 +00:00
Bill Wendling
d932aabff0
Corrected typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 18:32:40 +00:00
Reid Spencer
cb069bb76e
Some minor tweaks and grammar cleanup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 17:38:38 +00:00
Chris Lattner
32980699c0
remove dead methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:44:24 +00:00
Chris Lattner
00f59da1df
remove use of deprecated apis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34418 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:41:31 +00:00
Chris Lattner
ec1f752ae4
eliminate use of deprecated apis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:34:47 +00:00
Chris Lattner
4227bdbf55
remove use of deprecated api
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:34:02 +00:00
Chris Lattner
df7490a273
add alternate version of constant ctors that don't take a vector. For now
...
this offers no performance advantage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:23:24 +00:00
Chris Lattner
64113a5b96
fix validation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:57:46 +00:00
Chris Lattner
0cca50c912
more wording changes and some minor additions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34413 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:57:16 +00:00
Chris Lattner
2ae49dd470
add the definite article
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:24:23 +00:00
Chris Lattner
793aa380a8
rename section to Copyright, License, and Patents
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:19:16 +00:00
Chris Lattner
d0742ce309
wording changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34410 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:15:33 +00:00
Chris Lattner
b87fb2aabc
add strong words about patents
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:13:50 +00:00
Chris Lattner
1ff20cd479
incremental changes to own section, protosection on patents
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34408 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 06:05:58 +00:00
Chris Lattner
8bb16ff2bb
fix TOC, clarify bullet in incremental dev
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 05:59:30 +00:00
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