31700 Commits

Author SHA1 Message Date
Chris Lattner
09139c7951 eliminate a use of Instruction::getPrev(), patch by Gabor Greif in 2005.
llvm-svn: 36197
2007-04-17 17:36:12 +00:00
Chris Lattner
c7109ece27 rename X86FunctionInfo to X86MachineFunctionInfo to match the header file
it is defined in.

llvm-svn: 36196
2007-04-17 17:21:52 +00:00
Anton Korobeynikov
9bc4b792bf Implemented correct stack probing on mingw/cygwin for dynamic alloca's.
Also, fixed static case in presence of eax livin. This fixes PR331

PS: Why don't we still have push/pop instructions? :)
llvm-svn: 36195
2007-04-17 09:20:00 +00:00
Jeff Cohen
92a09fc556 Make it work on 64-bit systems.
llvm-svn: 36194
2007-04-17 05:48:35 +00:00
Jeff Cohen
5780312029 Fix build breakage on 64-bit systems.
llvm-svn: 36193
2007-04-17 05:33:04 +00:00
Chris Lattner
db7de8e497 merge several fields in GlobalValue to use the same word, move CallingConv
field into SubclassData in Value.  This shrinks GlobalVAlue from 48->40
bytes, Function from 88->76, and GlobalVariable from 76->68.  This trims
4640 bytes off my testcase, reading a bc file without materializing any
functions.

llvm-svn: 36192
2007-04-17 04:31:29 +00:00
Andrew Lenharth
c894d4e3ce Use this nifty Constraints thing and fix the inverted conditional moves
llvm-svn: 36191
2007-04-17 04:07:59 +00:00
Andrew Lenharth
38746c38c6 this is fixed
llvm-svn: 36190
2007-04-17 04:07:27 +00:00
Chris Lattner
cc56e116fe The (negative) offset from a SymbolTableListTraits-using ilist to its container
object is always constant.  As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits.  This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.

llvm-svn: 36189
2007-04-17 04:04:14 +00:00
Chris Lattner
71a21677f4 Refactor SymbolTableListTraits to only have a single pointer in it, instead
of two.  This shrinkifies Function by 8 bytes (104->96) and Module by 8
bytes (68->60).  On a testcase of mine, this reduces the memory used to
read a module header from 565680b to 561024, a little over 4K.

llvm-svn: 36188
2007-04-17 03:26:42 +00:00
Chris Lattner
3c118ffaf7 urr, yeah.
llvm-svn: 36187
2007-04-17 02:04:39 +00:00
Devang Patel
54aa295162 Remove "ModulePasses requiring FunctionPasses" from the list of future
extensions.

llvm-svn: 36186
2007-04-17 00:17:11 +00:00
Chris Lattner
be225f5300 SSE4 is apparently public now.
llvm-svn: 36185
2007-04-17 00:02:37 +00:00
Devang Patel
ca917ef212 Add PR number for reference.
llvm-svn: 36184
2007-04-16 23:52:37 +00:00
Reid Spencer
67ab398ba3 Make long line fit in 80 cols.
llvm-svn: 36183
2007-04-16 23:32:28 +00:00
Devang Patel
7d868316fd Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047888.html

llvm-svn: 36182
2007-04-16 23:03:45 +00:00
Devang Patel
e155e1ef8c New test case.
llvm-svn: 36181
2007-04-16 23:02:22 +00:00
Reid Spencer
b640dc70f9 Fix problems in the PartSet lowering having to do with incorrect bit width.
llvm-svn: 36180
2007-04-16 22:21:14 +00:00
Reid Spencer
226017813d Regenerate
llvm-svn: 36179
2007-04-16 22:02:23 +00:00
Reid Spencer
52d73dba41 Okay, yes there *is* a getKeyLength method on ValueName. And, it should be
used because we *do* want to allow nulls in names.

llvm-svn: 36178
2007-04-16 22:01:57 +00:00
Jeff Cohen
279c95b9a7 In the event that some really old non-Intel or -AMD CPU is encountered...
llvm-svn: 36177
2007-04-16 21:59:44 +00:00
Reid Spencer
a770b1aec2 Fix this test from Duncan's experiment.
llvm-svn: 36176
2007-04-16 21:57:14 +00:00
Reid Spencer
37a1d7f441 Also validate that the code generation of IntrinsicLowering for LLI works.
llvm-svn: 36175
2007-04-16 21:52:56 +00:00
Reid Spencer
d22d480758 Implement @sext and @zext parameter attribute handling properly instead of
forcing every small argument of every function regardless of attributes or
calling convention to be expanded.

