aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* new testcase for pr670Chris Lattner2005-11-291-0/+88
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24507 91177308-0d34-0410-b5e6-96231b3b80d8
* add Evan and Jim. Please edit your entries as desired.Chris Lattner2005-11-291-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24506 91177308-0d34-0410-b5e6-96231b3b80d8
* refix typoChris Lattner2005-11-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24505 91177308-0d34-0410-b5e6-96231b3b80d8
* don't say this is i128, because it isn't yet. Hopefully nate will changeChris Lattner2005-11-291-1/+1
| | | | | | | | this to be something sane, but in the mean time it is unused, so safe to make something bogus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24504 91177308-0d34-0410-b5e6-96231b3b80d8
* revert my change for the time being, which broke the buildChris Lattner2005-11-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24503 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a punctuation error.John Criswell2005-11-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24502 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a typo :)Chris Lattner2005-11-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24501 91177308-0d34-0410-b5e6-96231b3b80d8
* a few more comments on the interfaces and functionsAndrew Lenharth2005-11-281-3/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24500 91177308-0d34-0410-b5e6-96231b3b80d8
* Added documented rsprofiler interface. Also remove new profiler passes, theAndrew Lenharth2005-11-286-139/+93
| | | | | | | old ones have been updated to implement the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24499 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the remove() function from the C library.John Criswell2005-11-281-0/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24498 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach Visual Studio about new files.Jeff Cohen2005-11-281-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24497 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ warning.Jeff Cohen2005-11-281-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24496 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a missed optimizationChris Lattner2005-11-281-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24495 91177308-0d34-0410-b5e6-96231b3b80d8
* Use std:: where appropriateChris Lattner2005-11-281-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24494 91177308-0d34-0410-b5e6-96231b3b80d8
* Random sampling (aka Arnold and Ryder) profiling. This is still ↵Andrew Lenharth2005-11-284-0/+742
| | | | | | | | | | | | | | | | | | preliminary, but it works on spec on x86 and alpha. The idea is to allow profiling passes to remember what profiling they inserted, then a random sampling framework is inserted which consists of duplicated basic blocks (without profiling), such that at each backedge in the program and entry into every function, the framework chooses whether to use the instrumented code or the instrumentation free code. The goal of such a framework is to make it reasonably cheap to do random sampling of very expensive profiling products (such as load-value profiling). The code is organized into 3 parts (2 passes) 1) a linked set of profiling passes, which implement an analysis group (linked, like alias analysis are). These insert profiling into the program, and remember what they inserted, so that at a later time they can be queried about any instruction. 2) a pass that handles inserting the random sampling framework. This also has options to control how random samples are choosen. Currently implemented are Global counters, register allocated global counters, and read cycle counter (see? there was a reason for it). The profiling passes are almost identical to the existing ones (block, function, and null profiling is supported right now), and they are valid passes without the sampling framework (hence the existing passes can be unified with the new ones, not done yet). Some things are a bit ugly still, but that should be fixed up soon enough. Other todo? making the counter values not "magic 2^16 -1" values, but dynamically choosable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24493 91177308-0d34-0410-b5e6-96231b3b80d8
* Small tweaks noticed while on the plane.Nate Begeman2005-11-263-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24492 91177308-0d34-0410-b5e6-96231b3b80d8
* since reg2mem requires it, might as well mention that it preserves itAndrew Lenharth2005-11-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24491 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for dynamic_stackalloc to the dag isel (thanks andrew ;)Duraid Madina2005-11-251-3/+31
| | | | | | | next up: support argument passing in memory, not just registers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24490 91177308-0d34-0410-b5e6-96231b3b80d8
* Some first bits of AltiVec stuff: Instruction Formats, Encodings, andNate Begeman2005-11-233-1/+123
| | | | | | | | | | | Registers. Apologies to Jim if the scheduling info so far isn't accurate. There's a few more things like VRsave support that need to be finished up in my local tree before I can commit code that Does The Right Thing for turning 4 x float into the various altivec packed float instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24489 91177308-0d34-0410-b5e6-96231b3b80d8
* Reg2Mem is something a pass may depend on, so allow thatAndrew Lenharth2005-11-222-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24488 91177308-0d34-0410-b5e6-96231b3b80d8
* turns out, demotion and invokes and critical edges don't mixAndrew Lenharth2005-11-221-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24487 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning, the better way. Really, this is what this instruction is for, ↵Andrew Lenharth2005-11-221-7/+7
| | | | | | so use it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24486 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warningAndrew Lenharth2005-11-221-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24485 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in code to scalarize arbitrarily wide packed types for some simpleNate Begeman2005-11-224-6/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vector operations (load, add, sub, mul). This allows us to codegen: void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = add <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } on ppc as: _foo: lfs f0, 12(r3) lfs f1, 8(r3) lfs f2, 4(r3) lfs f3, 0(r3) fadds f0, f0, f0 fadds f1, f1, f1 fadds f2, f2, f2 fadds f3, f3, f3 stfs f0, 12(r3) stfs f1, 8(r3) stfs f2, 4(r3) stfs f3, 0(r3) blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24484 91177308-0d34-0410-b5e6-96231b3b80d8
* massive DAGISel patch. lots and lots more stuff compiles nowAndrew Lenharth2005-11-225-52/+207
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24483 91177308-0d34-0410-b5e6-96231b3b80d8
* Rather than attempting to legalize 1 x float, make sure the SD ISel neverNate Begeman2005-11-223-49/+29
| | | | | | | | | | | | generates it. Make MVT::Vector expand-only, and remove the code in Legalize that attempts to legalize it. The plan for supporting N x Type is to continually epxand it in ExpandOp until it gets down to 2 x Type, where it will be scalarized into a pair of scalars. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24482 91177308-0d34-0410-b5e6-96231b3b80d8
* Use HasDotTypeDotSizeDirective instead of forELFChris Lattner2005-11-214-18/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24481 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new flagChris Lattner2005-11-211-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24480 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a level of indentation by using a continue.Chris Lattner2005-11-211-55/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24479 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the subtarget info, allow the asmwriter to do some target sensingChris Lattner2005-11-212-22/+2
| | | | | | | based on TargetType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24478 91177308-0d34-0410-b5e6-96231b3b80d8
* Use subtarget information computed by X86Subtarget instead of rolling our own.Chris Lattner2005-11-213-29/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24477 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the X86 subtarget compute the basic target type: ELF, Cygwin, Darwin,Chris Lattner2005-11-212-15/+24
| | | | | | | or native Win32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24476 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a forELF flag, allowing the removal of forCygwin and simplification ofChris Lattner2005-11-214-7/+12
| | | | | | | conditionals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24475 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some more directivesChris Lattner2005-11-211-1/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24474 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify and genericize this codeChris Lattner2005-11-211-55/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24473 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for div/rem to the dag->dag isel. yay.Duraid Madina2005-11-211-0/+180
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24472 91177308-0d34-0410-b5e6-96231b3b80d8
* I think I know what you meant here, but just to be safe I'll let youDuraid Madina2005-11-211-1/+1
| | | | | | | | | do it. :) <_sabre_> excuses excuses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24471 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate unneeded intermediate class. Move doFinalizeMethod to bottom ofChris Lattner2005-11-211-99/+88
| | | | | | | file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24470 91177308-0d34-0410-b5e6-96231b3b80d8
* Start using shared asmprinter Constant Pool emitter, use shorter cpi names.Chris Lattner2005-11-211-26/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24469 91177308-0d34-0410-b5e6-96231b3b80d8
* prune #includeChris Lattner2005-11-211-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24468 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using the shared constant pool printer, along with using shorterChris Lattner2005-11-214-31/+5
| | | | | | | CPI ids git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24467 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using the generic constant pool emitter impl, use shorterChris Lattner2005-11-211-25/+2
| | | | | | | CPI names git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24466 91177308-0d34-0410-b5e6-96231b3b80d8
* Use generic constant pool emission code in the AsmPrinter class.Chris Lattner2005-11-211-30/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24465 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow target to customize directive used to switch to arbitrary section in ↵Chris Lattner2005-11-211-1/+28
| | | | | | | | | SwitchSection, add generic constant pool emitter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24464 91177308-0d34-0410-b5e6-96231b3b80d8
* add two more config directives, add method for printing constant poolChris Lattner2005-11-211-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24463 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the FunctionNumber provided by the AsmPrinter classChris Lattner2005-11-211-19/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24462 91177308-0d34-0410-b5e6-96231b3b80d8
* increment the function number in SetupMachineFunctionChris Lattner2005-11-211-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24461 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the AsmPrinter keep track of the notion of a function number.Chris Lattner2005-11-211-2/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24460 91177308-0d34-0410-b5e6-96231b3b80d8
* Use CommentString where possible, fix a bug where aix mode wouldn't assembleChris Lattner2005-11-211-4/+4
| | | | | | | due to basic blocks being misnamed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24459 91177308-0d34-0410-b5e6-96231b3b80d8
* unify the darwin and aix constant pool printersChris Lattner2005-11-211-48/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24458 91177308-0d34-0410-b5e6-96231b3b80d8