Commit Graph

148 Commits

Author SHA1 Message Date
Misha Brukman
c7b1bce283 Make code layout more consistent.
llvm-svn: 9426
2003-10-23 17:39:37 +00:00
John Criswell
4436c49787 Added LLVM copyright notice to Makefiles.
llvm-svn: 9312
2003-10-20 22:26:57 +00:00
John Criswell
482202a601 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
b94550e537 Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
llvm-svn: 9269
2003-10-19 21:34:28 +00:00
Chris Lattner
f95d9b99b3 Decrease usage of use_size()
llvm-svn: 9135
2003-10-15 16:48:29 +00:00
Misha Brukman
02fe6b7683 Fixed spelling.
llvm-svn: 8588
2003-09-17 21:34:23 +00:00
Misha Brukman
be372b91e1 The word dependent' has no a'.
llvm-svn: 8030
2003-08-21 22:14:26 +00:00
Brian Gaeke
cbd3a40626 Factory methods for function passes now return type FunctionPass *.
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.

llvm-svn: 7836
2003-08-14 06:04:49 +00:00
Vikram S. Adve
9143f1962e All constant-evaluation code now unified into
TargetInstrInfo::ConvertConstantToIntType().

llvm-svn: 7390
2003-07-29 19:50:12 +00:00
Chris Lattner
0c8de4bfca Making this code const-correct would be a pain, so I'll hack it.
llvm-svn: 7350
2003-07-26 23:29:51 +00:00
Chris Lattner
79f22fe02f Remove unnecessary casts
llvm-svn: 7250
2003-07-23 15:17:51 +00:00
Chris Lattner
0470412961 Remove using decl
llvm-svn: 7246
2003-07-23 14:55:59 +00:00
Vikram S. Adve
3bb921e8df Choose register instead of immediate for ConstantExpr in ChooseRegOrImmed.
llvm-svn: 7112
2003-07-06 20:33:21 +00:00
John Criswell
3ef61afb76 Merged in autoconf branch. This provides configuration via the autoconf
system.

llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
55491774bb Actually, change it to use explicit new/delete, which is more likely to be
optimized INTO an alloca

llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
5b7e3cae42 Remove two using decls
Remove usage of alloca

llvm-svn: 6725
2003-06-16 22:18:28 +00:00
Brian Gaeke
7a719ed20c Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
so that we can easily change its use to be conditional on the result of
an autoconf test later.

llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Misha Brukman
366494ab0d Do not hastily change the Opcode from 'r' to 'i' type if we're not actually
SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.

llvm-svn: 6662
2003-06-07 02:34:43 +00:00
Misha Brukman
4e7bad01ff I have finally seen the light. The code to change the opcode must live higher in
the loop, and in both cases. In the first case, it is a VReg that is a constant
so it may be actually converted to a constant. In the second case, it is already
a constant, but then if it doesn't change its type (e.g. to become a register
and have the value loaded from memory if it is too large to live in its
instruction field), we must change the opcode BEFORE the 'continue', otherwise
we miss the opportunity.

llvm-svn: 6602
2003-06-04 04:54:06 +00:00
Misha Brukman
0cf667165e Moved code to modify the opcode from 'reg' to 'imm' form to a more logical place.
llvm-svn: 6563
2003-06-03 03:18:20 +00:00
Vikram S. Adve
ad83684c77 Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.

