Chris Lattner
ce4ac095f0
Add a nan, stop testing isnan
...
llvm-svn: 14183
2004-06-15 21:29:01 +00:00
Brian Gaeke
476c73b241
Fix thinko in visitor... ShiftInsts should currently be delegated
...
to visitBinaryOperator.
llvm-svn: 14182
2004-06-15 21:09:46 +00:00
Chris Lattner
b1f0478f1d
Do not dereference end iterators. It's really bad for the asmwriter's health.
...
This possibly fixes PR370
llvm-svn: 14181
2004-06-15 21:07:32 +00:00
Brian Gaeke
675c0e9701
I think we'll use the standard lowering passes for now.
...
llvm-svn: 14179
2004-06-15 20:37:12 +00:00
Brian Gaeke
0c8ee30d53
Fix bug generating code for void call instructions: don't call
...
getReg() on void value.
llvm-svn: 14178
2004-06-15 20:06:32 +00:00
Brian Gaeke
065a6cb93a
Squash a warning from the Solaris assembler by aligning the stack
...
on a double-word boundary instead of a single-word boundary.
llvm-svn: 14177
2004-06-15 19:53:10 +00:00
Brian Gaeke
ad98a9b526
Allow special-casing of operand printing based on opcode. Print
...
non-register, non-immed. arguments to SETHI and OR using %hi() and
%lo() respectively.
llvm-svn: 14176
2004-06-15 19:52:59 +00:00
Brian Gaeke
19fbd28a06
Support constant GEP expressions.
...
Support copying long constants to register pairs.
Support copying ConstantPointerNulls and ConstantPointerRefs to registers.
llvm-svn: 14175
2004-06-15 19:16:07 +00:00
Misha Brukman
342693e35b
The correct prototype is `int atoi(CONST char*)'. Unbroke AIX build.
...
llvm-svn: 14173
2004-06-14 16:30:05 +00:00
Misha Brukman
bba0f0e492
Add file comment.
...
llvm-svn: 14172
2004-06-14 15:13:59 +00:00
Brian Gaeke
21370771ba
Quick hack to get this file compiling again on Mac OS X. The right thing to do
...
is write an autoconf macro that checks whether __isnan or isnan actually works
**using the C++ compiler after #include <cmath>**, instead of doing it the easy
way with AC_CHECK_FUNCS().
llvm-svn: 14171
2004-06-14 06:33:19 +00:00
Brian Gaeke
99c6539bce
Make -print-machineinstrs even stronger. You get to see the final code after
...
peepholing, and make it work the same way in the JIT as in LLC.
llvm-svn: 14170
2004-06-14 05:05:45 +00:00
Reid Spencer
d5a21b0575
Get rid of "might be uninitialized" warnings when compiling with GCC 3.3.2
...
llvm-svn: 14169
2004-06-13 19:17:49 +00:00
Alkis Evlogimenos
e395468ae5
Add constant folding capabilities to the isunordered intrinsic.
...
llvm-svn: 14168
2004-06-13 01:23:56 +00:00
Alkis Evlogimenos
0fa392310a
Really add the docs this time :-)
...
llvm-svn: 14167
2004-06-13 01:16:15 +00:00
Alkis Evlogimenos
cf9f8f1762
Make assertions more consistent with the rest of the intrinsic
...
function verification and make it a requirement that both arguments to
llvm.isunordered are of the same type.
llvm-svn: 14165
2004-06-13 00:55:26 +00:00
Alkis Evlogimenos
9d740629a0
Add the isunordered intrinsic.
...
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Reid Spencer
0a70ceb55f
Reduce the number of columns in the alpha index to 4 so that it fits
...
on a 1280x1024 screen!
llvm-svn: 14158
2004-06-12 14:46:02 +00:00
Chris Lattner
27f44fe1f8
It is no longer 2001
...
llvm-svn: 14157
2004-06-11 21:12:22 +00:00
Brian Gaeke
787ed2f377
Don't trim @PrevDays (causing an error) if it isn't long enough.
...
llvm-svn: 14156
2004-06-11 19:55:30 +00:00
Misha Brukman
fb35b09738
Fix grammar: 's is for possessive only.
...
llvm-svn: 14155
2004-06-11 16:50:21 +00:00
Reid Spencer
c0999e134e
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
llvm-svn: 14154
2004-06-11 15:10:38 +00:00
Reid Spencer
80ae844ea8
Add two options to the program:
...
-release causes ENABLE_OPTIMIZED=1 to be added to the make line so that
the test runs against optimized code.
-pedantic causes the CompileOptimizeOpts variable to be overridden to
add several additional warnings not picked up by -Wall. This
should help catch additional programming faux pas. See the diff
for the specific details.
llvm-svn: 14153
2004-06-11 07:06:22 +00:00
Chris Lattner
5888b5d4b1
Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were being
...
printed incorrectly, and we were reserving 8 extra bytes of stack space for functions
on X86.
llvm-svn: 14152
2004-06-11 06:37:11 +00:00
Chris Lattner
66f313725c
llvm.isnan doesn't access memory
...
llvm-svn: 14151
2004-06-11 06:17:13 +00:00
Chris Lattner
ec941f7abb
Constant fold the isnan intrinsic
...
llvm-svn: 14150
2004-06-11 06:16:23 +00:00
Chris Lattner
b82f707e30
Add tests for isnan
...
llvm-svn: 14149
2004-06-11 06:16:13 +00:00
Chris Lattner
1c2be0e5a9
By far, one of the most common uses of isnan is to make 'isunordered'
...
comparisons. In an 'isunordered' predicate, which looks like this at
the LLVM level:
%a = call bool %llvm.isnan(double %X)
%b = call bool %llvm.isnan(double %Y)
%COM = or bool %a, %b
We used to generate this code:
fxch %ST(1)
fucomip %ST(0), %ST(0)
setp %AL
fucomip %ST(0), %ST(0)
setp %AH
or %AL, %AH
With this patch, we generate this code:
fucomip %ST(0), %ST(1)
fstp %ST(0)
setp %AL
Which should make alkis happy. Tested as X86/compare_folding.llx:test1
llvm-svn: 14148
2004-06-11 05:33:49 +00:00
Chris Lattner
858cb55a5c
Test that the X86 backend is only emitting one fucom instruction
...
for each 'COM =' line.
llvm-svn: 14147
2004-06-11 05:30:34 +00:00
Chris Lattner
71186e2fb6
Fix bug in previous checkin
...
llvm-svn: 14146
2004-06-11 05:22:44 +00:00
Chris Lattner
5ed9113e14
No really, these are dead now
...
llvm-svn: 14145
2004-06-11 04:50:14 +00:00
Chris Lattner
b35f47627d
Now that compare instructions aren't lumped in with the other twoargfp instructions,
...
we can get rid of the FpUCOM/FpUCOMi pseudo instructions, which makes stuff simpler
and faster.
llvm-svn: 14144
2004-06-11 04:49:02 +00:00
Chris Lattner
0876edf122
Introduce a new FP instruction type to separate the compare cases from the
...
twoarg cases.
llvm-svn: 14143
2004-06-11 04:41:24 +00:00
Chris Lattner
4e71aa84d5
Bug fixed, new feature
...
llvm-svn: 14142
2004-06-11 04:35:21 +00:00
Chris Lattner
26a964f88e
Add direct support for the isnan intrinsic, implementing test/Regression/CodeGen/X86/isnan.llx
...
testcase
llvm-svn: 14141
2004-06-11 04:31:10 +00:00
Chris Lattner
a0cfedef3a
Add support for the setp instructions
...
llvm-svn: 14140
2004-06-11 04:30:06 +00:00
Chris Lattner
94ff2c3210
Split compare instruction handling OUT of handleTwoArgFP into handleCompareFP.
...
This makes the code much simpler, and the two cases really do belong apart.
Once we do it, it's pretty obvious how flawed the logic was for A != A case,
so I fixed it (fixing PR369).
This also uses freeStackSlotAfter instead of inserting an fxchg then
popStackAfter'ing in the case where there is a dead result (unlikely, but
possible), producing better code.
llvm-svn: 14139
2004-06-11 04:25:06 +00:00
Reid Spencer
95290c7d33
Change tags rule to pipe output from find through etags command so that it
...
doesn't break on machines with limited command line lengths.
llvm-svn: 14138
2004-06-11 03:10:27 +00:00
Reid Spencer
c22be9f9d5
Revert an unneeded interface change to Instruction.h
...
llvm-svn: 14137
2004-06-11 03:06:43 +00:00
Chris Lattner
a5ddab2779
Testcase for PR369
...
llvm-svn: 14136
2004-06-11 02:59:47 +00:00
Chris Lattner
434cc49bca
Check to make sure that isnan doesn't require calling a function
...
llvm-svn: 14135
2004-06-11 02:54:54 +00:00
Chris Lattner
0c6db524d6
Fix lowering to work correctly
...
llvm-svn: 14134
2004-06-11 02:54:02 +00:00
Chris Lattner
8f40e35934
I misled Alkis: LLVM should have isnan, not isunordered.
...
isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
Modernize testcase
llvm-svn: 14133
2004-06-11 02:29:57 +00:00
Chris Lattner
8f69c9e439
I misled Alkis: LLVM should have isnan, not isunordered.
...
isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
llvm-svn: 14132
2004-06-11 02:29:43 +00:00
Chris Lattner
3b4f437526
Document the llvm.isnan intrinsic
...
llvm-svn: 14131
2004-06-11 02:28:03 +00:00
Brian Gaeke
522235efbf
Bug fixed.
...
llvm-svn: 14130
2004-06-11 02:15:39 +00:00
Brian Gaeke
5caed4e7dd
Test case for PR368
...
llvm-svn: 14129
2004-06-11 02:11:43 +00:00
Brian Gaeke
2655aab200
Turn loads of ConstantPointerNulls into loads of zero... don't spill
...
them into the constant pool.
llvm-svn: 14128
2004-06-11 02:03:48 +00:00
Alkis Evlogimenos
d0b5d0c7cc
Add the isunordered intrinsic.
...
llvm-svn: 14127
2004-06-11 01:08:18 +00:00
Alkis Evlogimenos
2baa85e8be
Add feature test for llvm intrinsics. It currently contains only the "isunordered" intrinsic
...
llvm-svn: 14126
2004-06-11 01:06:40 +00:00
Reid Spencer
c4bbb8f70b
Updated the BytecodeAnalysis data structure to contain additional fields
...
needed for analysis of individual functions.
llvm-svn: 14125
2004-06-10 22:28:11 +00:00
Reid Spencer
7e5d80033d
Added an isPhiNode(unsigned) static method to determine if an opcode is
...
a PhiNode or not. Needed by Bytecode Analyzer.
llvm-svn: 14124
2004-06-10 22:27:10 +00:00
Reid Spencer
8395e67fb1
Remove tabs.
...
llvm-svn: 14123
2004-06-10 22:03:00 +00:00
Reid Spencer
7670bbdfb9
Implement detailed function level data collection and reporting.
...
llvm-svn: 14122
2004-06-10 22:00:54 +00:00
Reid Spencer
90f0032664
Adjust prototypes to new Handler interface.
...
llvm-svn: 14121
2004-06-10 22:00:29 +00:00
Reid Spencer
2491b0959e
Make the parser deal with functions instead of just function types.
...
llvm-svn: 14120
2004-06-10 21:59:20 +00:00
Reid Spencer
b3a4e0b9bd
Clean up documentation and naming of variables.
...
llvm-svn: 14119
2004-06-10 18:38:44 +00:00
Misha Brukman
ffdffe1d76
Remove extra space.
...
llvm-svn: 14117
2004-06-10 12:51:35 +00:00
Reid Spencer
ff35cf92c5
Doxygenize a comment.
...
llvm-svn: 14115
2004-06-10 08:27:00 +00:00
Reid Spencer
1080b373a2
Made detailed output the default and changed -details option to -nodetails.
...
llvm-svn: 14114
2004-06-10 08:24:42 +00:00
Reid Spencer
8e5de9cd75
Implemented the bulk of the functionality. Cleaned up the code.
...
llvm-svn: 14113
2004-06-10 08:09:13 +00:00
Brian Gaeke
966938cff2
Allow dates with slashes in them in $DateRE.
...
Don't match on $Filename (which will be unset) if we hit 'UNMATCHABLE:'.
llvm-svn: 14112
2004-06-10 07:44:28 +00:00
Chris Lattner
175532bb1e
Fix the prolog epilog code inserter to match the documentation and support
...
targets whose stack grows up.
Patch contributed by Vladimir Prus
llvm-svn: 14111
2004-06-10 06:23:35 +00:00
Chris Lattner
6d6b3b3ce9
Fix the fixed stack offset, patch contributed by Vladimir Prus
...
llvm-svn: 14110
2004-06-10 06:19:25 +00:00
Chris Lattner
ee59d4bf04
Fix a bug in my checkin from last night that caused miscompilations of
...
186.crafty, fhourstones and 132.ijpeg.
Bugpoint makes really nasty miscompilations embarassingly easy to find. It
narrowed it down to the instcombiner and this testcase (from fhourstones):
bool %l7153_l4706_htstat_loopentry_2E_4_no_exit_2E_4(int* %i, [32 x int]* %works, int* %tmp.98.out) {
newFuncRoot:
%tmp.96 = load int* %i ; <int> [#uses=1]
%tmp.97 = getelementptr [32 x int]* %works, long 0, int %tmp.96 ; <int*> [#uses=1]
%tmp.98 = load int* %tmp.97 ; <int> [#uses=2]
%tmp.99 = load int* %i ; <int> [#uses=1]
%tmp.100 = and int %tmp.99, 7 ; <int> [#uses=1]
%tmp.101 = seteq int %tmp.100, 7 ; <bool> [#uses=2]
%tmp.102 = cast bool %tmp.101 to int ; <int> [#uses=0]
br bool %tmp.101, label %codeRepl4.exitStub, label %codeRepl3.exitStub
codeRepl4.exitStub: ; preds = %newFuncRoot
store int %tmp.98, int* %tmp.98.out
ret bool true
codeRepl3.exitStub: ; preds = %newFuncRoot
store int %tmp.98, int* %tmp.98.out
ret bool false
}
... which only has one combination performed on it:
$ llvm-as < t.ll | opt -instcombine -debug | llvm-dis
IC: Old = %tmp.101 = seteq int %tmp.100, 7 ; <bool> [#uses=1]
New = setne int %tmp.100, 0 ; <bool>:<badref> [#uses=0]
IC: MOD = br bool %tmp.101, label %codeRepl3.exitStub, label %codeRepl4.exitStub
IC: MOD = %tmp.97 = getelementptr [32 x int]* %works, uint 0, int %tmp.96 ; <int*> [#uses=1]
It doesn't get much better than this. :)
llvm-svn: 14109
2004-06-10 02:33:20 +00:00
Chris Lattner
c8e7e298c1
More minor cleanups
...
llvm-svn: 14108
2004-06-10 02:12:35 +00:00
Chris Lattner
df20a4d589
Eliminate many occurrances of Instruction::
...
llvm-svn: 14107
2004-06-10 02:07:29 +00:00
Chris Lattner
88ba175c1e
Share some code
...
llvm-svn: 14106
2004-06-10 01:57:38 +00:00
Chris Lattner
867653ad6a
Add new BinaryOperator::createAdd/Sub/... methods to avoid having to type
...
llvm::Instruction:: all of the time.
llvm-svn: 14105
2004-06-10 01:43:29 +00:00
Chris Lattner
68a038e6a1
Tolerate more errors
...
llvm-svn: 14104
2004-06-09 22:22:10 +00:00
Brian Gaeke
5b03a0628f
Encode %fsr correctly; don't fail an assertion.
...
llvm-svn: 14103
2004-06-09 21:54:59 +00:00
Brian Gaeke
87d8878f6d
Fix encoding of ST*FSR instructions.
...
llvm-svn: 14102
2004-06-09 21:54:58 +00:00
Brian Gaeke
87c75632ee
Fix assertion failure message to have the right method name.
...
llvm-svn: 14101
2004-06-09 20:44:42 +00:00
Chris Lattner
757ee0b533
Make the asmwriter much more tolerant of errors (which are common when working
...
on new front-ends and stuff). Also get rid of some tabs that snuck in.
llvm-svn: 14100
2004-06-09 19:41:19 +00:00
Reid Spencer
f8d610ca73
Columnized the compilation statistics for easier reading.
...
llvm-svn: 14099
2004-06-09 18:29:15 +00:00
Chris Lattner
4408630c67
Fix the really bizarre stuff that happened last night in the tester
...
due to non-numeric diff failures that caused fpcmp to go into infinite loops
llvm-svn: 14098
2004-06-09 18:28:53 +00:00
Reid Spencer
8beac69819
Made it possible for the printInfoComment method to invoke getSlot in
...
such a way that if the Value being printed is standalone that we don't
assert and abort but just print ":??" for the slot number instead.
llvm-svn: 14097
2004-06-09 15:26:53 +00:00
John Criswell
9095c64147
Fix for PR#366. We use getClassB() so that we can handle cast instructions
...
that cast to bool.
llvm-svn: 14096
2004-06-09 15:18:51 +00:00
Chris Lattner
35167c3087
Implement InstCombine/select.ll:test15*
...
llvm-svn: 14095
2004-06-09 07:59:58 +00:00
Chris Lattner
ce527c8e6d
More instcombine testcases
...
llvm-svn: 14094
2004-06-09 07:59:40 +00:00
Reid Spencer
2acee7e4d6
Cleanup alignment of output.
...
llvm-svn: 14093
2004-06-09 06:22:00 +00:00
Reid Spencer
1e47e066ad
Add some new fields for bytecode analysis.
...
llvm-svn: 14092
2004-06-09 06:18:53 +00:00
Reid Spencer
cc4e35a404
Implement analysis output. Don't dump function details unless requested.
...
llvm-svn: 14091
2004-06-09 06:17:58 +00:00
Reid Spencer
839fa681f6
Implement some rudimentary analysis.
...
llvm-svn: 14090
2004-06-09 06:16:43 +00:00
Reid Spencer
f1598b0efa
Clean up indentation of file body output.
...
Don't dump functions unless "detailedResults" is requested.
llvm-svn: 14089
2004-06-09 06:16:19 +00:00
Reid Spencer
fc6f5508aa
Move parsing details to Parser.cpp.
...
llvm-svn: 14088
2004-06-09 06:15:21 +00:00
Reid Spencer
670c26d3af
Bring some things out of header files that belong only in this file.
...
llvm-svn: 14087
2004-06-09 06:14:52 +00:00
Chris Lattner
396dbfe327
Be more careful about the order we put stuff onto the worklist. This allow us to
...
collapse this:
bool %le(int %A, int %B) {
%c1 = setgt int %A, %B
%tmp = select bool %c1, int 1, int 0
%c2 = setlt int %A, %B
%result = select bool %c2, int -1, int %tmp
%c3 = setle int %result, 0
ret bool %c3
}
into:
bool %le(int %A, int %B) {
%c3 = setle int %A, %B ; <bool> [#uses=1]
ret bool %c3
}
which is handy, because the Java FE makes these sequences all over the place.
This is tested as: test/Regression/Transforms/InstCombine/JavaCompare.ll
llvm-svn: 14086
2004-06-09 05:08:07 +00:00
Chris Lattner
7ed7d82512
New testcase that is important for the Java FE
...
llvm-svn: 14085
2004-06-09 05:07:01 +00:00
Reid Spencer
e73febc64a
Cleaned up a dead header file to prevent duplicate definition warnings
...
in doxygen.
llvm-svn: 14084
2004-06-09 04:38:34 +00:00
Chris Lattner
2dd017402b
Implement select.ll:test14*
...
llvm-svn: 14083
2004-06-09 04:24:29 +00:00
Chris Lattner
52d7430fc5
New testcase for the instruction combiner that happen often in the Java FE
...
llvm-svn: 14082
2004-06-09 04:23:57 +00:00
Chris Lattner
0c09852909
Minor tweaks
...
llvm-svn: 14081
2004-06-09 03:59:05 +00:00
Reid Spencer
4d598edc59
Regularize title of Regression Test section. Clean up some blank space.
...
llvm-svn: 14080
2004-06-09 02:07:25 +00:00
Chris Lattner
4769612be1
Bug fixed
...
llvm-svn: 14079
2004-06-09 01:09:16 +00:00
Chris Lattner
74248512eb
Workaround or a VS miscompilation bug
...
llvm-svn: 14078
2004-06-08 23:21:39 +00:00
Chris Lattner
8b52a68356
I checked and no clients expect this to return null for unconditional branches
...
Simplify code and make it more uniform.
llvm-svn: 14077
2004-06-08 22:03:05 +00:00
Chris Lattner
4c7a24af44
Don't grab the condition of unconditional branches!
...
This fixes PR363
llvm-svn: 14076
2004-06-08 21:50:30 +00:00
Brian Gaeke
c365e7cc99
Fix a minor bug in the map - since this pass adds a global symbol, it must be
...
accounted for in the map (at least, in its current format).
llvm-svn: 14075
2004-06-08 20:08:30 +00:00
Brian Gaeke
78d03b523f
Add a forwarding method pop_front() that allows you to delete instructions
...
from the beginning of a MBB.
llvm-svn: 14074
2004-06-08 18:52:47 +00:00
Brian Gaeke
76b6426a8c
Add a TmpInstruction ctor that doesn't take a MCFI.
...
llvm-svn: 14073
2004-06-08 18:52:46 +00:00
Brian Gaeke
223b345279
Explicitly specify libtool tag "CXX" so that if you setenv CXX to something
...
libtool can't parse, e.g., "/path/to/g++ -some-funny-options",
then it will still be able to compile and link.
llvm-svn: 14072
2004-06-08 18:52:45 +00:00
Chris Lattner
a20f4aab7f
Fix a link error using VS8.0
...
llvm-svn: 14071
2004-06-08 17:53:24 +00:00
Chris Lattner
4409487746
Apparently a particular vendor compiler uses the struct/class tag to MANGLE
...
symbols with. Therefore, if you do not use struct/class consistently, you can
get LINK ERRORS. grr.
This fixes the link errors for libsupport and vmcore.
-Chris
llvm-svn: 14070
2004-06-08 17:44:21 +00:00
Misha Brukman
23c2f67fda
Fix case of doxygen directive `\p': it's lowercase.
...
llvm-svn: 14068
2004-06-08 13:49:17 +00:00
Reid Spencer
7d4b814e86
* Fix indentation of Regression Test Results by making sure the
...
GetQMTestResults function closes all its open tags.
* Cause XFAIL results to not be reported at all except in the stats.
llvm-svn: 14067
2004-06-08 08:01:33 +00:00
Reid Spencer
b14a0a69fc
Put in a place holder for describing the differences in bytecode format
...
between LLVM versions. This is just a reminder so I don't forget to
document it.
llvm-svn: 14066
2004-06-08 07:41:41 +00:00
Reid Spencer
850f85f81f
Add a note about llvm-abcd, the Analysis of ByteCode Dumper
...
llvm-svn: 14065
2004-06-08 07:30:31 +00:00
Chris Lattner
bd948cfe38
Ooh, that fixed the annoying warning!!
...
llvm-svn: 14064
2004-06-08 07:19:29 +00:00
Chris Lattner
25b3a03e17
Bug fixed
...
llvm-svn: 14063
2004-06-08 07:15:52 +00:00
Chris Lattner
79dd360555
New testcase for PR355
...
llvm-svn: 14062
2004-06-08 07:11:14 +00:00
Chris Lattner
12eb60f213
Testcase for PR355
...
llvm-svn: 14061
2004-06-08 07:10:11 +00:00
Chris Lattner
522ef67fb2
Add documentation to the TargetFrameInfo class, contributed by Vladimir Prus
...
llvm-svn: 14060
2004-06-08 06:23:17 +00:00
Reid Spencer
ddc6fb125e
Clean up the documentation.
...
Simplify the file handling. It now only writes to std::cout.
llvm-svn: 14059
2004-06-08 05:56:58 +00:00
Reid Spencer
2eb0f1d44c
Clean up documentation and make it possible for the BytecodeAnalyzer to
...
store the output of the bytecode dumper.
llvm-svn: 14058
2004-06-08 05:55:53 +00:00
Reid Spencer
42427f0ccb
Fix the bug that was preventing the parser from working on all bytecode
...
files. It was reading non-initialized global vars when the flag said it was
initialized and vice versa. Causes mis-alignment since initialized and
non-initialized constants have different bytecode lengths.
llvm-svn: 14057
2004-06-08 05:54:47 +00:00
Reid Spencer
2c5613d1c3
Make it #include Parser.h instead of AnalyzerInternals.h since it only
...
needs the BytecodeHandler interface which is now in Parser.h
llvm-svn: 14056
2004-06-08 05:53:14 +00:00
Reid Spencer
621a4ad111
Adjust what's included to compensate for changes in Parser.h
...
llvm-svn: 14055
2004-06-08 05:52:29 +00:00
Reid Spencer
fbe659d435
Merged BytecodeHandler.h into Parser.h since the parser and the handler
...
must always coexist. Cleaned up the documentation on these interfaces
significantly. This is in preparation for moving Parser.h to the include
directories to make it a public interface.
llvm-svn: 14054
2004-06-08 05:51:18 +00:00
Chris Lattner
71dbebf411
Fix PR361.
...
Dominance properties don't hold in unreachable code
llvm-svn: 14053
2004-06-07 23:07:33 +00:00
Chris Lattner
3b2e067386
New testcase for PR361
...
llvm-svn: 14052
2004-06-07 23:07:09 +00:00
Chris Lattner
07ab2d1d2d
Make all of this functionality work directly on win32. Properly conditionalize
...
system specific stuff on HAVE_MKSTEMP
llvm-svn: 14051
2004-06-07 19:37:24 +00:00
Chris Lattner
6068345cc5
Implement getTimeRecord natively in Win32, properly conditionalize the
...
getrusage implementation on HAVE_GETRUSAGE
llvm-svn: 14050
2004-06-07 19:34:51 +00:00
Chris Lattner
bbc373bf8b
Eliminate more traces of the -c option
...
llvm-svn: 14049
2004-06-07 18:10:01 +00:00
Reid Spencer
db5c86d0b1
Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
...
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader. This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.
llvm-svn: 14048
2004-06-07 17:53:43 +00:00
John Criswell
b0a352c94f
Added checks for mkstemp and getrusage.
...
llvm-svn: 14047
2004-06-07 14:26:24 +00:00
Chris Lattner
2738b7ea61
Add some notes so I can throw away one of my many todo lists.
...
llvm-svn: 14046
2004-06-05 20:12:36 +00:00
Chris Lattner
307e1df0d1
Fix GCC warning
...
llvm-svn: 14045
2004-06-05 17:44:48 +00:00
Chris Lattner
08d1b9db1e
Fix GCC warnings
...
llvm-svn: 14044
2004-06-05 17:43:52 +00:00
Reid Spencer
1253fb9d83
Fix a few typos, spellos, grammaros.
...
llvm-svn: 14043
2004-06-05 14:39:24 +00:00
Reid Spencer
242ddb92bc
Add "work in progress" warning.
...
llvm-svn: 14042
2004-06-05 14:18:02 +00:00
Alkis Evlogimenos
2c0735446b
Include cerrno.
...
llvm-svn: 14041
2004-06-05 08:59:43 +00:00
Chris Lattner
0d63958706
Remove an unused variable.
...
Work around for bogus errors: no those static functions don't need to
be executed to be initialized!
llvm-svn: 14040
2004-06-05 01:05:19 +00:00
Chris Lattner
0a5f63d5f4
Macros are baaad.
...
llvm-svn: 14039
2004-06-05 00:54:11 +00:00
Chris Lattner
28461fa83c
Don't #include <unistd.h> directly, go through the config files
...
llvm-svn: 14038
2004-06-05 00:27:38 +00:00
Chris Lattner
c5e0be647c
Add missing #include
...
llvm-svn: 14037
2004-06-05 00:24:59 +00:00
Chris Lattner
61bd8b3810
Work around VS bug
...
llvm-svn: 14036
2004-06-05 00:22:04 +00:00
Chris Lattner
2e7ceee89f
Warning foo
...
llvm-svn: 14035
2004-06-05 00:17:13 +00:00
Chris Lattner
708ee9d965
As much as I dislike doing this, it's the only fix for VC8.0 that I can come
...
up with, even though it's perfectly conformant code. :(
llvm-svn: 14034
2004-06-05 00:11:27 +00:00
Chris Lattner
5c391ce004
Remove unused var
...
llvm-svn: 14033
2004-06-05 00:03:27 +00:00
Chris Lattner
aa6ff271d0
Squelch a warning
...
llvm-svn: 14032
2004-06-04 23:53:20 +00:00
Chris Lattner
42d5b0878b
Delete some unreachable code
...
llvm-svn: 14031
2004-06-04 23:52:36 +00:00
Misha Brukman
21bbdb9533
* No more CachedWriter::setStream()
...
* ostream is back to being a reference instead of a pointer
* Output single characters as chars, not as length-1 strings
llvm-svn: 14030
2004-06-04 21:11:51 +00:00
Misha Brukman
a415858fc2
Revert ostream back to reference: the only user (llvm-tv) no longer needs it.
...
llvm-svn: 14029
2004-06-04 21:10:35 +00:00
Chris Lattner
603b1ca393
Add some constants for VC
...
llvm-svn: 14028
2004-06-04 20:58:34 +00:00
Brian Gaeke
78faa9a9e6
Fix up some spacing & fix a typo in an assertion in cpValue2Value.
...
llvm-svn: 14027
2004-06-04 20:51:40 +00:00
Chris Lattner
dcffa86719
Ugh, apparently there is no common ground here.
...
llvm-svn: 14026
2004-06-04 20:48:51 +00:00
Chris Lattner
214e58ded5
Fix a *really* dumb warning on VC
...
llvm-svn: 14025
2004-06-04 20:47:19 +00:00
Chris Lattner
a429db82bf
Fix more warnings
...
llvm-svn: 14024
2004-06-04 20:39:05 +00:00
Chris Lattner
fd427c1edd
Remove support for printing strings from the cached writer
...
llvm-svn: 14023
2004-06-04 20:34:51 +00:00
Chris Lattner
75019ba397
Don't send random junk to CachedWriter's. Also remove a cast that could be
...
problematic when Type does not derive from Value.
llvm-svn: 14022
2004-06-04 20:25:55 +00:00
Chris Lattner
875779a87a
GCC doesn't like prefix form of cast with two identifiers I guess.
...
llvm-svn: 14021
2004-06-04 20:21:53 +00:00
Chris Lattner
1278759a2c
Squish a warning
...
llvm-svn: 14020
2004-06-04 20:14:29 +00:00
Chris Lattner
505b2c6b77
Silence a warning
...
llvm-svn: 14019
2004-06-04 20:10:17 +00:00
Chris Lattner
a36804a2ff
Add ssize_t for VC++
...
llvm-svn: 14018
2004-06-04 20:06:33 +00:00
Chris Lattner
49dc039eeb
<io.h> provides read/write/open/...
...
llvm-svn: 14017
2004-06-04 20:05:35 +00:00
Chris Lattner
5cc1b64528
Visual C has something resembling a stat function, but it doesn't provide S_ISREG
...
llvm-svn: 14016
2004-06-04 20:03:06 +00:00
Chris Lattner
3df4beffa5
Make this work on VC++, pull the HAVE_ALLOCA_H case out instead of duplicating
...
it. This code can probably be dramatically simplified, as I suspect that the
pragma and other stuff is not needed with C++ compilers.
llvm-svn: 14015
2004-06-04 19:25:50 +00:00
Chris Lattner
72e76982f7
Add more needed typedefs
...
llvm-svn: 14014
2004-06-04 19:11:04 +00:00
Chris Lattner
b80110f667
Add explicit casts to silence warnings. There is no need to use snprintf here.
...
llvm-svn: 14013
2004-06-04 19:10:30 +00:00
Chris Lattner
5034a983ff
Make this work with VC++
...
llvm-svn: 14012
2004-06-04 19:01:49 +00:00
Chris Lattner
1d79ba7edb
Fix a nasty bug that caused areAliases to always return false.
...
Bug fix courtesy of Anshu Dasgupta
llvm-svn: 14011
2004-06-04 17:03:11 +00:00
Misha Brukman
aff10d0461
Emit a more sensible error message if no subclasses of Target are defined.
...
Patch contributed by Vladimir Prus.
llvm-svn: 14010
2004-06-04 14:59:42 +00:00
Misha Brukman
57c586cf78
Clarify documentation and use correct doxygen comment form /// vs. // .
...
Thanks to Vladimir Prus for corrections.
llvm-svn: 14009
2004-06-04 14:51:25 +00:00
Chris Lattner
881cc1549f
Fix extraneous tag
...
llvm-svn: 14008
2004-06-04 00:40:53 +00:00
Chris Lattner
a7fac9566d
New doc
...
llvm-svn: 14007
2004-06-04 00:40:11 +00:00
Chris Lattner
b4e5664f98
Fix PR356: [doc] lib/Target/X86/README.txt needs update
...
Also add some documentation about how instructions work
llvm-svn: 14006
2004-06-04 00:16:02 +00:00
Chris Lattner
add9f29fdf
This file is obsolete
...
llvm-svn: 14005
2004-06-04 00:15:21 +00:00
Brian Gaeke
2948d2e724
Honor DISABLE_CBE, etc., even when doing the "running tests" (i.e., Olden)
...
llvm-svn: 14004
2004-06-04 00:07:12 +00:00
Misha Brukman
1d3b7a3f52
Fix broken internal link; add stub for missing subsection.
...
llvm-svn: 14003
2004-06-03 23:47:34 +00:00
Misha Brukman
3155159ef9
Fix broken internal link.
...
llvm-svn: 14002
2004-06-03 23:42:24 +00:00
Misha Brukman
d72c7f9fc9
GCSE has suddenly become a struct, not a class; fix broken link.
...
llvm-svn: 14001
2004-06-03 23:39:36 +00:00
Misha Brukman
18a94d6f21
Fix more broken links as a result of the llvm namespace.
...
llvm-svn: 14000
2004-06-03 23:35:54 +00:00
Misha Brukman
aa8db1845e
Fix broken internal links.
...
llvm-svn: 13999
2004-06-03 23:33:10 +00:00
Misha Brukman
fdcb3c209c
Fix broken links as a result of the llvm namespace.
...
llvm-svn: 13998
2004-06-03 23:29:12 +00:00
Chris Lattner
10ee9654c9
Fix some broken links
...
llvm-svn: 13997
2004-06-03 22:57:15 +00:00
Chris Lattner
249b3558bc
CQ bug implemented
...
llvm-svn: 13996
2004-06-03 22:35:13 +00:00
Chris Lattner
e0c83d2566
The prototype for ParseCommandLineOptions changed at some point, but this
...
was never updated. I guess GCC just ignores the prototype
llvm-svn: 13995
2004-06-03 22:07:26 +00:00
Brian Gaeke
0a71673115
Allow script to set configure args.
...
Allow environment to set llvmgccdir.
llvm-svn: 13994
2004-06-03 21:46:56 +00:00
Chris Lattner
5a8676a3f8
Adjust argument to match destination data type
...
llvm-svn: 13993
2004-06-03 21:14:56 +00:00
Chris Lattner
9e650d4583
Don't use identifiers that start with an _
...
llvm-svn: 13992
2004-06-03 21:12:02 +00:00
Chris Lattner
a24b5d0286
Only use the non-standards-compliant std::distance on the compiler that is
...
buggy, not for all compilers that are not GCC 3
llvm-svn: 13990
2004-06-03 18:48:59 +00:00
Misha Brukman
94192b638c
Specify div type "doc_text" to get proper indentation for paragraphs.
...
llvm-svn: 13989
2004-06-03 16:59:59 +00:00
Misha Brukman
df55bdfb5f
Add a hyphen.
...
llvm-svn: 13988
2004-06-03 16:55:57 +00:00
Misha Brukman
d888b5d54e
Properly close the footer paragraph.
...
llvm-svn: 13987
2004-06-03 15:25:16 +00:00
Misha Brukman
b18cc84921
Wrap long lines.
...
llvm-svn: 13986
2004-06-03 15:23:59 +00:00
Misha Brukman
313373d4d7
Fix case of doxygen directive \p.
...
llvm-svn: 13985
2004-06-03 15:14:00 +00:00
Chris Lattner
f75832b015
* Verify function prototypes, not just functions with bodies.
...
* Verify that functions do not take aggregates as arguments.
llvm-svn: 13984
2004-06-03 06:38:43 +00:00
Brian Gaeke
6973e85b16
Add new internal-global-symbol mapping info pass... may its life be short
...
and sweet.
llvm-svn: 13983
2004-06-03 05:03:37 +00:00
Brian Gaeke
a9c5779a86
Expand head-of-file comment.
...
llvm-svn: 13982
2004-06-03 05:03:02 +00:00
Brian Gaeke
0a48c0d913
Add new mapping info pass, when EmitMappingInfo is on.
...
llvm-svn: 13981
2004-06-03 05:03:01 +00:00
Brian Gaeke
25c6fa0e83
Fix big mistake in my last checkin... the big question is, how did I ever
...
get this to link before?
llvm-svn: 13980
2004-06-03 05:03:00 +00:00
Brian Gaeke
11cfb090b8
Add decl. for new mapping info pass factory method.
...
llvm-svn: 13979
2004-06-03 05:02:59 +00:00
Chris Lattner
1c0a0e2e36
Add -disable-codegen option to disable LLC and JIT targets
...
llvm-svn: 13978
2004-06-03 03:29:39 +00:00
Brian Gaeke
dca24ddfc7
Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
...
only concrete implementation.
llvm-svn: 13977
2004-06-03 02:45:09 +00:00
Chris Lattner
f55aa9c49c
Recognize cygwin
...
llvm-svn: 13976
2004-06-02 23:32:17 +00:00
Chris Lattner
4f816d2e38
<alloca.h> on cygwin pulls in a ton of stuff (macros and function protos)
...
that we REALLY don't want in the CBE code.
With this fix, the CBE passes all of the MultiSource tests on cygwin that
it does on linux. Yaay!
llvm-svn: 13975
2004-06-02 23:10:26 +00:00
Brian Gaeke
60f37d6df7
Another pod
...
llvm-svn: 13969
2004-06-02 20:55:52 +00:00
Brian Gaeke
51b3ef02ad
The llvm-dis.html page was a little out of date, but this pod file can supersede it.
...
llvm-svn: 13968
2004-06-02 20:45:25 +00:00
Chris Lattner
0379351667
Update to include llc on x86 and other systems
...
llvm-svn: 13967
2004-06-02 20:37:02 +00:00