- Jul 27, 2003
-
-
Chris Lattner authored
llvm-svn: 7345
-
Chris Lattner authored
llvm-svn: 7344
-
- Jul 24, 2003
-
-
Brian Gaeke authored
SlotCalculator in CWriter. (Unfortunately, all this means a lot of X86/Printer's methods have to be de-constified again. Oh well.) llvm-svn: 7299
-
Brian Gaeke authored
llvm-svn: 7291
-
Brian Gaeke authored
doFinalization too except that would have made them shadow, not override, the parent class :-P. Allow *any* constant cast expression between pointers and longs, or vice-versa, or any widening (not just same-size) conversion that isLosslesslyConvertibleTo approves. This fixes oopack. llvm-svn: 7288
-
- Jul 23, 2003
-
-
Brian Gaeke authored
Printer::doFinalization() out in the cold. Now we pass in a TargetMachine to Printer's constructor and get the TargetData from the TargetMachine. Don't pass TargetMachine or MRegisterInfo objects around in the Printer. Constify TargetData references. X86.h: Update comment and prototype of createX86CodePrinterPass(). X86TargetMachine.cpp: Update callers of createX86CodePrinterPass(). llvm-svn: 7275
-
Brian Gaeke authored
Stop passing ostreams around: we already have one perfectly good ostream and we can all share it. Stop stashing a pointer to TargetData in the Pass object, because that will lead to a crash if there are no functions in the module (ouch!) Instead, use addRequired() and getAnalysis(), like we always should have done. Move the check for ConstantExpr up before the check for isPrimitiveType, because we need to be able to catch e.g. ubyte (cast bool false to ubyte), whose type is primitive but which is nevertheless a ConstantExpr, by calling our specialized handler instead of the AsmWriter. This would result in assembler errors when we would try to output something like ".byte (cast bool false to ubyte)". GC some unused variable declarations. llvm-svn: 7265
-
Chris Lattner authored
whether the constant is signed or unsigned, then casting llvm-svn: 7252
-
- Jul 18, 2003
-
-
Brian Gaeke authored
Avoid a fall-through in the (stubby) treatment of the longjmp intrinsic call which causes llc & lli to core-dump. Add a sort-of treatment of cast double to ulong. I am not really sure what a user should expect to see upon casting a negative FP value to unsigned long long. But with what is given here, I was able to write a program that could cast -123.456 to ulong and back and get -123.0, which seems like a step in the right direction. GCC seems to give you 0. I don't know if I'd consider that useful. These cases were coming up in GNU coreutils-5.0. llvm-svn: 7205
-
- Jul 17, 2003
-
-
Brian Gaeke authored
try to load or store through a bool*. llvm-svn: 7195
-
- Jul 11, 2003
-
-
Brian Gaeke authored
out the entire llvm disassembly for the function at global constant-output time, which caused the assembler to barf in 164.gzip. This fixes that particular problem (though 164.gzip has other problems with X86 llc.) llvm-svn: 7168
-
Brian Gaeke authored
Fhourstones, McCat-vor, and many others...) Printer.cpp: Print implicit uses for AddRegFrm instructions. Break gas bug workarounds up into separate stanzas of code for each bug. Add new workarounds for fild and fistp. X86InstrInfo.def: Add O_ST0 implicit uses for more FP instrs where they obviously apply. Also add PrintImplUses flags for FP instrs where they are necessary for gas to understand the output. llvm-svn: 7165
-
- Jul 07, 2003
-
-
Brian Gaeke authored
instructions, by outputting them as bytes. llvm-svn: 7115
-
- Jun 30, 2003
-
-
John Criswell authored
system. llvm-svn: 7014
-
Chris Lattner authored
leaving trash in the register, fixing anagram llvm-svn: 7013
-
- Jun 29, 2003
-
-
Chris Lattner authored
and longjmp as an abort! llvm-svn: 6977
-
- Jun 27, 2003
-
-
Brian Gaeke authored
SingleSource except oopack and Oscar. (Sorry, Oscar.) include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add accessors for ImplicitUses/Defs. lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you really wanted this, just use MI->print(O, TM); instead... lib/Target/X86: FloatingPoint.cpp: ...like this. X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses target-specific flag bit. X86InstrInfo.def: Add the PrintImplUses flag to all the instructions which implicitly use CL, because the assembler needs to see the CL in order to generate the right instruction. Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName to name constants in the constant pool for each function instead. This avoids keeping state between runOnMachineFunction() invocations, which is a no-no. Having MangledGlobals be global is a bogon I'd like to get rid of too, but making it a static member of Printer causes link errors (why???). Make NumberForBB into a member of Printer instead of a global, too. Make printOp and printMemReference into methods of Printer. X86InstrInfo::print is now Printer::printMachineInstruction, because TargetInstrInfo::print is history. (Because of this, we have to qualify the names of some TargetInstrInfo methods we call.) Print out the ImplicitUses field of any instruction we print that has the PrintImplUses bit set. llvm-svn: 6924
-
- Jun 26, 2003
-
-
Brian Gaeke authored
and i is the constant pool index. llvm-svn: 6920
-
Brian Gaeke authored
llvm-svn: 6908
-
- Jun 25, 2003
-
-
Brian Gaeke authored
Shootout, but it has some issues with bigger programs. Work in progress. llvm-svn: 6907
-
- Jun 22, 2003
-
-
Chris Lattner authored
llvm-svn: 6844
-
- Jun 21, 2003
-
-
Chris Lattner authored
llvm-svn: 6831
-
Chris Lattner authored
This allows us to not force the use of the EAX/AX registers! llvm-svn: 6830
-
Chris Lattner authored
llvm-svn: 6829
-
Chris Lattner authored
llvm-svn: 6828
-
- Jun 19, 2003
-
-
Brian Gaeke authored
llvm-svn: 6792
-
Brian Gaeke authored
the convention. :-) llvm-svn: 6791
-
Brian Gaeke authored
involves removing the [bwl] suffixes from instruction names, as well as some other distinguishing marks (32/64/80 on fp insns, _i suffixes, etc.) Lowercase all instr. names as well for consistency's sake. llvm-svn: 6790
-
Brian Gaeke authored
to print various things on a module-by-module basis (currently, only the former is used). Don't print < > around names. The assembler can't take it. Print pseudoinstructions only as comments. The poor little assembler can't take that, either. llvm-svn: 6789
-
- Jun 18, 2003
-
-
Brian Gaeke authored
(non-working) of llc guts for X86, and add a prototype for it. llvm-svn: 6779
-
- Jun 16, 2003
-
-
Brian Gaeke authored
so that we can easily change its use to be conditional on the result of an autoconf test later. llvm-svn: 6723
-
- Jun 06, 2003
-
-
Chris Lattner authored
llvm-svn: 6658
-
Chris Lattner authored
Add GROSS HACK to get CompilationCallback to work when compiled in release mode llvm-svn: 6646
-
- Jun 05, 2003
-
-
Chris Lattner authored
llvm-svn: 6627
-
Chris Lattner authored
This avoid generating a register to hold C, which in turn speeds up the register allocator by a lot: ~9% on 164.gzip and ~17% on 256.bzip2. This also speeds up other passes. This also speeds up execution of the program marginally, and makes the asm much easier to read. :) llvm-svn: 6626
-
Chris Lattner authored
llvm-svn: 6625
-
- Jun 03, 2003
-
-
Chris Lattner authored
llvm-svn: 6583
-
Chris Lattner authored
llvm-svn: 6581
-
- Jun 02, 2003
-
-
Misha Brukman authored
llvm-svn: 6531
-
Misha Brukman authored
target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history. llvm-svn: 6528
-