1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
Commit Graph

30185 Commits

Author SHA1 Message Date
Reid Spencer
bd46f28da7 Simplify some code by moving variable declarations into the only block that
uses them.

llvm-svn: 34432
2007-02-19 23:30:10 +00:00
Reid Spencer
78e1ec0122 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.

llvm-svn: 34431
2007-02-19 22:35:00 +00:00
Evan Cheng
aa8e491a2f Added test case for PR1207.
llvm-svn: 34429
2007-02-19 21:53:59 +00:00
Evan Cheng
e4ab9c032b Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.
llvm-svn: 34428
2007-02-19 21:49:54 +00:00
Evan Cheng
9482b32217 Fix test case.
llvm-svn: 34427
2007-02-19 21:47:02 +00:00
Chris Lattner
429de9a4ad this passes now
llvm-svn: 34426
2007-02-19 20:20:04 +00:00
Chris Lattner
f501d245c8 llvm-gcc issue fixed, revert reversal :)
llvm-svn: 34425
2007-02-19 20:01:23 +00:00
Chris Lattner
8f9dc788c1 remove warning
llvm-svn: 34424
2007-02-19 19:46:17 +00:00
Evan Cheng
936deee790 Temporarily reverting the patch. It's breaking llvm-gcc build.
llvm-svn: 34423
2007-02-19 19:23:41 +00:00
Reid Spencer
9ada0ff0ed Add a FIXME for unwritten code.
llvm-svn: 34422
2007-02-19 19:00:29 +00:00
Bill Wendling
eea9643d46 Corrected typo.
llvm-svn: 34421
2007-02-19 18:32:40 +00:00
Reid Spencer
7844ff27e9 Some minor tweaks and grammar cleanup.
llvm-svn: 34420
2007-02-19 17:38:38 +00:00
Chris Lattner
865b2f741a remove dead methods
llvm-svn: 34419
2007-02-19 07:44:24 +00:00
Chris Lattner
f009de2932 remove use of deprecated apis
llvm-svn: 34418
2007-02-19 07:41:31 +00:00
Chris Lattner
b83d08ddc2 eliminate use of deprecated apis
llvm-svn: 34417
2007-02-19 07:34:47 +00:00
Chris Lattner
9fcc5048b8 remove use of deprecated api
llvm-svn: 34416
2007-02-19 07:34:02 +00:00
Chris Lattner
35a14c07e4 add alternate version of constant ctors that don't take a vector. For now
this offers no performance advantage.

llvm-svn: 34415
2007-02-19 07:23:24 +00:00
Chris Lattner
e92e7e6d5f fix validation
llvm-svn: 34414
2007-02-19 06:57:46 +00:00
Chris Lattner
277cbe4fb2 more wording changes and some minor additions
llvm-svn: 34413
2007-02-19 06:57:16 +00:00
Chris Lattner
fe700ac31d add the definite article
llvm-svn: 34412
2007-02-19 06:24:23 +00:00
Chris Lattner
c5b7fb6ba7 rename section to Copyright, License, and Patents
llvm-svn: 34411
2007-02-19 06:19:16 +00:00
Chris Lattner
f82f91695c wording changes
llvm-svn: 34410
2007-02-19 06:15:33 +00:00
Chris Lattner
3fe95b9dc3 add strong words about patents
llvm-svn: 34409
2007-02-19 06:13:50 +00:00
Chris Lattner
125f4e0de9 incremental changes to own section, protosection on patents
llvm-svn: 34408
2007-02-19 06:05:58 +00:00
Chris Lattner
fa8b7c9257 fix TOC, clarify bullet in incremental dev
llvm-svn: 34407
2007-02-19 05:59:30 +00:00
Chris Lattner
7154a66b61 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'.

llvm-svn: 34406
2007-02-19 05:57:29 +00:00
Chris Lattner
d2bec5bdef minor changes
llvm-svn: 34405
2007-02-19 05:49:11 +00:00
Chris Lattner
2d9b41c0d7 remove terminology section (this is not a legal document)
move testcases above quality.  Mention that a testcase is part of quality.

