oota-llvm.git
19 years agoFixed inconsistent indentation.
John Criswell [Tue, 4 May 2004 21:46:05 +0000 (21:46 +0000)]
Fixed inconsistent indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13363 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMissing piece of fix for Bug 333
Brian Gaeke [Tue, 4 May 2004 21:41:45 +0000 (21:41 +0000)]
Missing piece of fix for Bug 333

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13362 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBugs fixed
Brian Gaeke [Tue, 4 May 2004 21:22:57 +0000 (21:22 +0000)]
Bugs fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13360 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoupdate command guide to have --tool-args
Brian Gaeke [Tue, 4 May 2004 21:13:35 +0000 (21:13 +0000)]
update command guide to have --tool-args

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13359 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd --tool-args flag which lets you pass arguments to llc or lli.
Brian Gaeke [Tue, 4 May 2004 21:09:16 +0000 (21:09 +0000)]
Add --tool-args flag which lets you pass arguments to llc or lli.
This is intended to address Bug 40.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13358 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoCorrectly mangle function names when they are used as part of a
Brian Gaeke [Tue, 4 May 2004 21:09:02 +0000 (21:09 +0000)]
Correctly mangle function names when they are used as part of a
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

19 years agoAdd "Args" optional argument to AbstractInterpreter factory methods, which
Brian Gaeke [Tue, 4 May 2004 21:09:01 +0000 (21:09 +0000)]
Add "Args" optional argument to AbstractInterpreter factory methods, which
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

19 years agoRemove unneeded check
Chris Lattner [Tue, 4 May 2004 19:35:11 +0000 (19:35 +0000)]
Remove unneeded check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13355 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove signed division by power of 2 *dramatically* from this:
Chris Lattner [Tue, 4 May 2004 19:33:58 +0000 (19:33 +0000)]
Improve signed division by power of 2 *dramatically* from this:

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

19 years agoProvide visit(Module&) and visitModule(Module&) functionality.
Misha Brukman [Tue, 4 May 2004 18:30:38 +0000 (18:30 +0000)]
Provide visit(Module&) and visitModule(Module&) functionality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd stub support for reading BBTraces.
Brian Gaeke [Tue, 4 May 2004 17:11:14 +0000 (17:11 +0000)]
Add stub support for reading BBTraces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13352 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd BBTrace accessor method and data member.
Brian Gaeke [Tue, 4 May 2004 17:11:13 +0000 (17:11 +0000)]
Add BBTrace accessor method and data member.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBug fixed
Chris Lattner [Tue, 4 May 2004 17:04:09 +0000 (17:04 +0000)]
Bug fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13350 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDo not mark instructions in unreachable sections of the function as live.
Chris Lattner [Tue, 4 May 2004 17:00:46 +0000 (17:00 +0000)]
Do not mark instructions in unreachable sections of the function as live.
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

