Steve Naroff
822787593f
Add file to VC++ project.
...
llvm-svn: 58060
2008-10-24 01:21:47 +00:00
Dale Johannesen
9edd60f710
Initialize uninitialized variable.
...
llvm-svn: 58057
2008-10-24 01:06:58 +00:00
Ted Kremenek
b04b85f615
Added raw_fd_ostream::close().
...
llvm-svn: 58052
2008-10-23 23:49:09 +00:00
Steve Naroff
ea17111230
Changes to make the Windows build work...
...
- Add a file to the VC++ project.
- Make sure the clang driver links against the Transforms library.
- Incorporate changes from patch by Dan Gohman.
llvm-svn: 58048
2008-10-23 23:28:23 +00:00
Evan Cheng
c906d4938e
Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible.
...
llvm-svn: 58044
2008-10-23 20:43:13 +00:00
Dale Johannesen
b79ddda5bf
Mark defs and uses of CTR and LR correctly.
...
Prevents DeadMachineInstructionElim from thinking
things like MTCTR are dead (fixes massive
testsuite breakage at -O0).
llvm-svn: 58043
2008-10-23 20:41:28 +00:00
Daniel Dunbar
fba54dec6a
Make sure to set stdout to binary when writing bitcode files via
...
std::ostream API.
llvm-svn: 58042
2008-10-23 19:37:34 +00:00
Duncan Sands
d4ea54fd77
Fix thinko - the operand number has nothing to do
...
with the result number.
llvm-svn: 58041
2008-10-23 19:34:23 +00:00
Argyrios Kyrtzidis
6ffea1355c
Introduce INT64_C macro and unbreak LLVM on MSVC.
...
llvm-svn: 58039
2008-10-23 17:20:39 +00:00
Chris Lattner
493cae1ca3
make this test not depend on how the system header defines memset.
...
llvm-svn: 58016
2008-10-23 00:24:51 +00:00
Daniel Dunbar
5447f9679d
Change create*Pass factory functions to return Pass* instead of
...
LoopPass*.
- Although less precise, this means they can be used in clients
without RTTI (who would otherwise need to include LoopPass.h, which
eventually includes things using dynamic_cast). This was the
simplest solution that presented itself, but I am happy to use a
better one if available.
llvm-svn: 58010
2008-10-22 23:32:42 +00:00
Ted Kremenek
fb81568ed6
Fix incorrect testing for the end of the both strings in CStrInCStrNoCase. This could cause a read-out-of-bounds error if s2 is smaller than s1.
...
llvm-svn: 58009
2008-10-22 23:16:52 +00:00
Jim Grosbach
a8a40398e8
remove extraneous #ifdef's
...
llvm-svn: 58006
2008-10-22 22:27:51 +00:00
Daniel Dunbar
287cf9f1f7
Add raw_ostream versions of WriteBitcodeToFile and BitcodeWriterPass.
...
- The old versions are still hanging around, but should be migrated
away from.
llvm-svn: 57989
2008-10-22 17:39:14 +00:00
Dale Johannesen
c146b1b281
Remove allocation of unused stack slot.
...
llvm-svn: 57987
2008-10-22 17:26:06 +00:00
Julien Lerouge
89f4df3eae
Fix for PR2881: fix a small leak exposed by valgrind, using a ManagedStatic.
...
llvm-svn: 57984
2008-10-22 16:30:41 +00:00
Gordon Henriksen
16e190fb8b
[PR2886] Ignore stderr from ocamlc since it prints unresolvable warnings on some platforms.
...
llvm-svn: 57976
2008-10-22 12:41:54 +00:00
Gordon Henriksen
daa47f814b
Regenerate.
...
llvm-svn: 57975
2008-10-22 12:40:55 +00:00
Gordon Henriksen
d56ecf0044
[PR2886] Don't look for ocaml's .opt executables; something in the autoconf/test machinery doesn't handle the period properly.
...
llvm-svn: 57974
2008-10-22 12:40:40 +00:00
Duncan Sands
91535074e9
LegalizeTypes soft-float support for fpow.
...
llvm-svn: 57973
2008-10-22 11:49:09 +00:00
Duncan Sands
9d8f7ab614
Get this working with LegalizeTypes: (1) don't
...
assume that i64 has been turned into a BUILD_PAIR
node (when called from LegalizeTypes this hasn't
happened yet) and don't use a vector shuffle mask
with an illegal element type.
llvm-svn: 57972
2008-10-22 11:24:12 +00:00
Torok Edwin
fe9d2b2ddb
Regenerate configure
...
llvm-svn: 57971
2008-10-22 09:56:27 +00:00
Argyrios Kyrtzidis
f1de51fd9f
Unbreak LLVM on the MSVC compiler:
...
-Bring in int64_t for TableGen/Record.h and TableGen/TGLexer.h
-Define strtoull
llvm-svn: 57970
2008-10-22 09:54:13 +00:00
Duncan Sands
49081169e5
Use spaces rather than tab.
...
llvm-svn: 57969
2008-10-22 09:42:14 +00:00
Duncan Sands
0d122150ce
Be nice to CellSPU: for this target getSetCCResultType
...
may return i8, which can result in SELECT nodes for
which the type of the condition is i8, but there are
no patterns for select with i8 condition. Tweak the
LegalizeTypes logic to avoid this as much as possible.
This isn't a real fix because it is still perfectly
possible to end up with such select nodes - CellSPU
needs to be fixed IMHO.
llvm-svn: 57968
2008-10-22 09:23:20 +00:00
Duncan Sands
ebf65ef3f9
Port from LegalizeDAG the logic to only generate
...
ADDC/ADDE/SUBC/SUBE if the target supports it.
llvm-svn: 57967
2008-10-22 09:07:29 +00:00
Duncan Sands
81c4c88859
Add some comments explaining the meaning of a boolean
...
that is not of type MVT::i1 in SELECT and SETCC nodes.
Relax the LegalizeTypes SELECT condition promotion
sanity checks to allow other condition types than i1.
llvm-svn: 57966
2008-10-22 09:06:24 +00:00
Duncan Sands
7ba0cc16c1
Temporarily allow the operands of a BUILD_VECTOR
...
to have a different type to the vector element
type. This should be fairly harmless because in
the past guys like this were being built all over
the place (and were cleaned up when I added this
check). The reason for relaxing this check is
that it helps LegalizeTypes legalize vector
shuffles: the mask is a BUILD_VECTOR that it is
*not always possible* to legalize while keeping it
a BUILD_VECTOR (vector_shuffle requires the mask
to be a BUILD_VECTOR, as opposed to a vector with
the right vector type). With this check it is even
harder to legalize the mask - turning the check off
means that LegalizeTypes manages to legalize almost
all vector shuffles encountered in practice. The
correct solution is to change vector_shuffle to be a
variadic node with the mask built into it as operands.
While waiting for that change, this hack stops the
problem with vector_shuffle from blocking the turning
on of LegalizeTypes.
llvm-svn: 57965
2008-10-22 09:00:33 +00:00
Chris Lattner
cf48fee0c7
Fix PR2907 by digging through constant expressions to find FP constants that
...
are their operands.
llvm-svn: 57956
2008-10-22 04:53:16 +00:00
Daniel Dunbar
d1169ccaf2
Move Print*Pass to use raw_ostream.
...
llvm-svn: 57946
2008-10-22 03:25:22 +00:00
Oscar Fuentes
916a2ebaf8
CMake: `make install' for libraries, executables and header files.
...
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Oscar Fuentes
a888824a00
CMake: use add_llvm_example for HowToUseJIT.
...
llvm-svn: 57944
2008-10-22 02:52:59 +00:00
Oscar Fuentes
a932cae97a
CMake: Turned some libraries into partially linked objects. Corrected
...
names of LLVMCore and ARMCodeGen.
llvm-svn: 57943
2008-10-22 02:51:53 +00:00
Dale Johannesen
3bd1c1e5cd
Adjust comments for pedantic satisfaction.
...
llvm-svn: 57940
2008-10-22 00:02:32 +00:00
Bill Wendling
f7f3d038a6
Fix comment to name "TokenFactor" instead of "Token factor".
...
llvm-svn: 57939
2008-10-21 23:57:52 +00:00
Oscar Fuentes
4a377fbeae
CMake: updated lib/VMCore/CMakeLists.txt
...
llvm-svn: 57937
2008-10-21 23:52:03 +00:00
Daniel Dunbar
919ce3c16a
Privatize PrintModulePass and PrintFunctionPass and add
...
createPrintModulePass and createPrintFunctionPass.
- So clients who compile w/o RTTI can use them.
llvm-svn: 57933
2008-10-21 23:33:38 +00:00
Dale Johannesen
9185d28b4b
Add comments to explain uint64->f64 algorithm,
...
well, sort of. (Algorithm by Ian Ollmann.)
llvm-svn: 57932
2008-10-21 23:07:49 +00:00
Dale Johannesen
eb7e2deb1d
Add an SSE2 algorithm for uint64->f64 conversion.
...
The same one Apple gcc uses, faster. Also gets the
extreme case in gcc.c-torture/execute/ieee/rbug.c
correct which we weren't before; this is not
sufficient to get the test to pass though, there
is another bug.
llvm-svn: 57926
2008-10-21 20:50:01 +00:00
Dan Gohman
b6f073ce21
Fix SelectionDAGBuild lowering of Select instructions to
...
handle first-class aggregate values. Also, fix a bug in
the Ret handling for empty aggregates.
llvm-svn: 57925
2008-10-21 20:00:42 +00:00
Daniel Dunbar
aa7a7ae8d5
Clear raw_fd_ostream error string on success and explain behavior in
...
documentation.
Add C++ header marker.
llvm-svn: 57923
2008-10-21 19:53:10 +00:00
Dan Gohman
35284a54ca
Updated email address.
...
llvm-svn: 57920
2008-10-21 19:50:00 +00:00
Dan Gohman
34306e122d
Implement the optimized FCMP_OEQ/FCMP_UNE code for x86 fast-isel.
...
llvm-svn: 57915
2008-10-21 18:24:51 +00:00
Torok Edwin
19a669f11a
Fix make check on Solaris 10/x86: the default grep is not GNU grep, same for as.
...
llvm-svn: 57912
2008-10-21 17:21:32 +00:00
Jim Grosbach
24a4744d53
use pre-UAL mnemonics for push/pop for compilaton callback function
...
llvm-svn: 57911
2008-10-21 16:54:12 +00:00
Nuno Lopes
112ac04abd
fix a tricky bug in the JIT global variable emitter, that was triggered when JITing a variable independently of a function. This lead to sharing memory memory between functions and GVs thus changing the value of a GV could change the code in execution. more details on the ML.
...
llvm-svn: 57900
2008-10-21 11:42:16 +00:00
Ted Kremenek
270f3e22d5
constify some methods and variables in ImmutableList.
...
llvm-svn: 57894
2008-10-21 05:59:33 +00:00
Chris Lattner
3ebc702926
really fix run line
...
llvm-svn: 57889
2008-10-21 03:55:19 +00:00
Chris Lattner
bd27c9091a
fix run line
...
llvm-svn: 57888
2008-10-21 03:54:49 +00:00
Chris Lattner
7ef8907342
remove some unneeded eh generation
...
llvm-svn: 57887
2008-10-21 03:49:19 +00:00