aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2004-05-07Add support for copying bool constants to registers.Brian Gaeke
Disable the code that copies long constants to registers - it looks fishy. Implement some simple casts: integral, smaller than longs, and equal-width or narrowing only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Codegen floating point stores of constants into integer instructions. ThisChris Lattner
allows us to compile: store float 10.0, float* %P into: mov DWORD PTR [%EAX], 1092616192 instead of: .CPItest_0: # float 0x4024000000000000 .long 1092616192 # float 10 ... fld DWORD PTR [.CPItest_0] fstp DWORD PTR [%EAX] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Add more casts. You can never have enough casts.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13408 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Make comparisons against the null pointer as efficient as integer comparisonsChris Lattner
against zero. In particular, don't emit: mov %ESI, 0 cmp %ECX, %ESI instead, emit: test %ECX, %ECX git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07PR implementedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13406 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Bug fixedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13403 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13402 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07New testcase for PR336Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13401 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Fix PR336: The instcombine pass asserts when visiting load instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13400 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Regression test for PR#330.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07Add the enum corresponding to the source change I made earlierChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Bug fixed.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Don't call getForwardedType() twice, as recommended by Chris.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Use the new commandline flag to allow us to call bugpoint like this:Chris Lattner
bugpoint ... --tool-args -enable-correct-eh-support -regalloc=linearscan --args -- -foo So that tool-args option gets the -enable-correct-eh-support -regalloc=linearscan flags instead of bugpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Implement the new cl::PositionalEatsArgs flag, refactor code a bitChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Add a new cl::PositionalEatsArgs flagChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Fix for PR#330.John Criswell
When looking at getelementptr instructions, make sure to use a forwarded type. We want to do this because a DerivedType may drop its uses and then refine its users, who may then use another user who hasn't been refined yet. By getting the forwarded type, we always ensure that we're looking at a Type that isn't in a halfway refined state. Now, I should be able to put this stuff in PATypeHandle, but it doesn't work for some reason. This should do for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Remove a really old commentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Just testing the "Reid has CVS commit access" systemReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13384 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Give props to Vladimir Prus for the inst_iterator patch.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06numeric_limits::infinity() apparently does not work on all systems. As aChris Lattner
workaround, use the C HUGE_VAL macro instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Fix for gcc3.4: invalid use of forward delacred class on line 93Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-05Move the stuff that fixes the size, orientation & fonts of graphs toBrian Gaeke
the debugging functions that call "dot". These fixed settings have various problems: for example, the fixed size that is set in the graph traits classes is not appropriate for turning the dot file into a PNG, and if TrueType font rendering is being used, the 'Courier' TrueType font may not be installed. It seems easy enough to specify these things on the command line, anyhow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Apply simplification suggested by Chris: why assign() when operator = will do?Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Fixed inconsistent indentation.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13363 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Missing piece of fix for Bug 333Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13362 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Bugs fixedBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13360 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04update command guide to have --tool-argsBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Add --tool-args flag which lets you pass arguments to llc or lli.Brian Gaeke
This is intended to address Bug 40. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Correctly mangle function names when they are used as part of aBrian Gaeke
constant pool member's name. This is intended to address Bug 333. Also, fix an anachronistic usage of "M" as a parameter of type Function *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Add "Args" optional argument to AbstractInterpreter factory methods, whichBrian Gaeke
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This ToolArgs vector is used to pass additional arguments to LLI and/or LLC. This is intended to address Bug 40. Also, make -debug-only=toolrunner work for the LLC and CBE AbstractInterpreters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Remove unneeded checkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Improve signed division by power of 2 *dramatically* from this:Chris Lattner
div: mov %EDX, DWORD PTR [%ESP + 4] mov %ECX, 64 mov %EAX, %EDX sar %EDX, 31 idiv %ECX ret to this: div: mov %EAX, DWORD PTR [%ESP + 4] mov %ECX, %EAX sar %ECX, 5 shr %ECX, 26 mov %EDX, %EAX add %EDX, %ECX sar %EAX, 6 ret Note that the intel compiler is currently making this: div: movl 4(%esp), %edx #3.5 movl %edx, %eax #4.14 sarl $5, %eax #4.14 shrl $26, %eax #4.14 addl %edx, %eax #4.14 sarl $6, %eax #4.14 ret #4.14 Which has one less register->register copy. (hint hint alkis :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13354 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Provide visit(Module&) and visitModule(Module&) functionality.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Add stub support for reading BBTraces.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Add BBTrace accessor method and data member.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Bug fixedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Do not mark instructions in unreachable sections of the function as live.Chris Lattner
This fixes PR332 and ADCE/2004-05-04-UnreachableBlock.llx git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13349 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04New testcase for PR332Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13348 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04New header file containing profile info enums shared between the C++ analysisBrian Gaeke
libraries and the C runtime support library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04Share ProfilingType enum with the C profiling runtime libraries.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13346 91177308-0d34-0410-b5e6-96231b3b80d8