llvm-svn: 34404
2007-02-19 05:47:13 +00:00
Chris Lattner
d377372130 Transmogrify 'Starting New Work' into 'Making a Major Change', add
incremental development as a subsection of it.

llvm-svn: 34403
2007-02-19 05:43:04 +00:00
Chris Lattner
d8d91b2ac2 A bunch of editting. I'm still not done with the 'patches' section.
llvm-svn: 34401
2007-02-19 03:50:31 +00:00
Chris Lattner
3bc1890e47 clarify the 'developed by' line
llvm-svn: 34400
2007-02-19 03:33:06 +00:00
Reid Spencer
b27fcf3482 For PR1207:
Revert patches that caused the problem. Evan, please investigate and reapply
when you've discovered the problem.

llvm-svn: 34399
2007-02-19 03:20:00 +00:00
Reid Spencer
6eb099875c Add some new constants.
llvm-svn: 34398
2007-02-19 03:18:22 +00:00
Reid Spencer
a177605511 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.

llvm-svn: 34396
2007-02-18 22:29:05 +00:00
Chris Lattner
69435023b2 fix comment
llvm-svn: 34395
2007-02-18 22:10:58 +00:00
Chris Lattner
d085064847 simplify pass, delete dead gvar protos as well.
llvm-svn: 34394
2007-02-18 22:10:34 +00:00
Reid Spencer
5818878cb8 Remove broken links to gccas and gccld.
llvm-svn: 34393
2007-02-18 20:37:44 +00:00
Reid Spencer
ce1322ccf6 1. Use APINT_WORD_SIZE instead of sizeof(uint64_t)
2. Teach slt about signedness.
3. Teach roundToDouble to properly sign extend.

llvm-svn: 34391
2007-02-18 20:09:41 +00:00
Reid Spencer
79d2fad9f5 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).

llvm-svn: 34390
2007-02-18 18:42:35 +00:00
Reid Spencer
035cf2fca2 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.

llvm-svn: 34389
2007-02-18 18:38:44 +00:00
Reid Spencer
19f4e9457e Make add_1 exit early if carry is 0.
Fix line breaks and 80 cols violation.
Simplify operator^= since bitwidths must be the same.

llvm-svn: 34388
2007-02-18 06:39:42 +00:00
Chris Lattner
0459e976aa avoid collision with /usr/bin/sample if this ever gets installed.
llvm-svn: 34387
2007-02-18 03:03:41 +00:00
Reid Spencer
62b55a934b Implement signed output for toString.
Fix bugs in countLeadingZeros and countTrailingZeros.

llvm-svn: 34386
2007-02-18 00:44:22 +00:00
Chris Lattner
dee1492159 temporarily revert Devang's most recent patch, which caused a large
compile-time regression in LLC.

llvm-svn: 34385
2007-02-17 23:14:24 +00:00
Reid Spencer
3390126870 Fix some bugs in division logic.
llvm-svn: 34384
2007-02-17 22:38:07 +00:00
Evan Cheng
8ac045a4b2 - 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.

llvm-svn: 34383
2007-02-17 11:15:40 +00:00
Evan Cheng
259a05c582 Do not add livein's to entry MBB twice.
llvm-svn: 34382
2007-02-17 11:11:27 +00:00
Evan Cheng
d45a3628a2 Added removeLiveIn.
llvm-svn: 34381
2007-02-17 11:10:48 +00:00
Evan Cheng
35f59a6dd2 Added findRegisterDefOperand().
llvm-svn: 34380
2007-02-17 11:10:18 +00:00
Evan Cheng
897d82c747 - Use MRegister::regsOverlap().
- Allow LiveVariables to track liveness of more registers.

llvm-svn: 34379
2007-02-17 11:09:47 +00:00