19 years agoNew testcase for PR332
Chris Lattner [Tue, 4 May 2004 17:00:10 +0000 (17:00 +0000)]
New testcase for PR332

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13348 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew header file containing profile info enums shared between the C++ analysis
Brian Gaeke [Tue, 4 May 2004 16:57:57 +0000 (16:57 +0000)]
New header file containing profile info enums shared between the C++ analysis
libraries and the C runtime support library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoShare ProfilingType enum with the C profiling runtime libraries.
Brian Gaeke [Tue, 4 May 2004 16:53:07 +0000 (16:53 +0000)]
Share ProfilingType enum with the C profiling runtime libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13346 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoShare the profile info type enum with the C++ analysis libraries.
Brian Gaeke [Tue, 4 May 2004 16:51:48 +0000 (16:51 +0000)]
Share the profile info type enum with the C++ analysis libraries.
Add a documentation comment for write_profiling_data().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13345 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConstants for profile info type changed names to match the C++ ones.
Brian Gaeke [Tue, 4 May 2004 16:51:47 +0000 (16:51 +0000)]
Constants for profile info type changed names to match the C++ ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13344 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConstants for profile info type changed names to match the C++ ones.
Brian Gaeke [Tue, 4 May 2004 16:51:46 +0000 (16:51 +0000)]
Constants for profile info type changed names to match the C++ ones.
Edited comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13343 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove code generated for integer multiplications by 2,3,5,9
Chris Lattner [Tue, 4 May 2004 15:47:14 +0000 (15:47 +0000)]
Improve code generated for integer multiplications by 2,3,5,9

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13342 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMinor efficiency tweak, suggested by Patrick Meredith
Chris Lattner [Tue, 4 May 2004 15:19:33 +0000 (15:19 +0000)]
Minor efficiency tweak, suggested by Patrick Meredith

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13341 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix typo
Brian Gaeke [Mon, 3 May 2004 23:52:07 +0000 (23:52 +0000)]
Fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13340 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd initial implementation of basic block tracing runtime
Brian Gaeke [Mon, 3 May 2004 23:51:50 +0000 (23:51 +0000)]
Add initial implementation of basic block tracing runtime

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13339 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd basic block tracing functions as exported symbols.
Brian Gaeke [Mon, 3 May 2004 23:49:17 +0000 (23:49 +0000)]
Add basic block tracing functions as exported symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13338 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd basic block tracing information as a type of "profiling" information.
Brian Gaeke [Mon, 3 May 2004 23:49:16 +0000 (23:49 +0000)]
Add basic block tracing information as a type of "profiling" information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13337 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoIn InsertProfilingInitCall(), make it legal to pass in a null array, in
Brian Gaeke [Mon, 3 May 2004 22:06:33 +0000 (22:06 +0000)]
In InsertProfilingInitCall(), make it legal to pass in a null array, in
which case you'll get a null array and zero passed to the profiling function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13336 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd initial implementation of basic-block tracing instrumentation pass.
Brian Gaeke [Mon, 3 May 2004 22:06:32 +0000 (22:06 +0000)]
Add initial implementation of basic-block tracing instrumentation pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13335 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitialize member out of paranoia
Chris Lattner [Sun, 2 May 2004 16:06:40 +0000 (16:06 +0000)]
Initialize member out of paranoia

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13319 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a problem with double freeing memory. For some reason, CallGraph is not
Chris Lattner [Sun, 2 May 2004 16:06:18 +0000 (16:06 +0000)]
Fix a problem with double freeing memory.  For some reason, CallGraph is not
acting like a normal pass.  :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13318 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPlug a minor memory leak
Chris Lattner [Sun, 2 May 2004 07:31:34 +0000 (07:31 +0000)]
Plug a minor memory leak

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13317 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not clone arbitrary condition instructions.
Chris Lattner [Sun, 2 May 2004 05:19:36 +0000 (05:19 +0000)]
Do not clone arbitrary condition instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13316 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not infinitely "unroll" single BB loops.
Chris Lattner [Sun, 2 May 2004 05:02:03 +0000 (05:02 +0000)]
Do not infinitely "unroll" single BB loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13315 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd some stuff to the release notes.
Chris Lattner [Sun, 2 May 2004 04:19:15 +0000 (04:19 +0000)]
Add some stuff to the release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13314 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChris told me to take these assertions out a few days ago, but I forgot to
Brian Gaeke [Sun, 2 May 2004 01:04:52 +0000 (01:04 +0000)]
Chris told me to take these assertions out a few days ago, but I forgot to
check this in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13313 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDont' merge terminators that are needed to select PHI node values.
Chris Lattner [Sun, 2 May 2004 01:00:44 +0000 (01:00 +0000)]
Dont' merge terminators that are needed to select PHI node values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13312 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement SimplifyCFG/branch-cond-merge.ll
Chris Lattner [Sat, 1 May 2004 23:35:43 +0000 (23:35 +0000)]
Implement SimplifyCFG/branch-cond-merge.ll
Turning "if (A < B && B < C)" into "if (A < B & B < C)"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13311 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase:
Chris Lattner [Sat, 1 May 2004 23:35:21 +0000 (23:35 +0000)]
New testcase:
  Turn "if (A < B && B < C)" into "if (A < B & B < C)"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13310 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure to reprocess instructions used by deleted instructions to avoid
