Commit Graph

11122 Commits

Author SHA1 Message Date
Chris Lattner
17fd273512 Add constant folding wrapper support for select instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12319 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:53:03 +00:00
Chris Lattner
6e32372fcd Add sccp support for select instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:52:44 +00:00
Chris Lattner
3d69f46d64 Add trivial optimizations for select instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12317 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:52:32 +00:00
Chris Lattner
9f24a077bd ADd support for select instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12316 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:52:14 +00:00
Chris Lattner
46b787e986 Write select instructions to bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12315 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:52:01 +00:00
Chris Lattner
e3ac22a204 Read select instrs from bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12314 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:49 +00:00
Chris Lattner
76f0ff394d Allow parsing select instruction and constant expr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:36 +00:00
Chris Lattner
57b25973d6 Add the visitSelectInst visitor method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12312 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:22 +00:00
Chris Lattner
4e734dde54 Add the SelectInst class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:05 +00:00
Chris Lattner
9bb7fbc6ce Add the Instruction::Select enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12310 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:53 +00:00
Chris Lattner
46a57d8f14 Add support for select constant exprs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12309 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:39 +00:00
Chris Lattner
17fa449010 This is no longer an open project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12308 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:24 +00:00
Chris Lattner
cc37aae854 Cleanup the cast section, add the select instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12307 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:16 +00:00
Chris Lattner
6551ea98b2 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12306 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:02 +00:00
Misha Brukman
56c0fa69a3 Make code more readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12305 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 00:58:41 +00:00
Misha Brukman
ec85af16a0 Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12298 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:53:51 +00:00
Misha Brukman
b8bda13140 Move implementations of functions here, which avoids #including <cstdlib> in the
header file and all those who #include it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12297 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:52:43 +00:00
Misha Brukman
242e94ab26 Move function implementations to a .cpp file, avoid #including <cstdlib> here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:52:03 +00:00
Misha Brukman
a7a805ef98 Forward-declare templates for fix compilation when Argument.h is included first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12295 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:42:24 +00:00
Misha Brukman
dd298c8c6e Doxygenified and cleand up comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:08:20 +00:00
Misha Brukman
3497ae9f05 Miscellaneous additions are a separate section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 21:26:29 +00:00
Brian Gaeke
63c8cc6dcd Make sure libcrtend.a gets installed when you make install-bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 20:55:23 +00:00
Brian Gaeke
c760d647c6 Get rid of the abort in PhyRegAlloc::finishSavingState().
Make an explicit call to it from runOnFunction() if we know we're supposed to
write into the global. This is lame (esp. the const_cast), but it solves
the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 19:46:30 +00:00
Brian Gaeke
c46f8a4f42 Give pass a name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12290 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 19:23:15 +00:00
Misha Brukman
db760d00c3 Fix compilation on Sparc: assert(0) => abort()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12289 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 19:08:24 +00:00
Misha Brukman
094158a133 SparcV8 removed until it grows up becomes a mature backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 18:16:33 +00:00
Alkis Evlogimenos
0744b5ffd2 Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12287 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 10:14:21 +00:00
Brian Gaeke
cf68bd5fc1 In PhyRegAlloc::saveState(), dump Arguments' saved-state, and try to
make the output more compact.

Divorce state-saving from the doFinalization method; for some reason it's not
getting called when I want it to, at Reoptimizer time. Put the guts in
PhyRegAlloc::finishSavingState(). Put an abort() in it so that I can be really
really sure that it's getting called.

Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 06:45:52 +00:00
Brian Gaeke
36061dab06 Remove ghostly directory from the build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12285 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 04:42:41 +00:00
Alkis Evlogimenos
45ff027e00 Embed a floating frame of the bugzilla query in the page. This way
people looking for open projects cannot miss the link :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12284 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 02:50:35 +00:00
Chris Lattner
67195cf5d9 Minor additions and cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12279 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 00:50:54 +00:00
Brian Gaeke
d1b3679214 Move all the SaveState options and stuff inton one spot at the top of the file.
De-constify SaveStateToModule; we have to set both it and SaveRegAllocState
explicitly in the reoptimizer.
Make SaveRegAllocState an 'external location' option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12278 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 22:21:03 +00:00
Brian Gaeke
14068d9f97 Only call verifySavedState if SaveRegAllocState is set AND debugging flag is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12277 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 22:01:59 +00:00
Chris Lattner
7c62728018 Bugz fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12276 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 21:43:47 +00:00
Chris Lattner
c6b0c4b9e2 Fix PR284: [indvars] Induction variable analysis violates LLVM invariants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12275 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 21:42:19 +00:00
Chris Lattner
a22ef48fee New testcase for PR284: [indvars] Induction variable analysis violates LLVM invariants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12274 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 21:41:47 +00:00
Alkis Evlogimenos
5d72853173 Add link to bugzilla query of unassigned enhancements. Specific open
projects like 'port glibc to llvm' or 'improve nightly tester', should
have an unassigned enhancement bug opened for them so that they can be
tracked more easily. Open projects should only list generic projects
like 'compile programs with the LLVM compiler' or 'write a new backend
for target'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12273 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 19:38:33 +00:00
Misha Brukman
1a49bc8d5e We need a logo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12272 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 19:22:29 +00:00
Brian Gaeke
a2245a3b11 Add brainstorm for a random test vector generator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12271 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 19:15:50 +00:00
Brian Gaeke
714caf24bc Recommend using install-bytecode target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12270 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 19:08:52 +00:00
Brian Gaeke
d0f3c5e8b1 My fix for PR274 broke the build on Darwin/PPC. As I'm fairly certain this
bug only affects Linux systems that use GLIBC, I'm going to put ifdefs around
the array.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12269 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 17:38:28 +00:00
Brian Gaeke
f313ea7da4 Add support for 'install-bytecode' target, used for ONLY installing
bytecode-libs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12268 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 17:38:01 +00:00
Brian Gaeke
b798b1e9a3 Fix up a seriously outdated comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12267 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 17:37:50 +00:00
Chris Lattner
0b67f04a1c New testcase for PR275
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-10 03:07:45 +00:00
Chris Lattner
c1a5bacea8 New testcase for PR276: llvm-g++ does not mangle method names that match stdlib function names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12265 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 22:51:03 +00:00
Chris Lattner
85fb1be62f implement new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 19:37:06 +00:00
Chris Lattner
69a69ff5fd new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12263 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 19:36:59 +00:00
Alkis Evlogimenos
6a367f33f3 Spill explicit physical register defs as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12260 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 08:35:13 +00:00
Brian Gaeke
73716d582e Now that I read it again, this part in particular strikes me as kind of
pushy and contentious...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12259 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 07:20:26 +00:00
Alkis Evlogimenos
519f4e76b7 Check if printing of implicit uses is required for all types of shift
instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12258 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 06:10:15 +00:00