Chris Lattner
0cb585f878
new testcase for intrinsic folding
...
llvm-svn: 11943
2004-02-28 05:28:42 +00:00
Chris Lattner
4cb08f39e9
The instruction combining pass removes dead instructions, there is no need
...
to run the die pass after it.
llvm-svn: 11942
2004-02-28 05:26:06 +00:00
Chris Lattner
7872171767
Rename AddUsesToWorkList -> AddUsersToWorkList, as that is what it does.
...
Create a new AddUsesToWorkList method
optimize memmove/set/cpy of zero bytes to a noop.
llvm-svn: 11941
2004-02-28 05:22:00 +00:00
Chris Lattner
192d8413d3
Turn 'free null' into nothing
...
llvm-svn: 11940
2004-02-28 04:57:37 +00:00
Misha Brukman
0b846ae65c
Right, it's really Extractor, not Extraction.
...
llvm-svn: 11939
2004-02-28 03:37:58 +00:00
Misha Brukman
13b5b048fb
New Function-level transformation utils.
...
llvm-svn: 11938
2004-02-28 03:33:30 +00:00
Misha Brukman
1ddb180929
Add the prototype for the LoopExtractor Pass.
...
llvm-svn: 11937
2004-02-28 03:33:17 +00:00
Misha Brukman
f14fbb1a0b
A pass that uses the generic CodeExtractor to rip out *every* loop in every
...
function, as long as the loop isn't the only one in that function. This should
help debugging passes easier with BugPoint.
llvm-svn: 11936
2004-02-28 03:33:01 +00:00
Misha Brukman
26e90f8776
A generic code extractor: given a list of BasicBlocks, it will rip them out into
...
a new function, taking care of inputs and outputs.
llvm-svn: 11935
2004-02-28 03:26:20 +00:00
Misha Brukman
26992f4a8c
Two testcases for loops: one with outputs, one without.
...
llvm-svn: 11934
2004-02-28 03:20:41 +00:00
Alkis Evlogimenos
84f00e93f7
Further comment updates.
...
llvm-svn: 11933
2004-02-28 03:20:31 +00:00
Alkis Evlogimenos
edbe362160
Update comments.
...
llvm-svn: 11932
2004-02-28 03:12:31 +00:00
Alkis Evlogimenos
0f91ce52a0
My previous commit broke the jit. The shift instructions always take
...
an 8-bit immediate. So mark the shifts that take immediates as taking
an 8-bit argument. The rest with the implicit use of CL are marked
appropriately.
A bug still exists:
def SHLDmri32 : I2A8 <"shld", 0xA4, MRMDestMem>, TB; // [mem32] <<= [mem32],R32 imm8
The immediate in the above instruction is 8-bit but the memory
reference is 32-bit. The printer prints this as an 8-bit reference
which confuses the assembler. Same with SHRDmri32.
llvm-svn: 11931
2004-02-28 02:56:26 +00:00
Brian Gaeke
6afa0813d2
Turn off the SparcV9MachineCodeDestructionPass for now, because it's buggy
...
llvm-svn: 11930
2004-02-27 21:15:40 +00:00
Brian Gaeke
0e74ff91a0
Correct DestroyMachineFunction's getPassName
...
llvm-svn: 11929
2004-02-27 21:01:14 +00:00
Chris Lattner
9e71c09ff5
Only clone global nodes between graphs if both graphs have the global.
...
llvm-svn: 11928
2004-02-27 20:05:15 +00:00
Chris Lattner
138a7dfb62
ADD MORE FUNCTIONS!
...
llvm-svn: 11927
2004-02-27 20:04:48 +00:00
Alkis Evlogimenos
ace6d81654
Fix argument size for SHL, SHR, SAR, SHLD and SHRD families of
...
instructions.
llvm-svn: 11923
2004-02-27 19:46:30 +00:00
Alkis Evlogimenos
839c70f45d
Fix encoding of ADD and SUB family of instructions. Also rearrange
...
them so that they are consistent with AND, XOR, etc...
llvm-svn: 11922
2004-02-27 18:57:00 +00:00
Alkis Evlogimenos
56d357aa23
Rename MRMS[0-7]{r,m} to MRM[0-7]{r,m}.
...
llvm-svn: 11921
2004-02-27 18:55:12 +00:00
Chris Lattner
d06b64c941
setcond instructions don't have aliasing implications.
...
llvm-svn: 11919
2004-02-27 18:09:25 +00:00
John Criswell
94e1f2055f
Added d and hbd MultiSource applications.
...
llvm-svn: 11915
2004-02-27 18:02:06 +00:00
Chris Lattner
644af802c9
Fix Regression/Assembler/2004-02-27-SelfUseAssertError.ll
...
llvm-svn: 11913
2004-02-27 17:28:25 +00:00
Chris Lattner
c866ad1f00
Fix a verifier bug that was preventing us from ripping povray+libpng to pieces.
...
llvm-svn: 11912
2004-02-27 17:26:08 +00:00
Chris Lattner
a2a6d14515
Build zlib and libpng
...
llvm-svn: 11911
2004-02-27 17:00:29 +00:00
Chris Lattner
82bb45a7dc
Updates from Reid
...
llvm-svn: 11908
2004-02-27 16:17:20 +00:00
Alkis Evlogimenos
5ac109957f
Add memory operand folding support for the SETcc family of
...
instructions.
llvm-svn: 11907
2004-02-27 16:13:37 +00:00
Alkis Evlogimenos
5193c08a8a
Make MachineOperand's immediate value an int and save 4 bytes out of
...
each MachineOperand. We don't really need an int64_t immediate :-).
llvm-svn: 11906
2004-02-27 15:05:28 +00:00
Alkis Evlogimenos
0742b93bb9
Add memory operand folding support for SHLD and SHRD instructions.
...
llvm-svn: 11905
2004-02-27 15:03:18 +00:00
Alkis Evlogimenos
b1f67f6741
Add memory operand folding support for SHL, SHR and SAR, SHLD instructions.
...
llvm-svn: 11903
2004-02-27 09:28:43 +00:00
Alkis Evlogimenos
cf49d13ed2
Rename SHL, SHR, SAR, SHLD and SHLR instructions to make them
...
consistent with the rest and also pepare for the addition of their
memory operand variants.
llvm-svn: 11902
2004-02-27 06:57:05 +00:00
Chris Lattner
e1a79f1050
Initial checkin of document, contributed by Reid Spencer.
...
llvm-svn: 11901
2004-02-27 06:28:34 +00:00
Chris Lattner
ffae67bae8
Implement test/Regression/Transforms/InstCombine/canonicalize_branch.ll
...
This is a really minor thing, but might help out the 'switch statement induction'
code in simplifycfg.
llvm-svn: 11900
2004-02-27 06:27:46 +00:00
Chris Lattner
7ecd81c8e7
The instcombiner should canonicalize comparisons.
...
llvm-svn: 11899
2004-02-27 06:27:07 +00:00
Alkis Evlogimenos
ddfd27ff97
Rename member function to be consistent with the rest.
...
llvm-svn: 11898
2004-02-27 06:11:15 +00:00
Alkis Evlogimenos
b3ecf08df7
Add improvements to the code generator.
...
llvm-svn: 11896
2004-02-27 05:26:23 +00:00
Alkis Evlogimenos
63fda9c474
Make spiller push stores right after the definition of a register so
...
that they are as far away from the loads as possible.
llvm-svn: 11895
2004-02-27 04:51:35 +00:00
Alkis Evlogimenos
3093de5bfb
Fix crash caused by passing register 0 to
...
MRegisterInfo::isPhysicalRegister().
llvm-svn: 11894
2004-02-27 01:52:34 +00:00
Alkis Evlogimenos
cff0fc180c
Clear maps right after basic block is processed.
...
llvm-svn: 11892
2004-02-26 23:22:23 +00:00
Misha Brukman
c9d7938462
Doxygenify comments.
...
llvm-svn: 11891
2004-02-26 23:20:29 +00:00
Misha Brukman
cb8fb60617
Doxygenify and tersify comments.
...
llvm-svn: 11890
2004-02-26 23:20:08 +00:00
John Criswell
05afcfeafd
Added PR258 and 259.
...
llvm-svn: 11889
2004-02-26 23:13:34 +00:00
John Criswell
7d65f50df2
Added support for C++ compilation.
...
Made removing the object files a separate sh command so that it can easily
be commented out.
llvm-svn: 11888
2004-02-26 23:02:25 +00:00
John Criswell
14b91a76f7
C++ version of llvm-native-gcc.
...
llvm-svn: 11887
2004-02-26 23:01:21 +00:00
John Criswell
e58a4cc26e
Fixed test case to actually check for the static declaration.
...
Oops.
llvm-svn: 11886
2004-02-26 22:56:13 +00:00
John Criswell
d0574b7bd2
Regression tests for PR258 and PR259.
...
2004-02-26-FPNotPrintableConstants.llx ensures that constants used in an
LLVM program are declared static if they are assigned to global variables.
2004-02-26-LinkOnceFunctions.llx ensures that linkonce functions get the
weak attribute.
llvm-svn: 11885
2004-02-26 22:55:11 +00:00
John Criswell
0b01bff060
Fixes for PR258 and PR259.
...
Functions with linkonce linkage are declared with weak linkage.
Global floating point constants used to represent unprintable values
(such as NaN and infinity) are declared static so that they don't interfere
with other CBE generated translation units.
llvm-svn: 11884
2004-02-26 22:20:58 +00:00
Chris Lattner
d359fbf991
Be a good little compiler and handle direct calls efficiently, even if there
...
are beastly ConstantPointerRefs in the way...
llvm-svn: 11883
2004-02-26 22:07:22 +00:00
Alkis Evlogimenos
b15631fcfa
Uncomment assertions that register# != 0 on calls to
...
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
llvm-svn: 11882
2004-02-26 22:00:20 +00:00
John Criswell
e6381015bb
Modified the default pathname for Povray.
...
llvm-svn: 11881
2004-02-26 20:22:59 +00:00