aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-05-12Don't leave dead bytecode.output files around if the optimizer/block ↵Chris Lattner
extractor crashes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13477 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12This file has been superseded by docs/index.html .Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12Implement the final missing bits for block extractor support. Now bugpointChris Lattner
can extract basic blocks up to the limit of the block extractor implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13475 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12Add link to Valgrind.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13472 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Implement basic block extraction for the miscompilation debugger. This ↵Chris Lattner
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 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11A class that is meant to be a base class should have a virtual destructorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Add a note to make sure the program is memory correctChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13464 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Added obsequi.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13462 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Use inttypes.h, which exists on all of Linux, Solaris and Darwin.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13461 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Unbreak the build on X86.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13460 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Squash warnings on Solaris/sparc... the test suite is not working for me so IBrian Gaeke
can't be sure if these are OK, but they look OK. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13459 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Do not hardcode the name of gcc, because its full pathname may have beenBrian Gaeke
specified by top-level configure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13458 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Do not depend on the path to bashBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13457 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-11Include <sys/types.h> to get the definition of int64_t on Solaris.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13456 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Switch this from using an std::map to using a DenseMap. This speeds upChris Lattner
phi-elimination from 0.6 to 0.54s on kc++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13454 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Use a new VRegPHIUseCount to compute uses of PHI values by other phi valuesChris Lattner
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13453 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Now that we use an ilist of machine instructions, iterators are more robustChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13452 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Fix a fairly serious pessimizaion that was preventing us from efficientlyChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13451 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Bug fixedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13450 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Patch to fix PR337. Make sure to mark all aliased physical registers as usedChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13444 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-10Testcase for PR337, which was reduced by Reid Spencer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Bug 178 FixedReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Changes to make the Stacker Stack use 64 bit values. This *should* getReid Spencer
around the problem with Stacker on Solaris because the Stack can handle 64-bit entries (pointer sized). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Fix some comments, avoid sign extending booleans when zero extend works fineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13440 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Generate more efficient code for casting booleans to integers (no sign ↵Chris Lattner
extension required) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09syntactically loopify natural loops so that the GCC loop optimizer can find ↵Chris Lattner
them. This should *dramatically* improve the performance of CBE compiled code on targets that depend on GCC's loop optimizations (like PPC) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13438 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Do not emit prototypes for setjmp/longjmp, as they are handled speciallyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13437 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Fine grainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Make the floating point constant pools local to each function, split theChris Lattner
FindUsedTypes manipulation stuff out to be a seperate pass, and make the main CWriter be a function pass now! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Bug fixed.Brian Gaeke
Rewrite portability intro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Get this looking more like a function pass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Implement the AddPrototypes methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13432 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Add support for inserting all prototypes up-frontChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09Print all PHI copies for successor blocks before the terminator, whether it ↵Chris Lattner
be a conditional branch or switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13430 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Fix stupid bug in my checkin yesterdayChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Fixed up sched graph.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Registering the ModuloScheduling pass.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Changed CPUResource to allow access to max num users for a resource.Tanya Lattner
Also added ModuloScheduling as a friend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Changed CPUResource to allow access to maxnum users.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13425 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Updating my versions of ModuloScheduling in cvs. Still not complete.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add support for widening integral casts.Brian Gaeke
Flesh out the SetCC support... which currently ends in a little bit of unfinished code (which is probably completely hilarious) for generating the condition value splitting the basic block up into 4 blocks, like this (clearly a better API is needed for this!): BB cond. branch / / R1=1 R2=0 \ / \ / R=phi(R1,R2) Other minor edits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add a bunch more branchesBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Flesh out GEP supportBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13421 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add ADD with immediateBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13420 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add forms of CMP, SUBCC, and a few branches, and some comments.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add stub support for GEPs.Brian Gaeke
Add support for branches (based loosely on X86/InstSelectSimple). Add support for not visiting phi nodes in the first pass. Add support for loading bools. Flesh out support for stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13418 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Add required headerAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13417 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08Remove unneeded headerAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13416 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Implement folding of GEP's like:Chris Lattner
%tmp.0 = getelementptr [50 x sbyte]* %ar, uint 0, int 5 ; <sbyte*> [#uses=2] %tmp.7 = getelementptr sbyte* %tmp.0, int 8 ; <sbyte*> [#uses=1] together. This patch actually allows us to simplify and generalize the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13415 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Allow the user to set the LLVMINTERP environment variable as a workaround, forBrian Gaeke
when they have to run a gccld shell script without having lli in their path. This is intended to address Bug 289. Also, emit the traditional syntax ${1+"$@"} for passing all of a shell script's args to a subprocess. If you have arguments that have spaces in them, $* will not preserve the quoting (i.e., the quoted string "foo bar" as an argument will end up as two arguments "foo" "bar" to lli.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13414 91177308-0d34-0410-b5e6-96231b3b80d8