1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
Commit Graph

21856 Commits

Author SHA1 Message Date
Evan Cheng
105a0cc17e Revert the previous check-in. Leave shl x, 1 along for target to deal with.
llvm-svn: 25121
2006-01-06 01:56:02 +00:00
Evan Cheng
efe621adce fold (shl x, 1) -> (add x, x)
llvm-svn: 25120
2006-01-06 01:06:31 +00:00
Chris Lattner
d583872b9e linkonce symbols have an extra indirection, just like weak ones do. This fixes
Prolangs-C++/family and Prolangs-C++/primes.

llvm-svn: 25119
2006-01-06 01:04:03 +00:00
Evan Cheng
1e0d7b98f3 * Fast call support.
* FP cmp, setcc, etc.

llvm-svn: 25117
2006-01-06 00:43:03 +00:00
Evan Cheng
133170cb5c Support for custom lowering of ISD::RET.
llvm-svn: 25116
2006-01-06 00:41:43 +00:00
Evan Cheng
c6ad7a02a8 Bug fix wrt chain operand.
llvm-svn: 25115
2006-01-06 00:41:12 +00:00
Chris Lattner
5488b43338 Fix a compile crash building MultiSource/Applications/d with the new front-end.
The PPC backend was generating random shift counts in this case, due to an
uninitialized variable.

llvm-svn: 25114
2006-01-05 18:32:49 +00:00
Robert Bocchino
61bbc59306 Added the spec for the new "extractelement" instruction.
llvm-svn: 25113
2006-01-05 17:37:02 +00:00
Chris Lattner
ee327e57d2 Implement a few symbolic constant folding things. X ? Y : Y is Y.
Fold:
seteq ({ short }* cast (int 1 to { short }*), { short }* null)
setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*))

to false/true.  These last two commonly occur in the output of compilers that
tag integers, like cozmic's scheme compiler.

Tested by Regression/Assembler/ConstantExprFold.llx

llvm-svn: 25112
2006-01-05 07:49:30 +00:00
Chris Lattner
b11a652b2a new tests, derived from cosmics scheme output
llvm-svn: 25111
2006-01-05 07:46:46 +00:00
Chris Lattner
253796d43f fix some formatting problems
llvm-svn: 25110
2006-01-05 07:19:51 +00:00
Chris Lattner
0bbcba6cff unbreak the build, these are now in TargetSelectionDAG.td
llvm-svn: 25109
2006-01-05 04:48:15 +00:00
Evan Cheng
6c86cf3a5f Added ConstantFP patterns.
llvm-svn: 25108
2006-01-05 02:08:37 +00:00
Evan Cheng
02c9e0646c Added fpimm node for ConstantFP.
llvm-svn: 25107
2006-01-05 02:07:49 +00:00
Jim Laskey
b5b63a11df Grammer correction.
llvm-svn: 25106
2006-01-05 01:53:28 +00:00
Jim Laskey
41b3ee3c4f Had expand logic backward.
llvm-svn: 25105
2006-01-05 01:47:43 +00:00
Jim Laskey
5eddaee9f3 Added initial support for DEBUG_LABEL allowing debug specific labels to be
inserted in the code.

llvm-svn: 25104
2006-01-05 01:25:28 +00:00
Evan Cheng
2329411038 DAG based isel call support.
llvm-svn: 25103
2006-01-05 00:27:02 +00:00
Evan Cheng
0d39dd2664 Remove some dead code.
llvm-svn: 25102
2006-01-05 00:26:14 +00:00
Chris Lattner
0d03087d6d remove unused header
llvm-svn: 25101
2006-01-05 00:21:37 +00:00
Jim Laskey
61138e28ff Applied some recommend changes from sabre. The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.

llvm-svn: 25100
2006-01-04 22:28:25 +00:00
Jeff Cohen
9b99d8fde6 Be consistent in using class vs struct to make VC++ happy. And as it contains
methods, virtual method even, class wins.

llvm-svn: 25098
2006-01-04 17:21:23 +00:00
Jeff Cohen
5cc9ac7bc7 Teach Visual Studio about new file.
llvm-svn: 25097
2006-01-04 17:19:48 +00:00
Jim Laskey
897ad8ddb7 Add unique id to debug location for debug label use (work in progress.)
llvm-svn: 25096
2006-01-04 15:04:11 +00:00
Jim Laskey
9c9c46a7a4 Add check for debug presence.
llvm-svn: 25095
2006-01-04 14:30:12 +00:00
Jim Laskey
d834ac50d5 Add flag for debug presence.
llvm-svn: 25094
2006-01-04 14:29:26 +00:00
Jim Laskey
62b29812a6 Tie dwarf generation to darwin assembler.
llvm-svn: 25093
2006-01-04 13:52:30 +00:00
Jim Laskey
36c8946b56 1. Make MachineDebugInfo a pass.
2. Add label uniquing code.

