Reid Spencer
e13f84b186
Adjust documentation of GetBytecodeLibraryPaths after removing LLVMGCCDIR
...
support from it.
llvm-svn: 18972
2004-12-15 22:49:18 +00:00
Reid Spencer
0fb34f9c12
Remove LLVMGCCDIR.
...
llvm-svn: 18971
2004-12-15 22:28:35 +00:00
Reid Spencer
0f6abe6b90
Remove LLVMGCCDIR from the set of defines.
...
llvm-svn: 18970
2004-12-15 22:27:51 +00:00
Reid Spencer
35d15bdf52
Remove the CFE's lib directory from the bytecode path because LLVM should
...
be agnostic to the needs of any specific FE.
llvm-svn: 18969
2004-12-15 22:22:51 +00:00
Reid Spencer
879f11df3d
Remove automatic insertion of CFE's lib directory into the bytecode path
...
because LLVM should be agnostic to the needs of specific front ends.
llvm-svn: 18968
2004-12-15 22:21:42 +00:00
Reid Spencer
8240a916db
Unbreak all archive reading operations introduced by the last patch which
...
always exited the program with exit code 1 in these cases, regardless of
whether an error occurred or not.
llvm-svn: 18966
2004-12-15 21:58:03 +00:00
Chris Lattner
e340065558
Add a verifier assertion
...
llvm-svn: 18965
2004-12-15 20:23:49 +00:00
Chris Lattner
aefd5fa18a
Eliminate a virtual method call
...
llvm-svn: 18964
2004-12-15 18:14:04 +00:00
Chris Lattner
c0bd4b19b8
Make archive rules properly depend on llvm-ar.
...
llvm-svn: 18963
2004-12-15 17:14:06 +00:00
Chris Lattner
869d6a40a9
Fix a bug in -no-aa that caused two DSGraph tests to XPASS.
...
llvm-svn: 18962
2004-12-15 17:13:24 +00:00
Reid Spencer
98ce23ffb0
Fix a file overwrite bug in llvm-ar introduced by changes to
...
createTemporaryFile semantics where it doesn't create a fully unique name
if the basename doesn't exist. This functionality is now optionally
provided by the boolean reuse_current parameter to createTemporaryFile and
makeUnique. The default values differ because of the way these functions
are used in LLVM.
llvm-svn: 18961
2004-12-15 08:32:45 +00:00
Chris Lattner
5b489416c9
Disable libprofile as llvm-ar bus errors on it, and I don't want to break
...
the nightly testers.
llvm-svn: 18960
2004-12-15 08:15:48 +00:00
Chris Lattner
160a8a9725
Do not fail an assertion on a broken archive
...
llvm-svn: 18959
2004-12-15 07:44:15 +00:00
Chris Lattner
b17f3e13ec
Adjust to new interfaces
...
llvm-svn: 18958
2004-12-15 07:22:25 +00:00
Chris Lattner
71d04bce55
Adjust to new alias analysis interfaces
...
llvm-svn: 18957
2004-12-15 07:22:13 +00:00
Chris Lattner
fac211f5c4
Make the AliasAnalysis interface more precise for common cases.
...
llvm-svn: 18956
2004-12-15 07:21:39 +00:00
Chris Lattner
e09dbe2732
Move virtual method call out of loop
...
llvm-svn: 18955
2004-12-15 07:04:32 +00:00
Jeff Cohen
92e02d40cb
Make Win32 TimeValue::toString() re-entrant and work with mingw
...
llvm-svn: 18954
2004-12-15 04:28:44 +00:00
Jeff Cohen
e408341854
Fix VC++ compilation errors
...
llvm-svn: 18953
2004-12-15 04:08:15 +00:00
Reid Spencer
527ac0a1c7
Don't put newlines in AC macros that can't handle them!
...
llvm-svn: 18952
2004-12-15 04:01:48 +00:00
Reid Spencer
86960adfa3
Change LLVMGCCDIR/bytecode-libs -> LLVMGCCDIR/lib
...
llvm-svn: 18951
2004-12-15 01:54:37 +00:00
Reid Spencer
d8c5b71bd4
For PR351:
...
Remove #inclusion of Support/FileUtilities.h which isn't needed any more.
llvm-svn: 18950
2004-12-15 01:53:50 +00:00
Reid Spencer
30067f1eac
For PR351:
...
* Convert use of getUniqueFilename to sys::Path::makeUnique();
llvm-svn: 18949
2004-12-15 01:53:08 +00:00
Reid Spencer
9329172767
For PR351:
...
* Remove #inclusion of FileUtilities.h, not needed any more.
* Convert getUniqueFilename -> sys::Pat::makeUnique()
llvm-svn: 18948
2004-12-15 01:51:56 +00:00
Reid Spencer
f66d93239e
For PR351:
...
* Fix implementation and documentation about LLVMGCCDIR/bytecode-libs
* Add the makeUnique method, replacement for getUniqueFilename in Support.
* Add the sys::CopyFile function, replacement for CopyFile in Support.
* Move GetLLVMConfigDir() into generic code area since its generic.
llvm-svn: 18947
2004-12-15 01:50:13 +00:00
Reid Spencer
320a20ac45
For PR351:
...
Remove getUniqueFilename and CopyFile. These are now implemented by
sys::Path::makeUnique and sys::CopyFile, respectively.
llvm-svn: 18946
2004-12-15 01:46:54 +00:00
Reid Spencer
1b916e1ced
Add some system specific functions we use
...
llvm-svn: 18945
2004-12-15 01:41:56 +00:00
Reid Spencer
360d6b71a3
Remove most references to LLVM_LIB_SEARCH_PATH. It now only exists in the
...
GettingStarted.html document in the environment section and only as an
optional feature.
llvm-svn: 18944
2004-12-15 00:14:01 +00:00
Reid Spencer
05d4d6026c
Fix the default install directory of modules from / to $(libdir) !
...
Many thanks to Vladimir Merzliakov for pointing this out!
llvm-svn: 18942
2004-12-14 22:44:05 +00:00
Chris Lattner
2617b5033b
Use user time, not wall time, for optimizer time.
...
llvm-svn: 18941
2004-12-14 22:42:59 +00:00
Reid Spencer
79e49cffb5
Correct documentation to reflect the change in location of the CFE runtime
...
libraries. They are now in $CFEINSTALL/lib not $CFEINSTALL/bytecode-lib.
llvm-svn: 18939
2004-12-14 22:07:29 +00:00
Chris Lattner
9ad0d55025
Constant exprs are not efficiently negatable in practice. This disables
...
turning X - (constantexpr) into X + (-constantexpr) among other things.
llvm-svn: 18935
2004-12-14 20:08:06 +00:00
Reid Spencer
c936ad1208
Add the getMagicNumber method.
...
Patch contributed by Henrik Bach. Thanks Henrik!
llvm-svn: 18933
2004-12-14 18:42:13 +00:00
Brian Gaeke
4bc39bef79
The mystery of Olden/tsp solved, and more opportunities for speedup.
...
llvm-svn: 18932
2004-12-14 09:10:10 +00:00
Brian Gaeke
36c14da84f
Get rid of shifts by zero in most cases.
...
llvm-svn: 18931
2004-12-14 08:21:02 +00:00
Jeff Cohen
2b60d39499
Implement Win32 Path::getStatusInfo(), TimeValue::toString()
...
llvm-svn: 18930
2004-12-14 05:26:43 +00:00
Reid Spencer
eedafda7bb
For PR351:
...
* Change ExecWait calls to sys::Program::ExecuteAndWait
* Convert to use sys::Path where it makes sense
llvm-svn: 18929
2004-12-14 04:20:08 +00:00
Reid Spencer
cdefe0aebc
For PR351:
...
Implement the new environment pointer for ExecuteAndWait
llvm-svn: 18928
2004-12-14 04:18:51 +00:00
Reid Spencer
c2e22fea42
For PR351:
...
* Remove the ExecWait function. This is now in sys::Program::ExecuteAndWait
llvm-svn: 18927
2004-12-14 04:18:15 +00:00
Reid Spencer
a84c82f3bb
For PR351:
...
* Fix commentary, wrap lines, etc.
* Add an environment pointer to the ExecuteAndWait function.
llvm-svn: 18926
2004-12-14 04:17:12 +00:00
Reid Spencer
87ad666bb3
Revert the last patch as it causes a static destruction ordering problem.
...
llvm-svn: 18925
2004-12-14 03:55:21 +00:00
Reid Spencer
79dc8b79bb
For PR351:
...
Adjust to interface change for FindExecutable.
llvm-svn: 18920
2004-12-13 23:44:23 +00:00
Reid Spencer
d89ff0a5e1
For PR351:
...
Adjust to changes in the interface of FindExecutable, getting ToolRunner
ready for bigger things to come.
llvm-svn: 18919
2004-12-13 23:43:44 +00:00
Reid Spencer
dc49d865a1
For PR351:
...
* Remove isExecutable as its now implemented by sys::Path::executable
* Make FindExecutable a thin veneer over sys::Program::FindProgramByName.
llvm-svn: 18918
2004-12-13 23:41:37 +00:00
Reid Spencer
febc20eda1
For PR351:
...
* isExecutable -> sys::Path::executable()
* Adjust interface of FindExecutable to return a sys::Path
llvm-svn: 18917
2004-12-13 23:40:08 +00:00
Reid Spencer
b7c56070ca
For PR351:
...
llee was a nice hack, but it wasn't portable so its gone, with Misha's
approval. Operating systems have facilities available for making bytecode
directly executable without this utility.
llvm-svn: 18916
2004-12-13 23:15:32 +00:00
Chris Lattner
b3b1c279a2
When generating code for X86 targets, make sure the fp control word is set
...
to 64-bit precision, not 80 bits.
llvm-svn: 18915
2004-12-13 21:52:52 +00:00
Misha Brukman
318a44d867
Minor cleanups
...
llvm-svn: 18914
2004-12-13 21:42:16 +00:00
Brian Gaeke
f9639d2a74
Fix link error in PPC optimized build of 'opt'.
...
llvm-svn: 18913
2004-12-13 21:28:39 +00:00
Reid Spencer
e42f222d36
For PR351:
...
Remove AllocateRWXMemory as it is not used any more in LLVM. The function
has been replaced with sys::Memory::AllocateRWX several months ago.
llvm-svn: 18912
2004-12-13 20:14:30 +00:00
Chris Lattner
951e94e867
Add some notes
...
llvm-svn: 18911
2004-12-13 20:13:10 +00:00
Reid Spencer
6b8632850b
For PR351:
...
Remove the MakeFileReadable and MakeFileExecutable functions which are no
longer present in LLVM. They have been replaced with the sys::Path methods
makeReadable and makeExecutable, respectively.
llvm-svn: 18910
2004-12-13 20:08:14 +00:00
Reid Spencer
249eb144d9
For PR351:
...
Replace MakeFileReadable and MakeFileExecutable (from FileUtilities) with
sys::Path::makeReadable and sys::Path:makeExecutable, respectively.
llvm-svn: 18909
2004-12-13 20:03:02 +00:00
Chris Lattner
8f430a3b59
Get rid of getSizeOf, using ConstantExpr::getSizeOf instead.
...
do not insert a prototype for malloc of: void* malloc(uint): on 64-bit u
targets this is not correct. Instead of prototype it as void *malloc(...),
and pass the correct intptr_t through the "...".
Finally, fix Regression/CodeGen/SparcV9/2004-12-13-MallocCrash.ll, by not
forming constantexpr casts from pointer to uint.
llvm-svn: 18908
2004-12-13 20:00:02 +00:00
Reid Spencer
94bf2265df
For PR351:
...
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.
llvm-svn: 18907
2004-12-13 19:59:50 +00:00
Chris Lattner
acc4e54552
Change this method to return ulong, not uint, for 64-bit targets.
...
llvm-svn: 18906
2004-12-13 19:48:51 +00:00
Chris Lattner
5417117a8f
New testcase that crashes the V9 backend.
...
llvm-svn: 18905
2004-12-13 19:10:32 +00:00
Reid Spencer
e05ab4a1ec
Genericize implementation of GetDLLSuffix now that we have LTDL_SHLIB_EXT
...
available.
llvm-svn: 18904
2004-12-13 18:41:28 +00:00
Reid Spencer
73fc525557
For PR351:
...
The ReadFileIntoAddressSpace and UnmapFileFromAddressSpace functions are no
longer used by LLVM. Remove them. Replacement functionality for both
functions is now encapsulated in the sys::MappedFile class.
llvm-svn: 18903
2004-12-13 18:28:59 +00:00
Reid Spencer
cd89ca3040
For PR351:
...
Use sys::MappedFile instead of ReadFileIntoAddressSpace and
UnmapFileFromAddressSpace. sys::MappedFile has the nice property that it
cleans up after itself so exception handling can be removed.
llvm-svn: 18902
2004-12-13 18:25:27 +00:00
Alkis Evlogimenos
7c7705d108
Fix typo.
...
llvm-svn: 18901
2004-12-13 18:08:29 +00:00
Chris Lattner
2f65416429
Fix this test
...
llvm-svn: 18900
2004-12-13 17:53:11 +00:00
Alkis Evlogimenos
a20de02919
Add llvm tool variables.
...
llvm-svn: 18897
2004-12-13 17:44:14 +00:00
Reid Spencer
1a14e28ade
For PR351:
...
* Change use of ReadFileIntoAddressSpace to sys::MappedFile use.
* Shorten a line > 80 chars.
llvm-svn: 18896
2004-12-13 17:41:13 +00:00
Chris Lattner
c97cac3d32
Set the rounding mode for the X86 FPU to 64-bits instead of 80-bits. We
...
don't support long double anyway, and this gives us FP results closer to
other targets.
This also speeds up 179.art from 41.4s to 18.32s, by eliminating a problem
with extra precision that causes an FP == comparison to fail (leading to
extra loop iterations).
llvm-svn: 18895
2004-12-13 17:23:11 +00:00
Reid Spencer
0afe178f21
Make the loop termination condition clear when building the set of items to
...
pass to the Linker::LinkInItems function.
llvm-svn: 18894
2004-12-13 17:18:19 +00:00
Reid Spencer
f51f490b7b
For PR351: libLLVMSupport now depends on libLLVMSystem
...
llvm-svn: 18893
2004-12-13 17:02:08 +00:00
Reid Spencer
aa95684acd
For PR351: \
...
The getFileTimestamp and getFileSize functions have been removed from \
FileUtilities.{h,cpp}. They are replaced by Path::getTimestamp and \
Path::getSize,respectively.
llvm-svn: 18892
2004-12-13 17:01:53 +00:00
Reid Spencer
0b4a4bf96a
Added a size_type typedef to LLVM containers to make Visual Studio shut up
...
(and possibly to make LLVM more x86 64bit friendly).
llvm-svn: 18891
2004-12-13 16:28:53 +00:00
Reid Spencer
eb21d18b36
Add a convenience function for clearing the two global areas.
...
Patch contributed by Morten Ofsted.
llvm-svn: 18890
2004-12-13 16:22:32 +00:00
Reid Spencer
53bd3d0b1a
Get rid of some leaks found by VC leak detector.
...
Patch contributed by Morten Ofsted.
llvm-svn: 18889
2004-12-13 16:04:04 +00:00
Reid Spencer
a125162bb0
Minor syntactical change to make this a little easier to comprehend.
...
llvm-svn: 18888
2004-12-13 09:37:41 +00:00
Reid Spencer
ff17d0439d
Make use of the new Path inserter function.
...
llvm-svn: 18887
2004-12-13 08:53:36 +00:00
Reid Spencer
790100674a
Fix a bug where "." or any single character file name doesn't get the
...
terminating / when setDirectory is called.
llvm-svn: 18886
2004-12-13 07:51:52 +00:00
Reid Spencer
a85abc23d5
Remove an always false clause from an if statement.
...
llvm-svn: 18885
2004-12-13 07:51:07 +00:00
Alkis Evlogimenos
5b1a05fb7c
Fix a bug where directory names of length one or less where not set
...
properly (examples: "", ".", "a").
llvm-svn: 18883
2004-12-13 07:41:35 +00:00
Reid Spencer
c6de5b56a3
Use the new BYTECODE_DESTINATION to override the default bytecode install
...
destination for this library so that it goes to $(cferuntime_libdir) rather
than just $(libdir). Normal bytecode libraries should be installed in the
$(libdir), but these ones are "special" because they're part of the the
C/C++ front end.
llvm-svn: 18882
2004-12-13 07:40:50 +00:00
Reid Spencer
5ae8c5e5d6
More properly name bytecode_libdir cferuntime_libdir. This is only the
...
libdir for the CFE runtime libraries, not "all bytecode".
llvm-svn: 18881
2004-12-13 07:38:55 +00:00
Reid Spencer
efe3a82813
Finish the implementation of the BYTECODE_DESTINATION feature for modules
...
too and getting rid of the last remnants of bytecode_libdir.
llvm-svn: 18880
2004-12-13 07:38:07 +00:00
Reid Spencer
65086be55f
Implement a new feature, BYTECODE_DESTINATION, to allow a user makefile to
...
specify where the bytecode library is to be installed. This allows the
default location ($prefix/lib) to be overridden, for special case runtime
libraries like the cfe runtime libs.
llvm-svn: 18879
2004-12-13 07:28:21 +00:00
Reid Spencer
0230a5eead
* Add a std::ostream inserter for sys::Path
...
* Correct the std::string constructor to take a const reference.
llvm-svn: 18877
2004-12-13 06:57:15 +00:00
Jeff Cohen
ccd99b9b61
Fix recent breakage of win32 build
...
llvm-svn: 18876
2004-12-13 06:26:35 +00:00
Reid Spencer
85d55ad803
Make sure the archive doesn't have to exist before we remove it.
...
llvm-svn: 18873
2004-12-13 03:59:35 +00:00
Reid Spencer
72bf78d9f5
Always remove bytecode archives so that path mismatches don't cause the
...
contents to not be updated.
llvm-svn: 18872
2004-12-13 03:56:42 +00:00
Reid Spencer
92e97620be
* Fix header block.
...
* Fix loop style per standards
* Don't create a new Module when the Linker's module is released.
* Add/fix function comments.
llvm-svn: 18871
2004-12-13 03:50:50 +00:00
Reid Spencer
bf63444a41
Add missing space in a comment.
...
llvm-svn: 18870
2004-12-13 03:23:13 +00:00
Reid Spencer
ac9fe82875
Make sure the Archive gets deleted if there's an error.
...
llvm-svn: 18869
2004-12-13 03:22:31 +00:00
Reid Spencer
22b7eac855
Remove commented out functions that have been replaced with lib/System
...
functionality.
llvm-svn: 18868
2004-12-13 03:15:47 +00:00
Reid Spencer
0005214558
Fix header and function comments.
...
llvm-svn: 18867
2004-12-13 03:13:18 +00:00
Reid Spencer
0a0d582719
Implement new functions per new interface
...
llvm-svn: 18866
2004-12-13 03:03:42 +00:00
Reid Spencer
17e7444a61
PR351: \
...
Use sys::Path not FileUtilities to check file types
llvm-svn: 18865
2004-12-13 03:01:26 +00:00
Reid Spencer
8d206908d8
Convert to use new Linker class interface
...
llvm-svn: 18864
2004-12-13 03:01:14 +00:00
Reid Spencer
0ebb926c0a
LinkModules is now in the Linker class
...
llvm-svn: 18863
2004-12-13 03:01:03 +00:00
Reid Spencer
9b155dc4c0
For PR351: \
...
* Remove IsLibrary and GetLibraryPath, replaced by FindLibrary in ../Path.cpp \
* Implement GetSystemLibraryPaths and GetBytecodeLibraryPaths, instead of the \
GetSystemLibraryPath1 and GetSystemLibraryPath2 methods
llvm-svn: 18862
2004-12-13 03:00:51 +00:00
Reid Spencer
66b8182866
For PR351: \
...
* Move generic isArchive method here from Unix/Path.cpp \
* Implement isDynamicLibrary \
* Implement FindLibrary for Linker
llvm-svn: 18861
2004-12-13 03:00:39 +00:00
Reid Spencer
4a23d3f8e5
This file contains basic Linker facilities needed by all tools
...
llvm-svn: 18860
2004-12-13 03:00:28 +00:00
Reid Spencer
c4e3153455
Make LinkModules a static member function
...
llvm-svn: 18859
2004-12-13 03:00:16 +00:00
Reid Spencer
9a5613962f
This file contains only the Linker's library linking support
...
llvm-svn: 18858
2004-12-13 03:00:04 +00:00
Reid Spencer
ebd3d9f8fc
For PR351: \
...
* Remove redundant static function LinkOneLibrary. \
* Remove unneded #includes \
* Convert FileSupport usage to sys::Path instead
llvm-svn: 18857
2004-12-13 02:59:52 +00:00
Reid Spencer
9ce11c3929
This file contains only the Linker's file linking support
...
llvm-svn: 18856
2004-12-13 02:59:41 +00:00
Reid Spencer
fe73bfcfdb
For PR351: \
...
* Convert functions to Linker:: methods. \
* Remove unneeded #includes \
* Utilize sys::Path utilities not FileSupport utilities \
* Move File & Library linking functions to other source files
llvm-svn: 18855
2004-12-13 02:59:29 +00:00
Reid Spencer
3aa1f3ca4f
For PR351: \
...
* Get file information from a MappedFile instance \
* Convert file type tests to sys::Path form
llvm-svn: 18854
2004-12-13 02:59:15 +00:00
Reid Spencer
a204547e32
Implement error handling in OpenAndLoad* functions so the Linker can handle it.
...
llvm-svn: 18853
2004-12-13 02:59:03 +00:00
Reid Spencer
35f16dd40b
Make the size() method const
...
llvm-svn: 18852
2004-12-13 02:58:51 +00:00
Reid Spencer
15681d988e
For PR351:\
...
* Modify file reading to use sys::MappedFile \
* Use sys::Path instead of std::string
llvm-svn: 18851
2004-12-13 02:58:40 +00:00
Reid Spencer
75bf03389f
Add LLVMGCCDIR for path lookup
...
llvm-svn: 18850
2004-12-13 02:58:28 +00:00
Reid Spencer
1caba396c4
Make the OpenAndLoad functions have an ErrorMessage argument.
...
llvm-svn: 18849
2004-12-13 02:58:16 +00:00
Reid Spencer
2ba6854903
Completely rewrite the interface to be class based
...
llvm-svn: 18848
2004-12-13 02:58:05 +00:00
Reid Spencer
35105469c5
For PR351:\
...
* Consolidate path retrieval into just two methods. \
* Add FindLibrary as a convenience function. \
* Add isDynamicLibrary for testing for dynamic libs. \
* Make toString constant and reference clean.
llvm-svn: 18847
2004-12-13 02:57:53 +00:00
Reid Spencer
21d9ef9e82
For PR351:Remove the file type checking methods (now in sys::Path)
...
llvm-svn: 18846
2004-12-13 02:57:41 +00:00
Reid Spencer
ec8bc9157d
Get LLVMGCCDIR into the #defines
...
llvm-svn: 18845
2004-12-13 02:16:51 +00:00
Brian Gaeke
cf2c1866cb
Add V8 SPEC status.
...
llvm-svn: 18844
2004-12-13 00:27:35 +00:00
Chris Lattner
a199e3c1e2
Change indentation of a whole bunch of code, no real changes here.
...
llvm-svn: 18843
2004-12-12 23:49:37 +00:00
Chris Lattner
14d07db44d
More substantial simplifications and speedups. This makes ADCE about 20% faster
...
in some cases.
llvm-svn: 18842
2004-12-12 23:40:17 +00:00
Chris Lattner
9115eb3024
More minor microoptimizations
...
llvm-svn: 18841
2004-12-12 22:44:30 +00:00
Chris Lattner
d4298781c1
Remove some more set operations
...
llvm-svn: 18840
2004-12-12 22:22:18 +00:00
Chris Lattner
a538439bf0
Reduce number of set operations.
...
llvm-svn: 18839
2004-12-12 22:16:13 +00:00
Chris Lattner
bf5b7cf638
Optimize div/rem + select combinations more.
...
In particular, implement div.ll:test10 and rem.ll:test4.
llvm-svn: 18838
2004-12-12 21:48:58 +00:00
Chris Lattner
9803a0a575
Add testcases for simple things we can handle that occur now in vortex.
...
llvm-svn: 18837
2004-12-12 21:40:22 +00:00
Chris Lattner
360cda5ffd
Dejagnu doesn't work if you do TESTSUITE=.../
...
You can't pass the trailing / into Dejagnu, so make the makefile strip it off
llvm-svn: 18836
2004-12-12 21:39:49 +00:00
Chris Lattner
cbd47631ea
Fix Regression/CodeGen/PowerPC/2004-12-12-ZeroSizeCommon.ll, and all programs
...
when compiled with debug information.
llvm-svn: 18835
2004-12-12 20:36:19 +00:00
Chris Lattner
a0dffecfbc
New testcase that the PPC backend miscompiles. It is emitting
...
.comm _X,0
For X, which makes the linker thing that X is never defined.
llvm-svn: 18834
2004-12-12 20:34:06 +00:00
Chris Lattner
10b637eade
CSE calls to getTypeSize.
...
llvm-svn: 18833
2004-12-12 20:31:00 +00:00
Chris Lattner
745196a5fc
Properly implement copying of a global, fixing the 255.vortex & povray
...
failures from last night.
llvm-svn: 18832
2004-12-12 19:34:41 +00:00
Chris Lattner
88deefa303
Simplify code and do not invalidate iterators.
...
This fixes a crash compiling TimberWolfMC that was exposed due to recent
optimizer changes.
llvm-svn: 18831
2004-12-12 18:23:20 +00:00
Chris Lattner
17550c456c
Use the target triple to pick this target.
...
llvm-svn: 18830
2004-12-12 17:40:28 +00:00
Chris Lattner
1adea147ba
Get rid of subbullets for all of the "known problems" section. None of the
...
other sections have subbullets, and it make the TOC look like the whole
document is known problems!
llvm-svn: 18829
2004-12-12 17:20:23 +00:00
Brian Gaeke
23b2bc54b0
Complete the list of MultiSource failures.
...
llvm-svn: 18826
2004-12-12 08:22:11 +00:00
Chris Lattner
b92fd6006c
Do not internalize a module if -link-as-library is passed.
...
llvm-svn: 18825
2004-12-12 07:53:51 +00:00
Brian Gaeke
ed9346820d
hbd should be working now.
...
llvm-svn: 18824
2004-12-12 07:42:59 +00:00
Brian Gaeke
27358a44d1
Finally enable the setcc-branch folding code.
...
Also, fix a bug where ubyte 255 would sometimes be output as -1. This
was afflicting hbd.
llvm-svn: 18823
2004-12-12 07:42:58 +00:00
Brian Gaeke
e5351ad5f0
Add (currently disabled) code for canFoldSetCC
...
llvm-svn: 18820
2004-12-12 06:22:30 +00:00
Chris Lattner
1cbd5be7a1
Though the previous xform applies to literally dozens (hundreds?) of variables
...
in SPEC, the subsequent optimziations that we are after don't play with
with FP values, so disable this xform for them. Really we just don't want
stuff like:
double G; (always 0 or 412312.312)
= G;
turning into:
bool G_b;
= G_b ? 412312.312 : 0;
We'd rather just do the load.
-Chris
llvm-svn: 18819
2004-12-12 06:03:06 +00:00
Brian Gaeke
aa40b7d080
Add stubs for setcc-branch folding support.
...
llvm-svn: 18818
2004-12-12 06:01:26 +00:00
Chris Lattner
40e4cec9ee
If a variable can only hold two values, and is not already a bool, shrink it
...
down to actually BE a bool. This allows simple value range propagation
stuff work harder, deleting comparisons in bzip2 in some hot loops.
This implements GlobalOpt/integer-bool.ll, which is the essence of the
loop condition distilled into a testcase.
llvm-svn: 18817
2004-12-12 05:53:50 +00:00
Chris Lattner
17fbc80f31
New testcase. Shrinking the variable to a bool allows instcombine to delete
...
the condition.
llvm-svn: 18816
2004-12-12 05:52:12 +00:00
Chris Lattner
cbc0161d1f
If one side of and/or is known to be 0/-1, it doesn't matter
...
if the other side is overdefined.
This allows us to fold conditions like: if (X < Y || Y > Z) in some cases.
llvm-svn: 18807
2004-12-11 23:15:19 +00:00
Chris Lattner
2c14b32e2b
New testcase. If one side of and/or is known to be 0/-1, it doesn't matter
...
if the other side is overdefined.
llvm-svn: 18806
2004-12-11 23:14:40 +00:00
Brian Gaeke
25ac83565e
Print llvm code one function at a time.
...
llvm-svn: 18805
2004-12-11 22:17:07 +00:00
Chris Lattner
8d0b1b2a82
Check in the file I forgot last night, to solve all of the crashes in every
...
test in the suite. :(
llvm-svn: 18804
2004-12-11 22:10:29 +00:00
Brian Gaeke
72daaa46eb
JIT should print LLVM each function before selecting instructions for it.
...
llvm-svn: 18803
2004-12-11 18:41:09 +00:00
Reid Spencer
5625dec232
Rename Path::get -> Path::toString
...
llvm-svn: 18802
2004-12-11 17:37:01 +00:00
Chris Lattner
cc6037f8e6
Update test
...
llvm-svn: 18801
2004-12-11 17:13:19 +00:00
Chris Lattner
263b0a1669
Only cound if we actually made a change.
...
llvm-svn: 18800
2004-12-11 17:00:14 +00:00
Chris Lattner
ffefea0772
The split bb is really the exit of the old function
...
llvm-svn: 18799
2004-12-11 16:59:54 +00:00
Reid Spencer
8f72ce0fd2
A little cleanup on this file.
...
llvm-svn: 18798
2004-12-11 07:16:54 +00:00
Chris Lattner
7bf2e54dc2
New feature
...
llvm-svn: 18797
2004-12-11 06:10:52 +00:00
Chris Lattner
2f687fd9d6
Two bug fixes:
...
1. Actually increment the Statistic for the GV elim optzn
2. When resolving undef branches, only resolve branches in executable blocks,
avoiding marking a bunch of completely dead blocks live. This has a big
impact on the quality of the generated code.
With this patch, we positively rip up vortex, compiling Ut_MoveBytes to a
single memcpy call. In vortex we get this:
12 ipsccp - Number of globals found to be constant
986 ipsccp - Number of arguments constant propagated
1378 ipsccp - Number of basic blocks unreachable
8919 ipsccp - Number of instructions removed
llvm-svn: 18796
2004-12-11 06:05:53 +00:00
Chris Lattner
8525ebe465
Do not delete the entry block to a function.
...
llvm-svn: 18795
2004-12-11 05:32:19 +00:00
Brian Gaeke
b3095dd88f
Bools are *also* not ints. Sigh. Furthermore, most of the TargetMachine
...
ctor parameters can be defaulted.
Print the transformed llvm code input to the instruction selector
when -print-machineinstrs is on, just like V9.
llvm-svn: 18794
2004-12-11 05:19:04 +00:00
Brian Gaeke
ba5e9f107c
Look for many more moves to fold (previously, we only
...
*or g0, x add g0, x recognized * as a move)
or x, g0 add x, g0
or 0, x add 0, x
or x, 0 add x, 0
llvm-svn: 18793
2004-12-11 05:19:03 +00:00
Brian Gaeke
52a9ed63b5
Make GEPs not suck so much:
...
* Don't emit the Index * ElementSize multiply if Index is a constant.
* Use a shift, not a multiply, if ElementSize is 1/2/4/8.
* If ElementSize fits in the immediate field of SMUL, then put it there.
Fix a bug where struct offsets might be truncated (ConstantSInt::get is
now used instead of ConstantInt::get).
llvm-svn: 18792
2004-12-11 05:19:02 +00:00
Brian Gaeke
cba3135ba8
Update lists of failing benchmarks, including info on which
...
ones are failing in cbe.
llvm-svn: 18791
2004-12-11 05:19:01 +00:00
Chris Lattner
91dbae6fee
Implement Transforms/SCCP/ipsccp-gvar.ll, by tracking values stored to
...
non-address-taken global variables.
llvm-svn: 18790
2004-12-11 05:15:59 +00:00
Chris Lattner
01bd4624c4
New testcase that ipsccp should handle.
...
llvm-svn: 18789
2004-12-11 05:14:55 +00:00
Reid Spencer
a179968c4e
Fix some minor spellos and grammaros.
...
llvm-svn: 18788
2004-12-11 05:12:57 +00:00
Reid Spencer
d58e09a275
Revert the last patch. We really do need SimplyCFG.
...
llvm-svn: 18787
2004-12-11 03:03:54 +00:00
Chris Lattner
99e1295645
Fix a bug where we could delete dead invoke instructions with uses.
...
In functions where we fully constant prop the return value, replace all
ret instructions with 'ret undef'.
llvm-svn: 18786
2004-12-11 02:53:57 +00:00
Reid Spencer
5ccfd5a48b
Path::get -> Path::toString
...
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Reid Spencer
eef4420578
Remove this pass as its no longer needed.
...
llvm-svn: 18783
2004-12-10 22:55:35 +00:00
Chris Lattner
dea2bde08f
This pass is no longer needed.
...
llvm-svn: 18782
2004-12-10 22:30:32 +00:00
Chris Lattner
bae4b64553
Implement SCCP/ipsccp-conditional.ll, by totally deleting dead blocks.
...
llvm-svn: 18781
2004-12-10 22:29:08 +00:00
Chris Lattner
f92cc45975
New testcase
...
llvm-svn: 18780
2004-12-10 22:28:49 +00:00
Reid Spencer
2da81ceb3d
Get rid of warning from flex.
...
llvm-svn: 18779
2004-12-10 21:59:47 +00:00
Chris Lattner
7285f43836
Fix SCCP/2004-12-10-UndefBranchBug.ll
...
llvm-svn: 18776
2004-12-10 20:41:50 +00:00
Chris Lattner
45c6251140
Add missing accessor.
...
llvm-svn: 18775
2004-12-10 20:35:47 +00:00
Chris Lattner
b7f5916e01
Make sure to link the target-triple as well, so it ends up in the .llvm.bc file
...
llvm-svn: 18774
2004-12-10 20:26:15 +00:00
Chris Lattner
9e8141fb3e
New testcase that SCCP miscompiles. Luckily this is extremely unlikely to
...
happen in practice, but IP-SCCP can trigger it.
llvm-svn: 18773
2004-12-10 20:10:23 +00:00
Reid Spencer
993b95e796
Fix output for Flexing to not print full path of source.
...
llvm-svn: 18769
2004-12-10 19:44:16 +00:00
Chris Lattner
f13b7ee8aa
Check in the right test
...
llvm-svn: 18767
2004-12-10 17:43:43 +00:00
Chris Lattner
4fc998da2e
Fix Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll,
...
and the failure on make_dparser last night.
llvm-svn: 18766
2004-12-10 17:42:31 +00:00
Chris Lattner
88bd77c73d
New testcase for a bug exposed by the ipsccp pass, causing dparser to fail
...
last night.
llvm-svn: 18765
2004-12-10 17:41:43 +00:00
Chris Lattner
7c0241ce9b
Fix typo
...
llvm-svn: 18764
2004-12-10 16:27:34 +00:00
John Criswell
dfe6a86b0b
Merged in RELEASE_14 changes.
...
llvm-svn: 18763
2004-12-10 15:51:16 +00:00
Brian Gaeke
2e2f3e26ba
Move -lowerselect later in the chain; some select instructions were
...
slipping through into the instruction selector, which can't deal with
them yet.
llvm-svn: 18758
2004-12-10 08:39:30 +00:00
Brian Gaeke
2ccff7c256
Add the rest of the multiply instructions.
...
llvm-svn: 18757
2004-12-10 08:39:29 +00:00
Brian Gaeke
4bfd3f7c98
Support binary operations with immediates for <= cInt.
...
llvm-svn: 18756
2004-12-10 08:39:28 +00:00
Brian Gaeke
428037be05
Update lists of failing benchmarks (except C++...something is the
...
matter with my sparcv8 libstdc++.a) and to-do list.
llvm-svn: 18755
2004-12-10 08:39:27 +00:00
Chris Lattner
4a03a2d433
Turn on ipsccp by default instead of simple IPCP
...
llvm-svn: 18753
2004-12-10 08:03:43 +00:00
Chris Lattner
b439464c61
This is the initial implementation of IPSCCP, as requested by Brian.
...
This implements SCCP/ipsccp-basic.ll, rips apart Olden/mst (as described in
PR415), and does other nice things.
There is still more to come with this, but it's a start.
llvm-svn: 18752
2004-12-10 08:02:06 +00:00
Chris Lattner
3b33c7a3c6
New prototype
...
llvm-svn: 18751
2004-12-10 07:55:01 +00:00
Chris Lattner
c2965a6d0e
New testcase
...
llvm-svn: 18750
2004-12-10 07:54:51 +00:00
Brian Gaeke
81c7fd2fce
Emit correct prototype for __builtin_alloca on V8.
...
llvm-svn: 18745
2004-12-10 05:44:45 +00:00
Alkis Evlogimenos
991d6ad208
Fix writer to properly quote label names when they don't contain
...
simple characters.
llvm-svn: 18744
2004-12-10 05:41:10 +00:00
Alkis Evlogimenos
a93b4520a7
Do not allow empty label names.
...
llvm-svn: 18743
2004-12-10 05:40:19 +00:00
Alkis Evlogimenos
5b9754bd48
Update testcase
...
llvm-svn: 18742
2004-12-10 05:39:57 +00:00
Chris Lattner
fcec9d6dec
Implement test/Feature/escaped_label.ll
...
llvm-svn: 18741
2004-12-10 05:27:29 +00:00
Chris Lattner
dfabbb29f2
Simple testcase for quoted label.
...
llvm-svn: 18740
2004-12-10 05:27:14 +00:00
Brian Gaeke
af10b76b6c
Link V8 backend into llc.
...
llvm-svn: 18739
2004-12-10 05:04:13 +00:00
Brian Gaeke
836727ea84
Add SparcV8 target back into the build
...
llvm-svn: 18738
2004-12-10 04:54:21 +00:00
Brian Gaeke
1d0fe16906
Adjust paths: Sparc/V8 --> SparcV8
...
llvm-svn: 18737
2004-12-10 04:48:57 +00:00
Brian Gaeke
a14476c9bf
Make this file self-contained.
...
llvm-svn: 18736
2004-12-10 04:46:30 +00:00
Brian Gaeke
cb3b98586d
Update list of failing MultiSource benchmarks. It works out to +5 -5, but I
...
think some of these might be the CFE's fault; a rebuild should come soon.
llvm-svn: 18735
2004-12-10 04:42:46 +00:00
Brian Gaeke
5183f22a64
When FpMOVDs appeared in pairs, we were mistakenly skipping over the latter of
...
each pair. I think this fixes that.
One of these days, I swear I'm going to get the hang of C++ iterators.
Really.
llvm-svn: 18734
2004-12-10 04:42:45 +00:00
Misha Brukman
61cf9c8811
Missed moving bugpoint link over to CommandGuide/html/
...
llvm-svn: 18732
2004-12-09 23:28:09 +00:00
Misha Brukman
4f1f92e323
Generated HTML documentation is now back in CommandGuide/html/
...
llvm-svn: 18731
2004-12-09 23:25:59 +00:00
Chris Lattner
f3a7c24617
Rip out the guts of this document to prepare it for LLVM 1.5 progress
...
llvm-svn: 18726
2004-12-09 22:22:58 +00:00
Chris Lattner
0793bfc457
Clean up this man page
...
llvm-svn: 18724
2004-12-09 21:16:40 +00:00
Chris Lattner
6e8183063f
Add new pseudo target
...
llvm-svn: 18723
2004-12-09 21:06:32 +00:00
Misha Brukman
32f139a169
The textual description is gone from this manpage, only the options and a quick
...
summary remain. The manpage references Bugpoint.html as the repository for more
detailed info.
llvm-svn: 18722
2004-12-09 20:28:42 +00:00
Misha Brukman
cda6a9b9eb
* Straighten a comment to a single line
...
* Block off the section correctly with <!-- ***** -->
llvm-svn: 18721
2004-12-09 20:27:37 +00:00
Misha Brukman
f4315374aa
We now have a real Bugpoint doc, not just a huge man page.
...
llvm-svn: 18720
2004-12-09 20:26:53 +00:00
Misha Brukman
a078d57848
Convert from being a copy of the man page to a full-fledged document.
...
This doc keeps all the descriptive info from the man page, but not the options.
llvm-svn: 18719
2004-12-09 20:26:20 +00:00
Brian Gaeke
34f7c3d37a
We're continuing to make progress on MultiSource.
...
llvm-svn: 18714
2004-12-09 18:54:31 +00:00
Brian Gaeke
847c05deef
Bytes and shorts are aligned differently from words.
...
llvm-svn: 18713
2004-12-09 18:51:02 +00:00
Brian Gaeke
bac69b7df9
Fix asm-printing directives (how did we not see this before...apparently,
...
everything was an int!)
llvm-svn: 18712
2004-12-09 18:51:01 +00:00
Reid Spencer
641f5c9878
More grammaro's fixed.
...
llvm-svn: 18708
2004-12-09 18:13:12 +00:00
Reid Spencer
8f08d805d4
Clean up some grammaro's.
...
llvm-svn: 18705
2004-12-09 18:02:53 +00:00
Reid Spencer
098fce4727
Correct the version numbers for automake, Perl, and CVS.
...
llvm-svn: 18703
2004-12-09 17:55:37 +00:00
Chris Lattner
74d3f82b6e
Fully document the LLVM constants. This should go into LLVM 1.4
...
llvm-svn: 18701
2004-12-09 17:30:23 +00:00
Chris Lattner
d79749a110
Reflow and clean up some of the HTML in the initial section, split linkage
...
types into its own section.
llvm-svn: 18697
2004-12-09 16:36:40 +00:00
Chris Lattner
6af02f3961
Move the "High Level Structure" to before "Type System"
...
llvm-svn: 18695
2004-12-09 16:11:40 +00:00
Reid Spencer
09e39d17d1
More QMTest cruft gone!
...
llvm-svn: 18694
2004-12-09 07:43:06 +00:00
Chris Lattner
36d39cecb4
note to self: Do not check in debugging code!
...
llvm-svn: 18693
2004-12-09 07:15:52 +00:00
Chris Lattner
f17a2fb849
Implement trivial sinking for load instructions. This causes us to sink 567 loads in spec
...
llvm-svn: 18692
2004-12-09 07:14:34 +00:00
Chris Lattner
6225146f20
Remove a dead field, make the map go to integer type ID to hash better and
...
avoid a getType.
llvm-svn: 18691
2004-12-09 06:19:44 +00:00
Jeff Cohen
07a900f0b7
Fix residual Visual Studio build problems
...
llvm-svn: 18688
2004-12-09 05:51:11 +00:00
Test Commit
ecf3c41054
Test commit
...
llvm-svn: 18687
2004-12-09 05:46:48 +00:00
Chris Lattner
2cdf54c0f0
Remove #include inadvertently added
...
llvm-svn: 18686
2004-12-09 04:53:17 +00:00
Chris Lattner
e44907012a
Eliminate this ugly hack. This was put back in when replaceAllUsesOf used
...
a different algorithm that was extremely inefficient for instructions with
many operands.
This reduces the time of this code snippet from .23s for 176.gcc to 0.03s
in a debug build, which speeds up total llvm-dis time just barely.
It's more of a code cleanup than a speedup.
llvm-svn: 18685
2004-12-09 04:51:50 +00:00
Alkis Evlogimenos
346ee4c9fb
Add testcase and fix for yet another case where we query the size an
...
abstract type.
llvm-svn: 18678
2004-12-08 23:56:15 +00:00
Chris Lattner
39c98bb31c
Do extremely simple sinking of instructions when they are only used in a
...
successor block. This turns cases like this:
x = a op b
if (c) {
use x
}
into:
if (c) {
x = a op b
use x
}
This triggers 3965 times in spec, and is tested by
Regression/Transforms/InstCombine/sink_instruction.ll
This appears to expose a bug in the X86 backend for 177.mesa, which I'm
looking in to.
llvm-svn: 18677
2004-12-08 23:43:58 +00:00
Alkis Evlogimenos
b1ff6d7921
Add testcase and fix for another case where we query the size an
...
abstract type.
llvm-svn: 18676
2004-12-08 23:42:11 +00:00
Chris Lattner
8665367885
new testcase
...
llvm-svn: 18675
2004-12-08 23:41:16 +00:00
Alkis Evlogimenos
a1291a0679
Fix this regression and remove the XFAIL from this test.
...
llvm-svn: 18674
2004-12-08 23:10:30 +00:00
Reid Spencer
ca06c8e851
Remove last remnants of Python/QMTest support
...
llvm-svn: 18672
2004-12-08 23:07:27 +00:00
Reid Spencer
4e197480e1
Implement the LLVM_DO_NOT_BUILD feature. If a file of that name is
...
present in a directory that LLVM normally builds, it will skip building
the directory entirely. This is useful for allowing a bunch of projects to
live in the source tree but not be compiled from time to time.
llvm-svn: 18671
2004-12-08 22:58:34 +00:00
Chris Lattner
8f30caf549
Fix Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
...
llvm-svn: 18670
2004-12-08 22:20:34 +00:00
Chris Lattner
ace35e9be6
This testcase causes the instruction combiner to go spiraling into
...
an infinite loop.
llvm-svn: 18669
2004-12-08 22:18:35 +00:00
Chris Lattner
f14c40dc57
Move method out of line
...
llvm-svn: 18666
2004-12-08 21:04:10 +00:00
Chris Lattner
5a0680245f
Move method out of line for better ICC support
...
Add some ifdefs for some stuff I like to be able to toggle easily
llvm-svn: 18665
2004-12-08 21:03:56 +00:00
Chris Lattner
8351112192
Properly extern this.
...
llvm-svn: 18664
2004-12-08 21:00:59 +00:00
Chris Lattner
3e4445cd03
Define the pointer hash struct before the string one, to improve compatibility
...
with ICC. Patch contributed by Bjørn Wennberg.
llvm-svn: 18663
2004-12-08 20:59:18 +00:00
John Criswell
6430772035
The noreturn GCC extension is now supported.
...
Fixed some minor typos.
llvm-svn: 18658
2004-12-08 20:35:47 +00:00
Chris Lattner
630729c97e
Turn this error back into a warning, fixing the povray regression
...
llvm-svn: 18655
2004-12-08 20:01:10 +00:00
Chris Lattner
292e6602ac
Test commit
...
llvm-svn: 18654
2004-12-08 19:05:44 +00:00
Reid Spencer
0601d01f43
Build the man and ps versions of the command guide as well when
...
BUILD_FOR_WEBSITE is set.
llvm-svn: 18653
2004-12-08 19:01:01 +00:00
Chris Lattner
923737fcff
ignore generated file
...
llvm-svn: 18652
2004-12-08 19:00:45 +00:00
Alkis Evlogimenos
84d060ae7a
Mark this as an XFAIL until a fix is worked out.
...
llvm-svn: 18651
2004-12-08 18:43:39 +00:00
Tanya Lattner
0e6622157a
Fixed broken link to Bruce Eckle's book.
...
llvm-svn: 18650
2004-12-08 18:34:56 +00:00
Tanya Lattner
7591b82df6
Fixed a broken link to gcc manual.
...
llvm-svn: 18649
2004-12-08 18:29:38 +00:00
Tanya Lattner
6337134822
Fixed broken link.
...
llvm-svn: 18648
2004-12-08 18:25:34 +00:00
Tanya Lattner
9d2df71d38
Fixed broken links.
...
llvm-svn: 18647
2004-12-08 18:13:51 +00:00
John Criswell
945f80273f
Mention in the exposition that lli can JIT on PowerPC now.
...
llvm-svn: 18646
2004-12-08 18:04:14 +00:00
John Criswell
ba739a8e56
We don't have python test classes anymore.
...
llvm-svn: 18645
2004-12-08 18:01:27 +00:00
Reid Spencer
92815e5483
Add llvm-ld tool
...
Note that both llvmc and llvm-ld are experimental in 1.4
llvm-svn: 18644
2004-12-08 18:00:30 +00:00
John Criswell
6ab273c032
Minor fixups.
...
llvm-svn: 18643
2004-12-08 17:53:54 +00:00
Tanya Lattner
d8697049e3
Fixed typo in Dejagnu section.
...
llvm-svn: 18642
2004-12-08 17:37:21 +00:00
Tanya Lattner
9a1b8935d6
Removed QMTest reference.
...
llvm-svn: 18641
2004-12-08 17:35:31 +00:00
Tanya Lattner
e6ebbd70ca
Removed QMTest reference.
...
llvm-svn: 18640
2004-12-08 17:25:46 +00:00