1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

15088 Commits

Author SHA1 Message Date
Andrew Lenharth
6d43749a47 A pass to remove the worst of the replay trap offenders, and as a bonus, align basic blocks when it is free to do so
llvm-svn: 30467
2006-09-18 19:44:29 +00:00
Chris Lattner
1efde528d6 Fix an infinite loop building the CFE
llvm-svn: 30465
2006-09-18 18:27:05 +00:00
Andrew Lenharth
5d958d3405 Jump tables on Alpha
llvm-svn: 30463
2006-09-18 18:01:03 +00:00
Andrew Lenharth
9c54a925e8 oops
llvm-svn: 30462
2006-09-18 18:00:18 +00:00
Andrew Lenharth
00bbd5641b absolute addresses must match pointer size
llvm-svn: 30461
2006-09-18 17:59:35 +00:00
Jim Laskey
07ac577a34 Sort out mangled names for globals
llvm-svn: 30460
2006-09-18 14:47:26 +00:00
Chris Lattner
39218c2b0c Implement a trivial optzn: of vastart is never called in a function that takes
... args, remove the '...'.

This is Transforms/DeadArgElim/dead_vaargs.ll

llvm-svn: 30459
2006-09-18 07:02:31 +00:00
Chris Lattner
68009a61c5 add a note. Our 64-bit shifts are ~30% slower than gcc's
llvm-svn: 30457
2006-09-18 05:36:54 +00:00
Chris Lattner
9c8bffb5e8 Implement InstCombine/cast.ll:test31. This speeds up 462.libquantum by 26%.
llvm-svn: 30456
2006-09-18 05:27:43 +00:00
Chris Lattner
be102d68c2 add a helper method
llvm-svn: 30452
2006-09-18 04:54:57 +00:00
Chris Lattner
a1349de598 This is closer to what we really want.
llvm-svn: 30451
2006-09-18 04:54:35 +00:00
Chris Lattner
f7e8879212 Implement Transforms/InstCombine/shift-sra.ll:test0
llvm-svn: 30450
2006-09-18 04:31:40 +00:00
Chris Lattner
6ee34e89bc Rewrite shift/and/compare sequences to promote better licm of the RHS.
Use isLogicalShift/isArithmeticShift to simplify code.

llvm-svn: 30448
2006-09-18 04:22:48 +00:00
Anton Korobeynikov
7c2118575c Added some eye-candy for Subtarget type checking
Added X86 StdCall & FastCall calling conventions. Codegen will follow.

llvm-svn: 30446
2006-09-17 20:25:45 +00:00
Chris Lattner
547b62a967 Add ShiftInst::isLogical/ArithmeticShift methods.
llvm-svn: 30445
2006-09-17 19:29:56 +00:00
Chris Lattner
8aa718b0ed Add new SetCondInst::isRelational/isEquality methods. Rename
Instruction::isRelational to Instruction::isComparison.

llvm-svn: 30444
2006-09-17 19:14:47 +00:00
Nick Lewycky
8fbfe60cee Explain change with a comment.
llvm-svn: 30443
2006-09-17 17:51:00 +00:00
Nick Lewycky
22b1a725ae Fix PR912. The input to erase() must not be a reference to the data
being erased.

llvm-svn: 30442
2006-09-17 16:23:36 +00:00
Anton Korobeynikov
b2b7c2f8b9 Small fixes for supporting dll* linkage types
llvm-svn: 30441
2006-09-17 13:06:18 +00:00
Chris Lattner
563785bc55 add a note noticed through source inspection
llvm-svn: 30418
2006-09-16 23:57:51 +00:00
Chris Lattner
73f5ad9f38 Oh yeah, this is needed too
llvm-svn: 30407
2006-09-16 05:08:34 +00:00
Chris Lattner
22b3d6fba9 add a note
llvm-svn: 30406
2006-09-16 03:30:19 +00:00
Chris Lattner
a4689e489e Fix Transforms/InstCombine/2006-09-15-CastToBool.ll and PR913
llvm-svn: 30405
2006-09-16 03:14:10 +00:00
Chris Lattner
594d4d9483 simplify control flow, no functionality change
llvm-svn: 30403
2006-09-16 00:21:44 +00:00
Chris Lattner
4318df13d7 Allow custom expand of mul
llvm-svn: 30402
2006-09-16 00:09:24 +00:00
Chris Lattner
bf14089e11 add a nate note
llvm-svn: 30399
2006-09-15 20:31:36 +00:00
Chris Lattner
ce8928eed5 revert previous two patches. They cause miscompilation of MultiSource/Applications/Burg
llvm-svn: 30397
2006-09-15 17:24:45 +00:00
Owen Anderson
d55cc3f6d8 Revert my previous work on ArgumentPromotion. Further investigation has revealed these
changes to be incorrect.  They just weren't showing up in any of our current testcases.

