summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Centralize images in this dir; add lines.gif from website for consistentMisha Brukman2004-05-123-0/+0
| | | | | | formatting. llvm-svn: 13507
* Make file use stylesheets and be HTML-4.01 (Strict)-compliant.Misha Brukman2004-05-121-386/+442
| | | | llvm-svn: 13506
* Made document HTML-4.01 (Strict)-compliant.Misha Brukman2004-05-121-69/+78
| | | | llvm-svn: 13505
* Make file standard-compliant once again.Misha Brukman2004-05-121-21/+10
| | | | llvm-svn: 13504
* Made file comply with HTML-4.01 (Strict)Misha Brukman2004-05-121-234/+179
| | | | llvm-svn: 13503
* Turn the block extractor on by default now that it basically works, ↵Chris Lattner2004-05-121-7/+0
| | | | | | eliminating the option. llvm-svn: 13502
* Made file HTML-4.01 (Strict)-compliant.Misha Brukman2004-05-121-12/+12
| | | | llvm-svn: 13501
* Made to be HTML-4.01 (Strict)-compliant.Misha Brukman2004-05-121-14/+16
| | | | llvm-svn: 13500
* Made to be HTML-4.01 (Strict) -compliant.Misha Brukman2004-05-121-13/+18
| | | | llvm-svn: 13499
* Add proper footer since this file is HTML-4.01 compliant.Misha Brukman2004-05-121-6/+9
| | | | llvm-svn: 13498
* Make document HTML-4.01 (Strict) compliant.Misha Brukman2004-05-121-265/+184
| | | | llvm-svn: 13497
* Fix grammar: remove `the' before LLVM.Misha Brukman2004-05-121-2/+2
| | | | llvm-svn: 13496
* * Make the document format follow the stringent purple standards (like the restMisha Brukman2004-05-121-265/+162
| | | | | | | | | | of the documentation) * Do not make the link text be the link itself, use some keywords * Make doc use stylesheets and HTML markup for lists instead of definitions * Shorten page by not making multiple lines per link with description + link of the same name as the target llvm-svn: 13495
* Pass boolean constants into function calls more efficiently, generating:Chris Lattner2004-05-121-1/+7
| | | | | | | | | | | mov DWORD PTR [%ESP + 4], 1 instead of: mov %EAX, 1 mov DWORD PTR [%ESP + 4], %EAX llvm-svn: 13494
* Do not pass in the same argument to the extracted function more than once, andChris Lattner2004-05-121-1/+8
| | | | | | give the extracted function a more useful name than just foo_code. llvm-svn: 13493
* Check to see if all blocks are extractible first.Chris Lattner2004-05-121-8/+19
| | | | llvm-svn: 13491
* Implement support for code extracting basic blocks that have a returnChris Lattner2004-05-121-2/+12
| | | | | | instruction in them. llvm-svn: 13490
* Implement splitting of PHI nodes, allowing block extraction of BB's that haveChris Lattner2004-05-121-7/+96
| | | | | | | | | | PHI node entries from multiple outside-the-region blocks. This also fixes extraction of the entry block in a function. Yaay. This has successfully block extracted all (but one) block from the score_move function in obsequi (out of 33). Hrm, I wonder which block the bug is in. :) llvm-svn: 13489
* * Pull some code out into the definedInRegion/definedInCaller methodsChris Lattner2004-05-121-78/+78
| | | | | | | | | | | | | | | | * Add a stub for the severSplitPHINodes which will allow us to bbextract bb's with PHI nodes in them soon. * Remove unused arguments from findInputsOutputs * Dramatically simplify the code in findInputsOutputs. In particular, nothing really cares whether or not a PHI node is using something. * Move moveCodeToFunction to after emitCallAndSwitchStatement as that's the order they get called. * Fix a bug where we would code extract a region that included a call to vastart. Like 'alloca', calls to vastart must stay in the function that they are defined in. * Add some comments. llvm-svn: 13482
* Generate substantially better code when there are a limited number of exitsChris Lattner2004-05-121-22/+61
| | | | | | | | | | | from the extracted region. If the return has 0 or 1 exit blocks, the new function returns void. If it has 2 exits, it returns bool, otherwise it returns a ushort as before. This allows us to use a conditional branch instruction when there are two exit blocks, as often happens during block extraction. llvm-svn: 13481
* Two minor improvements:Chris Lattner2004-05-121-18/+14
| | | | | | | | | | | | 1. Get rid of the silly abort block. When doing bb extraction, we get one abort block for every block extracted, which is kinda annoying. 2. If the switch ends up having a single destination, turn it into an unconditional branch. I would like to add support for conditional branches, but to do this we will want to have the function return a bool instead of a ushort. llvm-svn: 13478
* Don't leave dead bytecode.output files around if the optimizer/block ↵Chris Lattner2004-05-121-6/+5
| | | | | | extractor crashes. llvm-svn: 13477
* This file has been superseded by docs/index.html .Misha Brukman2004-05-121-128/+1
| | | | llvm-svn: 13476
* Implement the final missing bits for block extractor support. Now bugpointChris Lattner2004-05-121-2/+35
| | | | | | can extract basic blocks up to the limit of the block extractor implementation. llvm-svn: 13475
* Add link to Valgrind.Misha Brukman2004-05-121-2/+3
| | | | llvm-svn: 13472
* Implement basic block extraction for the miscompilation debugger. This ↵Chris Lattner2004-05-113-0/+188
| | | | | | | | | | | | | | | | still needs two things: the FIXME in ExtractBlocks needs to be implemented, and the basic block extractor itself needs to have enough bugs fixed for this to be more or less useful. Until the time that this is generally useful, it is hidden behind the new bugpoint -enable-block-extraction option. I hope to get the FIXME done tonight. Also of note, this patch adds a -extract-bbs option to bugpoint which can be used to debug the block extractor. (hint hint Misha :) llvm-svn: 13471
* A class that is meant to be a base class should have a virtual destructorChris Lattner2004-05-111-0/+2
| | | | llvm-svn: 13470
* Add a note to make sure the program is memory correctChris Lattner2004-05-111-3/+9
| | | | llvm-svn: 13464
* Added obsequi.John Criswell2004-05-111-0/+1
| | | | llvm-svn: 13462
* Use inttypes.h, which exists on all of Linux, Solaris and Darwin.Brian Gaeke2004-05-111-2/+1
| | | | llvm-svn: 13461
* Unbreak the build on X86.Chris Lattner2004-05-111-0/+1
| | | | llvm-svn: 13460
* Squash warnings on Solaris/sparc... the test suite is not working for me so IBrian Gaeke2004-05-111-2/+2
| | | | | | can't be sure if these are OK, but they look OK. llvm-svn: 13459
* Do not hardcode the name of gcc, because its full pathname may have beenBrian Gaeke2004-05-111-1/+1
| | | | | | specified by top-level configure llvm-svn: 13458
* Do not depend on the path to bashBrian Gaeke2004-05-111-1/+1
| | | | llvm-svn: 13457
* Include <sys/types.h> to get the definition of int64_t on Solaris.Brian Gaeke2004-05-111-0/+1
| | | | llvm-svn: 13456
* Switch this from using an std::map to using a DenseMap. This speeds upChris Lattner2004-05-101-6/+5
| | | | | | phi-elimination from 0.6 to 0.54s on kc++. llvm-svn: 13454
* Use a new VRegPHIUseCount to compute uses of PHI values by other phi valuesChris Lattner2004-05-101-14/+21
| | | | | | | in the basic block being processed. This fixes PhiElimination on kimwitu++ from taking 105s to taking a much more reasonable 0.6s (in a debug build). llvm-svn: 13453
* Now that we use an ilist of machine instructions, iterators are more robustChris Lattner2004-05-101-5/+8
| | | | | | | | | than before. Because this is the case, we can compute the first non-phi instruction once when de-phi'ing a block. This shaves ~4s off of phielimination of _Z7yyparsev in kimwitu++ from 109s -> 105s. There are still much more important gains to come. llvm-svn: 13452
* Fix a fairly serious pessimizaion that was preventing us from efficientlyChris Lattner2004-05-101-2/+3
| | | | | | | compiling things like 'add long %X, 1'. The problem is that we were switching the order of the operands for longs even though we can't fold them yet. llvm-svn: 13451
* Bug fixedChris Lattner2004-05-101-0/+1
| | | | llvm-svn: 13450
* Patch to fix PR337. Make sure to mark all aliased physical registers as usedChris Lattner2004-05-101-3/+8
| | | | | | | | | | | | | when we see a read of a register. This is important in cases like: AL = ... AH = ... = AX The read of AX must make both the AL and AH defs live until the use. llvm-svn: 13444
* Testcase for PR337, which was reduced by Reid Spencer.Chris Lattner2004-05-101-0/+15
| | | | llvm-svn: 13443
* Bug 178 FixedReid Spencer2004-05-091-0/+2
| | | | llvm-svn: 13442
* Changes to make the Stacker Stack use 64 bit values. This *should* getReid Spencer2004-05-095-42/+37
| | | | | | | around the problem with Stacker on Solaris because the Stack can handle 64-bit entries (pointer sized). llvm-svn: 13441
* Fix some comments, avoid sign extending booleans when zero extend works fineChris Lattner2004-05-091-5/+5
| | | | llvm-svn: 13440
* Generate more efficient code for casting booleans to integers (no sign ↵Chris Lattner2004-05-091-1/+1
| | | | | | extension required) llvm-svn: 13439
* syntactically loopify natural loops so that the GCC loop optimizer can find ↵Chris Lattner2004-05-091-52/+85
| | | | | | them. This should *dramatically* improve the performance of CBE compiled code on targets that depend on GCC's loop optimizations (like PPC) llvm-svn: 13438
* Do not emit prototypes for setjmp/longjmp, as they are handled speciallyChris Lattner2004-05-091-1/+2
| | | | llvm-svn: 13437
* Fine grainify namespacificationChris Lattner2004-05-091-4/+1
| | | | llvm-svn: 13436
* Make the floating point constant pools local to each function, split theChris Lattner2004-05-091-99/+112
| | | | | | | FindUsedTypes manipulation stuff out to be a seperate pass, and make the main CWriter be a function pass now! llvm-svn: 13435
OpenPOWER on IntegriCloud