Chris Lattner [Sat, 1 May 2004 23:27:23 +0000 (23:27 +0000)]
Make sure to reprocess instructions used by deleted instructions to avoid
missing opportunities for combination.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13309 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure the instruction combiner doesn't lose track of instructions
Chris Lattner [Sat, 1 May 2004 23:19:52 +0000 (23:19 +0000)]
Make sure the instruction combiner doesn't lose track of instructions
when replacing them, missing the opportunity to do simplifications

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13308 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix my missing parens
Chris Lattner [Sat, 1 May 2004 22:41:51 +0000 (22:41 +0000)]
Fix my missing parens

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13307 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement SimplifyCFG/branch-cond-prop.ll
Chris Lattner [Sat, 1 May 2004 22:36:37 +0000 (22:36 +0000)]
Implement SimplifyCFG/branch-cond-prop.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13306 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase for case that simplifycfg should catch
Chris Lattner [Sat, 1 May 2004 22:36:24 +0000 (22:36 +0000)]
New testcase for case that simplifycfg should catch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13305 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove unused #include
Chris Lattner [Sat, 1 May 2004 21:29:16 +0000 (21:29 +0000)]
Remove unused #include

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13304 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIterate over the Machine CFG that Brian added instead of the LLVM CFG.
Chris Lattner [Sat, 1 May 2004 21:27:53 +0000 (21:27 +0000)]
Iterate over the Machine CFG that Brian added instead of the LLVM CFG.

Look at all of the pretty minuses. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13303 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOperate on the Machine CFG instead of on the LLVM CFG
Chris Lattner [Sat, 1 May 2004 21:24:39 +0000 (21:24 +0000)]
Operate on the Machine CFG instead of on the LLVM CFG

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13302 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoStop LiveVariables from using BasicBlocks as part of the mapping, instead
Chris Lattner [Sat, 1 May 2004 21:24:24 +0000 (21:24 +0000)]
Stop LiveVariables from using BasicBlocks as part of the mapping, instead
use MachineBasicBlocks.  To do this, we traverse the Machine CFG instead of
the LLVM CFG, which is also *MUCH* more efficient by having fewer levels of
indirections and mappings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13301 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoStop LiveVariables from using BasicBlocks as part of the mapping, instead
Chris Lattner [Sat, 1 May 2004 21:23:35 +0000 (21:23 +0000)]
Stop LiveVariables from using BasicBlocks as part of the mapping, instead
use MachineBasicBlocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13300 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
Chris Lattner [Sat, 1 May 2004 21:05:34 +0000 (21:05 +0000)]
Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13299 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd comment about optimizations
Chris Lattner [Sat, 1 May 2004 11:40:07 +0000 (11:40 +0000)]
Add comment about optimizations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13298 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a constructor that got lost
Chris Lattner [Sat, 1 May 2004 11:17:13 +0000 (11:17 +0000)]
Add a constructor that got lost

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13297 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGeneralize the strlen size_t hack, for the benefit of the other external
Brian Gaeke [Sat, 1 May 2004 06:42:15 +0000 (06:42 +0000)]
Generalize the strlen size_t hack, for the benefit of the other external
functions with wrappers that either take or return size_ts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13296 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix broken link, again.
Chris Lattner [Fri, 30 Apr 2004 22:17:12 +0000 (22:17 +0000)]
Fix broken link, again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13295 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSorry, now friend class name should be right!!
Tanya Lattner [Fri, 30 Apr 2004 20:48:37 +0000 (20:48 +0000)]
Sorry, now friend class name should be right!!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13294 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFixed friend class name for ModuloScheduling.
Tanya Lattner [Fri, 30 Apr 2004 20:47:59 +0000 (20:47 +0000)]
Fixed friend class name for ModuloScheduling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13293 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFixed friend class name for ModuloSched
Tanya Lattner [Fri, 30 Apr 2004 20:46:40 +0000 (20:46 +0000)]
Fixed friend class name for ModuloSched

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13292 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemoving MachineResource class.
Tanya Lattner [Fri, 30 Apr 2004 20:40:38 +0000 (20:40 +0000)]
Removing MachineResource class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13291 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a broken link
Chris Lattner [Fri, 30 Apr 2004 14:13:16 +0000 (14:13 +0000)]
Fix a broken link

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13290 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a major pessimization in the instcombiner. If an allocation instruction
Chris Lattner [Fri, 30 Apr 2004 04:37:52 +0000 (04:37 +0000)]
Fix a major pessimization in the instcombiner.  If an allocation instruction
is only used by a cast, and the casted type is the same size as the original
allocation, it would eliminate the cast by folding it into the allocation.