llvm-svn: 30385
2006-09-15 05:22:51 +00:00
Chris Lattner
4943b1d15e Unbreak the JIT
llvm-svn: 30384
2006-09-15 04:56:11 +00:00
Chris Lattner
9306fac571 Keep track of the start of MBB's in a separate map from instructions. This
is faster and is needed for future improvements.

llvm-svn: 30383
2006-09-15 03:57:23 +00:00
Evan Cheng
e9bbf85e5e Remove a unnecessary check.
llvm-svn: 30382
2006-09-14 23:55:02 +00:00
Devang Patel
0d540a2f9a Undo previous check-in.
Reintroduce recursive assignDFSNumber().

llvm-svn: 30380
2006-09-14 21:43:24 +00:00
Chris Lattner
c3f56368db Fold (X & C1) | (Y & C2) -> (X|Y) & C3 when possible.
This implements CodeGen/X86/and-or-fold.ll

llvm-svn: 30379
2006-09-14 21:11:37 +00:00
Chris Lattner
ce85ffa396 add a note
llvm-svn: 30377
2006-09-14 20:56:30 +00:00
Chris Lattner
dbe8078c76 Split rotate matching code out to its own function. Make it stronger, by
matching things like ((x >> c1) & c2) | ((x << c3) & c4) to (rot x, c5) & c6

llvm-svn: 30376
2006-09-14 20:50:57 +00:00
Anton Korobeynikov
24c070f50d Adding generated files for the last commit
llvm-svn: 30375
2006-09-14 18:25:26 +00:00
Anton Korobeynikov
6e19f80688 Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.

llvm-svn: 30374
2006-09-14 18:23:27 +00:00
Evan Cheng
571e7f730e Use getOffset() instead.
llvm-svn: 30327
2006-09-14 07:41:12 +00:00
Evan Cheng
3bd61a0be5 Use MachineConstantPoolEntry getOffset() and getType() accessors.
llvm-svn: 30326
2006-09-14 07:35:00 +00:00
Chris Lattner
7a1210a86c Use new config.h macro
llvm-svn: 30321
2006-09-14 06:21:59 +00:00
Chris Lattner
b233122a83 On Mac OS/X, make Process::PreventCoreFiles disable crash reporter for
the process in addition to disabling core file emission.  This speeds up
bugpoint on default-configured macs by several orders of magnitude.

llvm-svn: 30317
2006-09-14 06:01:41 +00:00
Evan Cheng
58d454a49e A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* values.
llvm-svn: 30316
2006-09-14 05:50:57 +00:00
Devang Patel
2983c628cd Avoid recursion in assignDFSNumber(). Move def from ET-Forest.h
to Dominators.h

llvm-svn: 30309
2006-09-14 01:27:42 +00:00
Chris Lattner
0e9985d635 add note about switch lowering
llvm-svn: 30308
2006-09-13 23:37:16 +00:00
Chris Lattner
60207ce1f7 Second half of the fix for Transforms/Inline/inline_cleanup.ll
This folds unconditional branches that are often produced by code
specialization.

llvm-svn: 30307
2006-09-13 21:27:00 +00:00
Nick Lewycky
d8a64a4b2a Add some more consistency checks.
llvm-svn: 30305
2006-09-13 19:32:53 +00:00
Nick Lewycky
29d605880a Fix unionSets so that it can merge correctly.
llvm-svn: 30304
2006-09-13 19:24:01 +00:00
Chris Lattner
e55d70cedc Implement the first half of Transforms/Inline/inline_cleanup.ll
llvm-svn: 30303
2006-09-13 19:23:57 +00:00
Evan Cheng
e98acdbf59 Skip over first operand when determining REX prefix for two-address code.
llvm-svn: 30300
2006-09-13 19:07:28 +00:00
Nick Lewycky
315cc49646 Erase dead instructions.
llvm-svn: 30298
2006-09-13 18:55:37 +00:00