llvm-svn: 25092
2006-01-04 13:46:37 +00:00
Jim Laskey
3519bc08c5 Move MachineDebugInfo to module level location.
llvm-svn: 25091
2006-01-04 13:44:43 +00:00
Jim Laskey
881126a42d Moving MachineDebugInfo to module level location.
llvm-svn: 25090
2006-01-04 13:43:56 +00:00
Jim Laskey
1b0399e8f0 Change how MachineDebugInfo is fetched.
llvm-svn: 25089
2006-01-04 13:42:59 +00:00
Jim Laskey
c8681a0c43 Adding MachineDebugInfo as a immutable pass.
llvm-svn: 25088
2006-01-04 13:42:02 +00:00
Jim Laskey
92d0ae5e4e Adding new files.
llvm-svn: 25087
2006-01-04 13:37:32 +00:00
Jim Laskey
013cfc7698 Extending MachineDebugInfo.
llvm-svn: 25086
2006-01-04 13:36:38 +00:00
Chris Lattner
064e45054a Patch #6's in Saem's refactor-the-passmanager patch series. From him:
This sanitises the world, blows away the specialisations and adds
traits per passmanager type -- seemed most natural.

llvm-svn: 25085
2006-01-04 07:47:13 +00:00
Chris Lattner
3e65439986 add a comment that I should have written a long time ago
llvm-svn: 25084
2006-01-04 07:29:33 +00:00
Chris Lattner
19343b85fd Add support for targets (like Alpha) that have terminator instructions which
use virtual registers.  We now allow the first instruction in a block of
terminators to use virtual registers, and update phi elimination to correctly
update livevar when eliminating phi's.  This fixes a problem on a testcase
Andrew sent me.

llvm-svn: 25083
2006-01-04 07:12:21 +00:00
Jeff Cohen
051560e5dd Update list of supported bisons.
llvm-svn: 25082
2006-01-04 06:51:22 +00:00
Chris Lattner
c3ff71cc3a Add an assertion, update DefInst even though no one uses it (dangling pointers
don't help anyone)

llvm-svn: 25081
2006-01-04 06:47:48 +00:00
Chris Lattner
f00c43e105 Add a LiveVariables::VarInfo::dump method
llvm-svn: 25080
2006-01-04 05:40:30 +00:00
Chris Lattner
16d652bfff add a dump method to help debugging
llvm-svn: 25079
2006-01-04 05:39:51 +00:00
Chris Lattner
586eae6b9a Saem's patch #5 of the passmanager refactoring
llvm-svn: 25078
2006-01-04 05:02:04 +00:00
Chris Lattner
76bf19b0d5 patch #4 in Saem's passmanager refactoring.
llvm-svn: 25077
2006-01-04 04:36:11 +00:00
Jeff Cohen
2230844c7b Replace fix with one less disruptive to the original code.
Also note that GCC 4.1 also correctly flags the syntax error.

llvm-svn: 25076
2006-01-04 03:23:30 +00:00
Jeff Cohen
8c5173a440 Tblgen was generating syntactically illegal C++ code like:
SDOperand Tmp0,Tmp1,Tmp2,Tmp3,;

GCC has a bug (24907) in which is fails to catch this, but VC++ correctly
notes its illegality, so tblgen must be taught to only generate legal C++.

llvm-svn: 25075
2006-01-04 03:15:19 +00:00
Chris Lattner
cbb7c27b51 implement constant folding of ==/!= on constant packed, simplify some code.
llvm-svn: 25074
2006-01-04 02:20:54 +00:00
Chris Lattner
00a5bdbb95 implement constant folding for the element-wise binary operations
llvm-svn: 25073
2006-01-04 02:15:02 +00:00
Chris Lattner
fffcbfffa6 don't crash when trying to constant fold packed expressions.
llvm-svn: 25072
2006-01-04 02:03:29 +00:00
Chris Lattner
291f009018 Fix an assertion to allow constant folding of packed values
llvm-svn: 25071
2006-01-04 01:01:04 +00:00
Chris Lattner
5a6761490a Remove obsolete comment, make things look a bit nicer
llvm-svn: 25070
2006-01-04 00:32:01 +00:00