llvm-svn: 36174
2007-04-16 21:50:40 +00:00
Jeff Cohen
e6b60c9525 Before assuming that the original code didn't work for Athlon64, the person who
replaced it with a FIXME should have determined what did work.  Then he would have
realized that the code was in fact correct, and would have avoided breaking it.

llvm-svn: 36173
2007-04-16 21:48:58 +00:00
Chris Lattner
8e80b077c8 refix this
llvm-svn: 36172
2007-04-16 21:30:21 +00:00
Devang Patel
a077522bd4 Document how, module pass can require function pass.
llvm-svn: 36171
2007-04-16 21:28:14 +00:00
Chris Lattner
21e25d6aa6 use an x86 t-t for an x86 test. Thanks to Dan for noticing this!
llvm-svn: 36170
2007-04-16 21:26:37 +00:00
Chris Lattner
e21e5bbbe1 fix incorrectly upgraded test
llvm-svn: 36169
2007-04-16 21:24:14 +00:00
Reid Spencer
e8cf6202ec Fix 80 col violations.
llvm-svn: 36168
2007-04-16 21:24:12 +00:00
Chris Lattner
17f2a2342a We shouldn't have tests for features we don't have yet.
llvm-svn: 36167
2007-04-16 21:22:58 +00:00
Chris Lattner
e9e469d0ad remove bogus test
llvm-svn: 36166
2007-04-16 21:20:27 +00:00
Duncan Sands
4acf9e6941 Spelling fix.
llvm-svn: 36165
2007-04-16 21:19:45 +00:00
Chris Lattner
770228304e MAke this test portable.
llvm-svn: 36164
2007-04-16 21:18:56 +00:00
Duncan Sands
d3bd00c19e Test code quality for variable length array references.
llvm-svn: 36163
2007-04-16 21:13:57 +00:00
Duncan Sands
0510c9125e Check handling of arrays of variable sized components.
llvm-svn: 36162
2007-04-16 21:12:03 +00:00
Anton Korobeynikov
753167055b Heal this test
llvm-svn: 36161
2007-04-16 21:07:00 +00:00
Chris Lattner
513bdd23e0 fix this test
llvm-svn: 36160
2007-04-16 21:05:37 +00:00
Devang Patel
af0b4b4191 Proivde getAnalysis<FPAnalysis>(Func) support.
llvm-svn: 36159
2007-04-16 20:56:24 +00:00
Devang Patel
4bf452b5e4 Do not assert during analysis implementation initialization.
llvm-svn: 36158
2007-04-16 20:44:16 +00:00
Devang Patel
814d1deba8 Print and delete on the fly pass managers.
llvm-svn: 36157
2007-04-16 20:39:59 +00:00
Reid Spencer
162b270bd1 Regenerate.
llvm-svn: 36156
2007-04-16 20:35:38 +00:00
Reid Spencer
d36a46527a Check length of string before we walk off the end of it.
Thanks, Chris.

llvm-svn: 36155
2007-04-16 20:31:06 +00:00
Devang Patel
3b4e226a87 Update module pass manager to support module passes that require
function passes.

llvm-svn: 36154
2007-04-16 20:27:05 +00:00
Devang Patel
c1010840fa Give each pass manager chance to manage lower level analysis pass, which is
pass required by one of pass managed by the manager.

llvm-svn: 36153
2007-04-16 20:12:57 +00:00
Evan Cheng
097bb4df97 Fixes tests and remove xfail.
llvm-svn: 36152
2007-04-16 20:04:11 +00:00
Evan Cheng
fe50dfe505 One more callee-saved register used.
llvm-svn: 36151
2007-04-16 18:59:25 +00:00
Evan Cheng
1f054dca9e Fix test.
llvm-svn: 36150
2007-04-16 18:55:46 +00:00
Devang Patel
a76dce77d9 Add getPotentialPassManagerType(). No functionality change, yet.
llvm-svn: 36149
2007-04-16 18:51:25 +00:00
Duncan Sands
716ac3f035 Testcase for C front-end crash.
llvm-svn: 36148
2007-04-16 18:51:13 +00:00