Unfortunately, it was placing the new allocation instruction right before
the cast, which could pull (for example) alloca instructions into the body
of a function.  This turns statically allocatable allocas into expensive
dynamically allocated allocas, which is bad bad bad.

This fixes the problem by placing the new allocation instruction at the same
place the old one was, duh. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13289 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd machine-CFG graph traits specializations.
Brian Gaeke [Thu, 29 Apr 2004 17:43:55 +0000 (17:43 +0000)]
Add machine-CFG graph traits specializations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13288 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWrapped code and comments at 80 cols; doxygenified some comments.
Misha Brukman [Thu, 29 Apr 2004 04:05:30 +0000 (04:05 +0000)]
Wrapped code and comments at 80 cols; doxygenified some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13264 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoReorder #includes as per style guide.
Misha Brukman [Thu, 29 Apr 2004 04:04:47 +0000 (04:04 +0000)]
Reorder #includes as per style guide.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13263 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded `zeroinitializer' keyword.
Misha Brukman [Wed, 28 Apr 2004 19:36:08 +0000 (19:36 +0000)]
Added `zeroinitializer' keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13253 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoclass AssemblyWriter:
Misha Brukman [Wed, 28 Apr 2004 19:24:28 +0000 (19:24 +0000)]
class AssemblyWriter:
* Make contained ostream pointer, not reference
* Allow setting of that ostream via setStream()

class CachedWriter:
* setStream() in turn calls setStream() on the AssemblyWriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13247 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Make contained ostream not public.
Misha Brukman [Wed, 28 Apr 2004 19:22:58 +0000 (19:22 +0000)]
* Make contained ostream not public.
* Remove various print methods that called the Value* method, just have one that
  all subclasses of Value will use anyway.
* Remove template for printing constant references
* Add methods to print char* and strings
* setStream now sets the stream on the contained AssemblyWriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13246 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSend text and numbers directly to CachedWriter's contained ostream.
Misha Brukman [Wed, 28 Apr 2004 18:52:43 +0000 (18:52 +0000)]
Send text and numbers directly to CachedWriter's contained ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13243 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSquelch compile-time warning (profile build).
Misha Brukman [Wed, 28 Apr 2004 15:32:09 +0000 (15:32 +0000)]
Squelch compile-time warning (profile build).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13228 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Add ability to print out type as symbolic
Misha Brukman [Wed, 28 Apr 2004 15:31:21 +0000 (15:31 +0000)]
* Add ability to print out type as symbolic
* Add Module accessor to AssemblyWriter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13227 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Add ability to get and set the output stream
Misha Brukman [Wed, 28 Apr 2004 15:30:33 +0000 (15:30 +0000)]
* Add ability to get and set the output stream
* New feature: outputting a Type* as symbolic, controlled via the stream
  similarly to sending std::hex to change number format

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13226 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd pred./succ. list size methods.
Brian Gaeke [Wed, 28 Apr 2004 04:46:35 +0000 (04:46 +0000)]
Add pred./succ. list size methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13214 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake RequiresFPRegKill() take a MachineBasicBlock arg.
Brian Gaeke [Wed, 28 Apr 2004 04:45:55 +0000 (04:45 +0000)]
Make RequiresFPRegKill() take a MachineBasicBlock arg.
In InsertFPRegKills(), just check the MachineBasicBlock for successors
instead of its corresponding BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13213 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIn InsertFPRegKills(), use the machine-CFG itself rather than the
Brian Gaeke [Wed, 28 Apr 2004 04:34:16 +0000 (04:34 +0000)]
In InsertFPRegKills(), use the machine-CFG itself rather than the
LLVM CFG when trying to find the successors of BB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13212 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate the machine-CFG edges whenever we see a branch.
Brian Gaeke [Wed, 28 Apr 2004 04:19:37 +0000 (04:19 +0000)]
Update the machine-CFG edges whenever we see a branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13211 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove private methods to end of class decl at Chris's request
Brian Gaeke [Wed, 28 Apr 2004 04:15:06 +0000 (04:15 +0000)]
Move private methods to end of class decl at Chris's request

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13210 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix thinkos that Chris caught for me.
Brian Gaeke [Wed, 28 Apr 2004 03:59:48 +0000 (03:59 +0000)]
Fix thinkos that Chris caught for me.
Make pred mutators private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13209 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd machine-code CFG support: MachineBasicBlocks may now have their own
Brian Gaeke [Wed, 28 Apr 2004 02:16:33 +0000 (02:16 +0000)]
Add machine-code CFG support: MachineBasicBlocks may now have their own
predecessors and successors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13208 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIntegrate the rest of my random sparcv9 scribblings into this file
Brian Gaeke [Tue, 27 Apr 2004 22:04:03 +0000 (22:04 +0000)]
Integrate the rest of my random sparcv9 scribblings into this file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13204 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix warning building in optimized mode
Chris Lattner [Tue, 27 Apr 2004 18:24:38 +0000 (18:24 +0000)]
Fix warning building in optimized mode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13190 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix warning
Chris Lattner [Tue, 27 Apr 2004 18:21:56 +0000 (18:21 +0000)]
Fix warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13189 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChanges to fix up the inst_iterator to pass to boost iterator checks. This
Chris Lattner [Tue, 27 Apr 2004 15:13:33 +0000 (15:13 +0000)]
Changes to fix up the inst_iterator to pass to boost iterator checks.  This
patch was graciously contributed by Vladimir Prus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13185 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoBecause I like being able to instantiate the cfgprinter from external projects,
Brian Gaeke [Mon, 26 Apr 2004 16:27:53 +0000 (16:27 +0000)]
Because I like being able to instantiate the cfgprinter from external projects,
this header file is born.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13176 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd functions that return instances of these printer passes
Brian Gaeke [Mon, 26 Apr 2004 16:27:08 +0000 (16:27 +0000)]
Add functions that return instances of these printer passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13175 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a typo in a comment.
Brian Gaeke [Mon, 26 Apr 2004 16:26:21 +0000 (16:26 +0000)]
Fix a typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13174 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIf an object is not in the scalar map then it must be a global from another
Chris Lattner [Mon, 26 Apr 2004 14:44:08 +0000 (14:44 +0000)]
If an object is not in the scalar map then it must be a global from another
graph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13173 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInstcombine X/-1 --> 0-X
Chris Lattner [Mon, 26 Apr 2004 14:01:59 +0000 (14:01 +0000)]
Instcombine X/-1 --> 0-X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13172 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new testcase for X/-1, fix bug that prevented tests from running right
Chris Lattner [Mon, 26 Apr 2004 14:01:47 +0000 (14:01 +0000)]
Add a new testcase for X/-1, fix bug that prevented tests from running right

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13171 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix file header comments and include guards -- many files have been moved or
Brian Gaeke [Sun, 25 Apr 2004 07:04:49 +0000 (07:04 +0000)]
Fix file header comments and include guards -- many files have been moved or
renamed since they were last spiffed up, or they just never had proper comments
in the first place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13148 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a getRegisterInfo() accessor just like on the X86 target.
Brian Gaeke [Sun, 25 Apr 2004 06:32:28 +0000 (06:32 +0000)]
Add a getRegisterInfo() accessor just like on the X86 target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13147 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRegularize file header comment and include guard.
Brian Gaeke [Sun, 25 Apr 2004 06:32:16 +0000 (06:32 +0000)]
Regularize file header comment and include guard.
Include SparcV9RegisterInfo.h.
Add a getRegisterInfo() accessor and SparcV9RegisterInfo instance, just like
on the X86 target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13146 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd MRegisterInfo subclass for the SparcV9 target (containing only stub
Brian Gaeke [Sun, 25 Apr 2004 06:32:05 +0000 (06:32 +0000)]
Add MRegisterInfo subclass for the SparcV9 target (containing only stub
functions for now). This automatically turns on the printing of machine
registers using their own real names, instead of goofy things like %mreg(42),
and allows us to migrate code incrementally to the new interface as we see fit.

The register file description it uses is hand-written, so that the register
numbers will match the ones that the SparcV9 target already uses.
Perhaps someday we'll tablegen it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13145 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoStandardize header comments of top-level Makefiles.
Misha Brukman [Sat, 24 Apr 2004 00:10:56 +0000 (00:10 +0000)]
Standardize header comments of top-level Makefiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13143 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAggregating function arguments is now an option. Default is `no', as before.
Misha Brukman [Fri, 23 Apr 2004 23:54:34 +0000 (23:54 +0000)]
Aggregating function arguments is now an option. Default is `no', as before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13142 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Allow aggregating extracted function arguments (controlled by flag)
Misha Brukman [Fri, 23 Apr 2004 23:54:17 +0000 (23:54 +0000)]
* Allow aggregating extracted function arguments (controlled by flag)
* Commandline option (for now) controls that flag that is passed in

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13141 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a typo.
Brian Gaeke [Fri, 23 Apr 2004 21:45:02 +0000 (21:45 +0000)]
Fix a typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13136 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove the scev expansion code into this pass, where it belongs. There is
Chris Lattner [Fri, 23 Apr 2004 21:29:48 +0000 (21:29 +0000)]
Move the scev expansion code into this pass, where it belongs.  There is
still room for cleanup, but at least the code modification is out of the
analysis now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13135 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate all of the SCEV Expansion code which is really part of the
Chris Lattner [Fri, 23 Apr 2004 21:29:03 +0000 (21:29 +0000)]
Eliminate all of the SCEV Expansion code which is really part of the
IndVars pass, not part of SCEV *analysis*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13134 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove the SCEV::expandCodeFor method, add a new SCEVVisitor class.
Chris Lattner [Fri, 23 Apr 2004 21:28:25 +0000 (21:28 +0000)]
Remove the SCEV::expandCodeFor method, add a new SCEVVisitor class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13133 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTeach bugpoint to be a little bit smarter and avoid repeating work
Chris Lattner [Fri, 23 Apr 2004 20:36:51 +0000 (20:36 +0000)]
Teach bugpoint to be a little bit smarter and avoid repeating work

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13132 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMerged this file into the SparcV9 target.
Brian Gaeke [Fri, 23 Apr 2004 18:17:03 +0000 (18:17 +0000)]
Merged this file into the SparcV9 target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13128 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMerge TargetRegInfo.h into SparcV9RegInfo.h, which is its only subclass.
Brian Gaeke [Fri, 23 Apr 2004 18:15:48 +0000 (18:15 +0000)]
Merge TargetRegInfo.h into SparcV9RegInfo.h, which is its only subclass.
This prepares us to be able to de-virtualize and de-abstract it, and
take the register allocator bits out and move them into the register allocator
proper...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13127 91177308-0d34-0410-b5e6-96231b3b80d8