llvm-svn: 6469
2003-05-31 07:41:24 +00:00
Misha Brukman
736e6172dc When converting virtual registers to immediate constants, change the opcode.
llvm-svn: 6452
2003-05-30 20:36:27 +00:00
Chris Lattner
6ee2cf5d89 Remove unneccesary &*
llvm-svn: 5871
2003-04-23 16:36:11 +00:00
Chris Lattner
dea36ca100 Move sparc specific code into the Sparc backend
llvm-svn: 5317
2003-01-15 21:36:50 +00:00
Chris Lattner
5f738161ae Fix bug in previous checkin
llvm-svn: 5310
2003-01-15 20:32:15 +00:00
Chris Lattner
46d4d231c5 Minor changes
llvm-svn: 5302
2003-01-15 19:47:53 +00:00
Chris Lattner
4f7088f6a2 Remove dead code
llvm-svn: 5298
2003-01-15 19:22:38 +00:00
Chris Lattner
b4d58d7f9e Rename MachineInstrInfo -> TargetInstrInfo
llvm-svn: 5272
2003-01-14 22:00:31 +00:00
Chris Lattner
f9781b59ab More renamings of Target/Machine*Info to Target/Target*Info
llvm-svn: 5204
2002-12-29 03:13:05 +00:00
Chris Lattner
a2620ac156 Fix warning
llvm-svn: 4649
2002-11-09 00:49:43 +00:00
Chris Lattner
50ef1010c0 Use higher level method
llvm-svn: 4386
2002-10-29 17:25:41 +00:00
Chris Lattner
820b037815 MachineInstrInfo no longer #includes this header, so we must
llvm-svn: 4366
2002-10-28 23:54:47 +00:00
Chris Lattner
76d59276af Remove usage of MachineBasicBlock::get
llvm-svn: 4342
2002-10-28 19:01:16 +00:00
Chris Lattner
8c63b6897d Change MachineBasicBlock's to not be Annotations, instead they are kept as
part of a linked list tracked by MachineFunction.  MachineBasicBlock::get
is now linear time instead of constant time, and thus is deprecated!

llvm-svn: 4337
2002-10-28 05:30:46 +00:00
Chris Lattner
6a30b02b1d Rename the redundant MachineOperand::getOperandType() to MachineOperand::getType()
llvm-svn: 4331
2002-10-28 04:45:29 +00:00
Chris Lattner
9668c8c8db Add #includes now that MachineInstr.h doesn't include llvm/Target/MachineInstrInfo.h
llvm-svn: 4327
2002-10-28 02:28:39 +00:00
Chris Lattner
2a3bd1c562 *** empty log message ***
llvm-svn: 4323
2002-10-28 02:01:37 +00:00
Chris Lattner
8710aab04c Rename MachineCodeForBasicBlock to MachineBasicBlock
llvm-svn: 4318
2002-10-28 01:41:47 +00:00
Misha Brukman
7ae7f84cf3 Changed MachineCodeForMethod' to MachineFunction'.
llvm-svn: 4301
2002-10-28 00:28:31 +00:00
Chris Lattner
e97144120d Tell PassManager that this pass does not invalidate the CFG so that dominator
information and Loop info will not have to be recomputed after this runs.

llvm-svn: 4269
2002-10-23 03:30:47 +00:00
Vikram S. Adve
f5492b0c5b Significant improvement: GEP used by a load or store no longer generates
a separate ADD; instead just use the indexed load/store instruction!
Also, a bug fix: folding a GEP with a leading non-zero index with
its predecessor was incorrect: now it only happens if the predecessor
is pointing to an indexable type (aka SequentialType).

llvm-svn: 4168
2002-10-14 16:30:55 +00:00
Vikram S. Adve
75b4a29613 Bug fix in folding getElementPtr instructions: don't fold one into
a predecessor if it has a non-zero first index and the predecessor
ends with a struct index.

llvm-svn: 3982
2002-09-29 22:55:05 +00:00
Vikram S. Adve
66303bb9a5 Sign-extend integer constants from original type size to 64 bits!
llvm-svn: 3958
2002-09-27 14:26:20 +00:00
Chris Lattner
077b45d931 Add support for GCC 2.96
llvm-svn: 3777
2002-09-17 17:23:09 +00:00
Vikram S. Adve
03710d247d Add a version of ChooseRegOrImmed to handle numerical constants
introduced by InstrSelection.

llvm-svn: 3735
2002-09-16 15:15:57 +00:00
Chris Lattner
5fb1fee605 Fix a bug I introduced into the code generator. :(
llvm-svn: 3694
2002-09-12 20:27:10 +00:00
Chris Lattner
b9d9e0ff8d - Change getelementptr instruction to use long indexes instead of uint
indexes for sequential types.

llvm-svn: 3681
2002-09-11 01:21:29 +00:00
Chris Lattner
74946507fc Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't
erroneously report them as leaks

llvm-svn: 3624
2002-09-08 21:19:29 +00:00
Chris Lattner
16d4c60600 Inform the memory leak detector that TmpInstruction objects should not be
subject to memory leak checking.

llvm-svn: 3623
2002-09-08 21:08:43 +00:00
Chris Lattner
b0b412e66e - Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
    also accepts bool.

llvm-svn: 3574
2002-09-03 01:08:28 +00:00