Commit Graph

16546 Commits

Author SHA1 Message Date
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
Tanya Lattner c31724bfe2 Removed QMTest referrences. Updated ordering of notes.
llvm-svn: 18639
2004-12-08 17:12:52 +00:00
John Criswell 33e0f06258 Fix spell'os.
llvm-svn: 18638
2004-12-08 16:55:27 +00:00
Reid Spencer cce6755360 Move documentation for various configuration options applicabe only to the
llvm-test directory into this document from GettingStarted.html.

llvm-svn: 18637
2004-12-08 16:52:51 +00:00
Reid Spencer dfcf790d28 Various 1.4ish corrections and additions.
llvm-svn: 18636
2004-12-08 16:51:31 +00:00
John Criswell c8808f57dc Update the version numbers of the pre-built LLVM GCC frontends.
llvm-svn: 18635
2004-12-08 16:47:14 +00:00
John Criswell 241011e6b0 Fix llvmgcc to use the TestRunner substition mechanism.
llvm-svn: 18634
2004-12-08 16:41:34 +00:00
John Criswell 02fa673e6f xfail this across all platforms.
llvm-svn: 18633
2004-12-08 16:31:06 +00:00
Reid Spencer 3991dce79e * Change version numbers of tarballs from 1.3 to 1.4
* Add llvm-test-1.4.tar.gz as the tarball for the llvm-test module
* Highlight the tarball name a little.

llvm-svn: 18632
2004-12-08 16:25:25 +00:00
Chris Lattner 1c539a86c9 Work correctly with MSVC and ICC, patch contributed by Bjørn Wennberg
llvm-svn: 18631
2004-12-08 16:22:48 +00:00
Chris Lattner d349d4a49c Work correctly with ICC, Patch contributed by Bjørn Wennberg
llvm-svn: 18630
2004-12-08 16:22:26 +00:00
Reid Spencer 5be4f0490f Add descriptions of missing top level directories.
llvm-svn: 18629
2004-12-08 16:18:26 +00:00
Chris Lattner 4270bcbab7 Add support for compilers with arg dependent name lookup, contributed by
Bjørn Wennberg

llvm-svn: 18628
2004-12-08 16:13:53 +00:00
Chris Lattner 674ce86cd0 Add support for compilers without argument dependent name lookup, contributed
by Bjørn Wennberg

llvm-svn: 18627
2004-12-08 16:12:20 +00:00
Chris Lattner 6ef473f53c Make this work with the ICC compiler, contributed by Bjørn Wennberg
llvm-svn: 18626
2004-12-08 16:10:52 +00:00
Chris Lattner 407000c497 Remove unneeded class qualifier, contributed by Bjørn Wennberg
llvm-svn: 18625
2004-12-08 16:05:02 +00:00
Alkis Evlogimenos 148215f758 Add regression
llvm-svn: 18624
2004-12-08 07:25:10 +00:00
Reid Spencer 359df30f3d When -link-as-library, add -l options to Module's deplibs
llvm-svn: 18617
2004-12-08 05:17:40 +00:00
Reid Spencer 8f59e90cef Make an alternate version of this Makefile that can be used in an
unconfigured tree for rebuilding the html files from POD sources for the
website update on cvs commit.

llvm-svn: 18616
2004-12-08 04:43:40 +00:00
Reid Spencer cd7d6cf6a6 Remove -Woverloaded-virtual usage that was committed by accident.
llvm-svn: 18615
2004-12-08 04:34:51 +00:00
Reid Spencer cc52c2ce8a Remove variables that are not used by any of the LLVM makefiles
llvm-svn: 18614
2004-12-08 04:26:23 +00:00
Reid Spencer 6838b3c245 Remove useless -L switch now that gccld -link-as-library bug is fixed.
llvm-svn: 18613
2004-12-08 04:22:47 +00:00
Alkis Evlogimenos ca6a649c9d Use getOperand() and remove getElementAt() function.
llvm-svn: 18612
2004-12-08 03:45:20 +00:00
Chris Lattner db38fe94ae Revert this disgusting hack, John has a much nicer solution
llvm-svn: 18611
2004-12-08 03:31:14 +00:00
Chris Lattner 79a993ea0d Add a disgusting hack to work around a libstdc++ issue. This code should
be removed when PR400 is resolved.

llvm-svn: 18610
2004-12-08 03:28:51 +00:00
Chris Lattner 040c3868b3 This test is xfail right now, to keep DJ clean, also mention the PR# in testcases.
llvm-svn: 18609
2004-12-08 02:25:32 +00:00
Reid Spencer 55684c3b26 * Eliminate redundancies
* Fix grammaro's
* HTML 4.01 Strict compliance

llvm-svn: 18604
2004-12-07 08:39:08 +00:00
Reid Spencer 9273d480ad For PR387:\
Add doInitialization method to avoid overloaded virtuals

llvm-svn: 18602
2004-12-07 08:11:36 +00:00
Reid Spencer 5c132bc3af For PR387:\
Add getModRefInfo method to avoid overloaded virtuals

llvm-svn: 18601
2004-12-07 08:11:24 +00:00
Reid Spencer c332610d52 For PR387:\
Add runPass methods to remove -Woverloaded-virtual warnings are not \
present and circumvent possible inheritance bugs.

llvm-svn: 18600
2004-12-07 08:11:11 +00:00
Chris Lattner b5bb597405 Commit the cleanup of the LLVM 1.4 release notes. This should clearly go
into the release :)

llvm-svn: 18599
2004-12-07 08:04:13 +00:00
Reid Spencer b95f8ab3ef Revert the recent patches to "fix" ConstantFP::isValueValidForType. None
of them seem to work everywhere.

llvm-svn: 18598
2004-12-07 07:38:08 +00:00
Reid Spencer ae056bdd36 Provide a missing header file.
llvm-svn: 18597
2004-12-07 07:08:08 +00:00
Reid Spencer 744d95e8c7 Fix some comments.
llvm-svn: 18596
2004-12-07 07:06:47 +00:00
Alkis Evlogimenos 2b91842092 Fix check for valid floats. Also use and HUGE_VALF instead
of std::numeric_limits, because they work in more platforms.

llvm-svn: 18593
2004-12-07 06:46:50 +00:00
Nate Begeman 784a0dcbd0 Move virtual function call out of loop to speed up getFreePhysReg by about
20%, shaving 0.1s off hbd compile time on my g5.  Yay.

llvm-svn: 18592
2004-12-07 05:25:53 +00:00
Reid Spencer 9083936835 For PR387:\
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual

llvm-svn: 18589
2004-12-07 04:03:45 +00:00
Reid Spencer 1c48c2deee For PR387:
Make this compile without warning when -Woverloaded-virtual is used.

llvm-svn: 18588
2004-12-06 23:42:37 +00:00
Reid Spencer 2ea2100e9d PR409 fixed.
llvm-svn: 18586
2004-12-06 22:32:33 +00:00
Reid Spencer a8288d93ae For PR409: \
Test the range of float constants to ensure we are not attempting to create a \
float constant using a double value that is out of range for a float

llvm-svn: 18585
2004-12-06 22:18:37 +00:00
Reid Spencer 95044d0071 For PR409: \
Make sure to check isValueValidForType on floating point constants and give \
an error if the value is not valid, otherwise it would assert in the VMCore

llvm-svn: 18584
2004-12-06 22:18:25 +00:00
John Criswell ff845b4f96 This test still fails on Darwin and Sparc/Solaris.
llvm-svn: 18583
2004-12-06 22:05:02 +00:00
Reid Spencer 10afebddcc Test case for PR409:
Make sure that floating point constant values outside the range of a float
cannot be assigned to a constant.

llvm-svn: 18582
2004-12-06 21:57:59 +00:00
John Criswell b2249635ae Remove the last pieces of QMTest.
llvm-svn: 18581
2004-12-06 21:35:32 +00:00
Reid Spencer 46f5c4f214 Revert previous changes to remove -enable-linscan and the *BETA columns of
the nightly test. These are still needed for iterative linear scan testing.

llvm-svn: 18577
2004-12-06 20:14:45 +00:00
Reid Spencer ecec7939bc Rather than break all the nightly test invocations, permit -enable-linscan
option to be specified, but do nothing with it.

llvm-svn: 18575
2004-12-06 18:33:54 +00:00
Reid Spencer 1443c4f039 Remove LLC-BETA and linear scan options as they are no longer reported.
llvm-svn: 18574
2004-12-06 18:29:14 +00:00
Reid Spencer ca1baad120 Change check to check-local per Makefile.rules changes.
llvm-svn: 18568
2004-12-06 05:35:38 +00:00
Reid Spencer 3f5ed7b1f7 Upgrade documentation to reflect Makefile.rules changes.
llvm-svn: 18567
2004-12-06 05:35:25 +00:00
Reid Spencer 8b5ebe561e Add the check target so all projects can have this
functionality.

llvm-svn: 18566
2004-12-06 05:35:13 +00:00
Reid Spencer 876ae54f63 Remove the check target. Its now in Makefile.rules
llvm-svn: 18565
2004-12-06 05:35:00 +00:00
Tanya Lattner 4d69018fe9 Added DejaGNU information to the testing guide. This should go into the 1.4 release.
I left the QMTest stuff in place but made it appear to be optional.

llvm-svn: 18564
2004-12-06 02:11:52 +00:00
Reid Spencer ffcf42329a PR139 fixed.
llvm-svn: 18551
2004-12-05 20:19:45 +00:00
Alkis Evlogimenos 75a93f23b3 Add accessors for Constants in a ConstantStruct.
llvm-svn: 18550
2004-12-05 20:09:18 +00:00
Reid Spencer ef96665753 Fix PR139:\
When not linking as a library, use LinkItems to retain command line order of \
linking, otherwise use LinkFiles

llvm-svn: 18549
2004-12-05 19:15:29 +00:00
Reid Spencer 9f1cf33a54 Make use of the LLVMGCCStdCXXLibDir variable to link objects
llvm-svn: 18548
2004-12-05 19:15:06 +00:00
Reid Spencer 1014afc7ea Fix PR139: \
Implement LinkItems and BuildLinkItems interfaces.

llvm-svn: 18547
2004-12-05 19:14:55 +00:00
Reid Spencer a3df351820 Fix PR139: \
Add support for ordered linking with the LinkItems function

llvm-svn: 18546
2004-12-05 19:14:43 +00:00
Reid Spencer e96b620570 Describe the MODULE_NAME control variable
llvm-svn: 18545
2004-12-05 19:14:31 +00:00
Reid Spencer 6d6503a9b3 Provide a variable to compute where the libstdc++.a is
llvm-svn: 18544
2004-12-05 19:14:19 +00:00
Chris Lattner db332473fa Suggest people run cvs up -P -d after checking out the tree so they don't
get empty directories

llvm-svn: 18543
2004-12-05 17:48:03 +00:00
Chris Lattner a34f9da4b4 Properly implement a fix for PR475
llvm-svn: 18537
2004-12-05 07:19:16 +00:00
Chris Lattner cc6d1928d2 Make this test actually capable of passing.
llvm-svn: 18536
2004-12-05 07:15:21 +00:00
Chris Lattner 1a0117f641 Revert this patch, it broke a ton of programs.
llvm-svn: 18535
2004-12-05 06:59:59 +00:00
Chris Lattner f878f75d46 Move lower intrinsics before FP constant emission, in case
intrinsic lowering ever introduces constants.

Rename local symbols before printing function bodies, fixing 255.vortex
with the CBE!!!

llvm-svn: 18534
2004-12-05 06:49:44 +00:00
Chris Lattner fa171f11b8 Change this test to not require execution of the program.
llvm-svn: 18533
2004-12-05 06:45:30 +00:00
Chris Lattner 97e36f211b When printing out a function, make sure that local and global symbols
don't conflict.  This fixes Assembler/2004-12-05-LocalGlobalSymtabConflict.ll

llvm-svn: 18532
2004-12-05 06:44:09 +00:00
Chris Lattner b392d30761 Add a new method
llvm-svn: 18531
2004-12-05 06:43:27 +00:00
Chris Lattner 0ba8f4e191 Fix typeo
llvm-svn: 18530
2004-12-05 06:33:15 +00:00
Chris Lattner a6086ef48d New testcase for the bug affecting 255.vortex in CBE mode.
llvm-svn: 18529
2004-12-05 06:18:35 +00:00
Reid Spencer cceae4217f Correct build script for stkr_runtime module
llvm-svn: 18526
2004-12-05 05:18:28 +00:00
Reid Spencer d8d9fb325f Build a module instead of a library so main() is not missed
llvm-svn: 18525
2004-12-05 05:18:16 +00:00
Reid Spencer 107f576732 Make a const method const
llvm-svn: 18524
2004-12-05 05:17:34 +00:00
Reid Spencer d78077dd13 Add ability to make a single bytecode module from others
llvm-svn: 18523
2004-12-05 05:17:22 +00:00
Alkis Evlogimenos 7527cd53fa Remove unneeded code
llvm-svn: 18516
2004-12-05 02:03:16 +00:00
Alkis Evlogimenos 8c5affedd1 Fix PR475.
llvm-svn: 18515
2004-12-05 01:51:20 +00:00
Alkis Evlogimenos a90f19621b Match codegen string better
llvm-svn: 18514
2004-12-05 01:50:32 +00:00
Alkis Evlogimenos 58355ab372 Add testcast for bug475
llvm-svn: 18513
2004-12-05 01:44:46 +00:00
Chris Lattner d9791b0007 Darwin and solaris don't support echo -e. This should get the test passing
for them.

llvm-svn: 18511
2004-12-04 23:44:42 +00:00
Chris Lattner 59ed56e232 This fails due to the sun headers.
llvm-svn: 18510
2004-12-04 23:24:30 +00:00
Chris Lattner 02d5676936 This test passes on all platforms
llvm-svn: 18509
2004-12-04 23:21:41 +00:00
Chris Lattner b5fd4a2f85 These tests pass on darwin now that the __ thing is fixed.
llvm-svn: 18508
2004-12-04 23:20:14 +00:00
Reid Spencer 20275c1d5d Failing Feature/Regression test should fail the build
llvm-svn: 18507
2004-12-04 22:34:47 +00:00
Reid Spencer 895ad73daa Use the FAKE_SOURCES feature for proper distribution of contents
llvm-svn: 18506
2004-12-04 22:34:33 +00:00
Reid Spencer ca49210f65 Distribute headers and license files too
llvm-svn: 18505
2004-12-04 22:34:21 +00:00
Reid Spencer 81546587d5 Getting dist-check to work:\
* Implement the FAKE_SOURCES feature for GCCLibraries/crtend \
* Search for distribution files >first< in srcdir and >second< in objdir \
* Make dist-hook only run in top level directory. \
* Make dist-check run correctly in parallel builds \
* Wrap lines to 80 cols \
* Standardize variable names

llvm-svn: 18504
2004-12-04 22:34:09 +00:00
Reid Spencer b16e4b7ca5 CVS directory elimination moved to Makefile.rules
llvm-svn: 18503
2004-12-04 22:33:58 +00:00
Reid Spencer ef510c0279 Provide more information in the error message that occurs when there are
unresolved constants remaining.

llvm-svn: 18502
2004-12-04 22:19:53 +00:00
Reid Spencer 5ae9a04e40 Print out something useful instead of a blank table when the external tests
are skipped by user option.

llvm-svn: 18501
2004-12-04 22:18:28 +00:00
Chris Lattner 8145bd5006 Check in some patches for better assertions
llvm-svn: 18500
2004-12-04 21:28:47 +00:00
Chris Lattner a27dd47e7a This patch prevents an infinite recursion while compiling 103.su2cor.
All SPEC CFP 95 programs now work, though the JIT isn't loading -lf2c right
so they aren't testing correctly.

llvm-svn: 18499
2004-12-04 20:54:32 +00:00
Chris Lattner 77e8f43c72 Move the dejagnu section to immediately before the 'trends' section.
llvm-svn: 18497
2004-12-04 20:18:21 +00:00
Chris Lattner af045fa120 Remove last remnants of qmtest stuff
llvm-svn: 18496
2004-12-04 19:57:27 +00:00
Chris Lattner 5b87507304 Update the win32 project files, contributed by Morton Ofstad!
llvm-svn: 18495
2004-12-04 19:14:38 +00:00
Chris Lattner a57c105687 Fix linkage of mismatched weak globals. This unbreaks 300.twolf
llvm-svn: 18494
2004-12-04 18:54:48 +00:00
Reid Spencer 9cb0f7097c Use the install-bytecode target to install just the bytecode libs into
the CFE's install/bytecode-libs directory.

llvm-svn: 18493
2004-12-04 08:13:20 +00:00
Chris Lattner 144924cbaa Clean feature also
llvm-svn: 18491
2004-12-04 06:47:07 +00:00
Tanya Lattner 03dfe165e1 Run dejagnu by default.
llvm-svn: 18490
2004-12-04 06:35:14 +00:00
Tanya Lattner 24726f9a5d Removed QMTest functions. The nightly tester no longer runs qmtest. It now runs dejagnu by default and you must turn it off using -nodejagnu.
llvm-svn: 18489
2004-12-04 06:25:50 +00:00
Tanya Lattner 26a1367d8a Made it default to check instead of check-dejagnu.
llvm-svn: 18488
2004-12-04 06:25:08 +00:00
Chris Lattner 8f97278c49 Do not allow bytecode files with unresolved references to be read. Doing
so lets wierd ConstantPlaceholder objects sneak into the system which
confuses it greatly.

llvm-svn: 18487
2004-12-04 05:28:27 +00:00
Chris Lattner 73a1914131 Fix compilation error on Darwin.
llvm-svn: 18485
2004-12-04 04:17:20 +00:00
Alkis Evlogimenos be526cfba4 Check if a block has a terminator first before calling front() on
it. If a block has a terminator then it is certainly non-empty so the
verifier will not crash on it.

llvm-svn: 18484
2004-12-04 02:30:42 +00:00
Alkis Evlogimenos b92de19116 Make error msg reflect what exactly went wrong.
llvm-svn: 18478
2004-12-04 01:25:06 +00:00
Chris Lattner 5684f4817f Prevent accessing past the end of the intervals vector, this fixes
Prolang-C/bison in the JIT

llvm-svn: 18477
2004-12-04 01:22:09 +00:00
Misha Brukman 68ef9a9a4d Use the standard PR### notation for referencing bugs in bugzilla
llvm-svn: 18476
2004-12-04 00:45:09 +00:00
Misha Brukman 47d186cf55 Remove more smileys. I kept the one in WritingAnLLVMPass because it is actually
funny.

llvm-svn: 18475
2004-12-04 00:33:34 +00:00
Misha Brukman 6d1686c18b Documentation which contains smileys won't be taken seriously by some people.
llvm-svn: 18474
2004-12-04 00:32:12 +00:00
Chris Lattner 997153df35 Update for changes to check targets.
llvm-svn: 18473
2004-12-04 00:04:48 +00:00
Misha Brukman 8d9a83a908 * Link to the license file from release 1.3 (should we link to CVS version
instead?)
* Encapsulate code and header file names with <tt> and </tt>
* Arrange <p> and </p> tags to be inline with the text they contain

llvm-svn: 18472
2004-12-03 23:58:18 +00:00
Chris Lattner e175aa5cc1 check is now a single colon rule. Also make it default to running dejagnu instead of qmtest
llvm-svn: 18471
2004-12-03 23:57:00 +00:00
Chris Lattner 1701409c9a Remove all recursive check support from Makefile.rules
llvm-svn: 18470
2004-12-03 23:56:41 +00:00
Misha Brukman 9976d3486f Remove extraneous space in link
llvm-svn: 18468
2004-12-03 23:26:23 +00:00
Chris Lattner 87a756f09f Remove darwin specific majik
llvm-svn: 18467
2004-12-03 23:02:55 +00:00
Chris Lattner 4cf8b36469 Move darwin-specific majik here.
llvm-svn: 18466
2004-12-03 23:02:42 +00:00
Chris Lattner fc61de3902 Significantly rework linker support for global variables, allowing it to
correctly link globals whose LLVM types do not match.

This fixes several of the F2C SPEC FP benchmarks, which were failing this
due to the implementation of common blocks used by f2c.

llvm-svn: 18465
2004-12-03 22:18:41 +00:00
John Criswell 8e18e88392 Removed QMTests as I will be zapping them soon.
I've done some testing, and this seems to work, but if people who use
the nightly tester regularly could spot check these changes, I'd be
appreciative.

llvm-svn: 18464
2004-12-03 21:56:30 +00:00
Chris Lattner 661a714d2c 'make check' at the top level shouldn't recurse through the sourcedirs
llvm-svn: 18463
2004-12-03 21:05:57 +00:00
Reid Spencer d4bd375d37 Resurrect the install-bytecode target for installing just the bytecode
libraries to the CFE.

llvm-svn: 18462
2004-12-03 20:08:48 +00:00
Chris Lattner 2434bb968c Do not multiply define symbol
llvm-svn: 18461
2004-12-03 19:48:10 +00:00
Chris Lattner b3d140deaa Bug fixed
llvm-svn: 18460
2004-12-03 17:21:33 +00:00
Chris Lattner 26d9c22832 Fix test/Regression/CodeGen/CBackend/2004-12-03-ExternStatics.ll and
PR472

llvm-svn: 18459
2004-12-03 17:19:10 +00:00
Chris Lattner 1cc226eba1 new testcase for PR472
llvm-svn: 18458
2004-12-03 17:18:42 +00:00
Chris Lattner 9019e5cfa0 Implement stripping of debug symbols, making the --strip-debug options in
gccas/gccld more than just a noop.

llvm-svn: 18456
2004-12-03 16:22:08 +00:00
John Criswell ebaef2c0d9 Fixed typo.
llvm-svn: 18455
2004-12-03 15:59:26 +00:00
Chris Lattner 5a4dc8ca5a Do not look here for elegance.
This fixes the ugly darwin "cannot find symbols starting with __" issue.

Thanks for Owen/resistor for testing this out for me.

llvm-svn: 18454
2004-12-03 07:16:51 +00:00
Brian Gaeke 608a6dae43 This code rotted - change it to call abort() until someone wants
to rewrite this to use relocations.

llvm-svn: 18453
2004-12-03 06:57:14 +00:00
Reid Spencer 2b1b83a520 Pass -strip-debug to gccas when bytecode libraries are being built.
llvm-svn: 18452
2004-12-03 06:04:35 +00:00
Chris Lattner 0558e23872 Add -strip-debug option
remove the temporary -disable-dse option

llvm-svn: 18451
2004-12-03 05:45:58 +00:00
Tanya Lattner c0d9dcdfac When writing kernel, save the branches til the end. They are still put in the "right place" in the schedule, but sometimes when folding to make a kernel instructions are added between branches. This is wrong. To avoid this, we handle branches special.
llvm-svn: 18450
2004-12-03 05:25:22 +00:00
Chris Lattner 9d76c236f7 Fix a regression caused by the previous patch
llvm-svn: 18449
2004-12-03 05:13:15 +00:00
John Criswell f29f760354 These lookup symbols with leading underscores, which currently fails in
the PowerPC JIT.
Hence, they are XFAILs.

llvm-svn: 18443
2004-12-02 21:28:37 +00:00
Chris Lattner 99a7c3d26f Adjust to change in pass name
llvm-svn: 18442
2004-12-02 21:27:35 +00:00
Chris Lattner 4913b65616 Recognize --strip-all as a synonym for -s.
Add -S and --strip-debug option support.

llvm-svn: 18441
2004-12-02 21:26:10 +00:00
Chris Lattner e8ebcb3300 Initial reimplementation of the -strip pass, with a stub for implementing
-S

llvm-svn: 18440
2004-12-02 21:25:03 +00:00
Chris Lattner a4c9808603 This pass is moving to lib IPO
llvm-svn: 18439
2004-12-02 21:24:40 +00:00
Chris Lattner 4459cb260a Move the strip pass from Scalar to IPO lib
llvm-svn: 18438
2004-12-02 21:24:19 +00:00
Chris Lattner e3d98f1fd8 Quiet!
llvm-svn: 18437
2004-12-02 21:23:43 +00:00
Chris Lattner 7651614c4d The stripping pass as we know it is about to disappear
llvm-svn: 18436
2004-12-02 21:05:01 +00:00
John Criswell 335c342440 Reverting revision 1.209.
Including alloca.h on Solaris brings in the prototype of strftime(), which
breaks compilation of CBE generated code.

llvm-svn: 18435
2004-12-02 19:02:49 +00:00
Chris Lattner 420847f879 Add a note
llvm-svn: 18434
2004-12-02 18:21:45 +00:00
Chris Lattner 33660426a5 Spill/restore X86 floating point stack registers with 64-bits of precision
instead of 80-bits of precision.  This fixes PR467.

This change speeds up fldry on X86 with LLC from 7.32s on apoc to 4.68s.

llvm-svn: 18433
2004-12-02 18:17:31 +00:00
Chris Lattner 96b14e18bb Consider 64-bit registers to be FP as well.
llvm-svn: 18432
2004-12-02 17:57:21 +00:00
Chris Lattner fa83510f94 Document beta pass
llvm-svn: 18431
2004-12-02 17:20:17 +00:00
Reid Spencer 53c59689d1 Standardize the makefiles with space around = to match the rest of LLVM.
llvm-svn: 18429
2004-12-02 09:58:09 +00:00
Reid Spencer f78508b25e PR466:
* Make the linker find lib*.bca files now instead of lib*.bc since those
  are what the makefiles now generate for bytecode archives.
* Make sure the linker only links archives when LinkLibraries is called.
  Previously if it found a lib*.bc file and that file was a bytecode file,
  it would link in the entire bytecode. This could make -lc -lc fail with
  duplicate symbols error but it shouldn't as searching multiple libraries,
  even the same one more than once, is permitted.
* Now that the above problems are corrected, implement the dependent libs
  feature. After the module is linked with all specified libraries, the
  LinkLibraries function will obtain the set of dependent libraries from
  the linked modules and attemp to find and link against those libraries.

llvm-svn: 18428
2004-12-02 09:52:10 +00:00
Reid Spencer d6dcad7745 Standardize the format of the runtime libraries makefiles.
* Don't have lines longer than 80 cols
* Blank line after the header
* Reduce spaces in var definitions.

llvm-svn: 18427
2004-12-02 09:31:40 +00:00
Reid Spencer dbaac1ff17 For PR466:
Much of what this Makefile did to make a libcrtend.a file is now supported
by Makefile.rules when BYTECODE_LIBRARY=1 is specified. So, we've
simplified the make rules for building this library.

llvm-svn: 18426
2004-12-02 09:29:49 +00:00
Reid Spencer 32f7e42744 For PR466:
Change construction of bytecode libraries from producing a single bytecode
file to producing a library containing bytecode files. This gets around the
problem of multiple symbol definitions in the linker if something like
-lc -lc is attempted on the command line. Previously this happened because
the linker would find libc.bc as a "library". It will now find libc.a which
it can simply search for missing symbols instead of linking in wholesale.

llvm-svn: 18425
2004-12-02 09:28:21 +00:00
Reid Spencer 59d89f598c Remove this left-over crud from the automake experiment.
llvm-svn: 18424
2004-12-02 09:23:51 +00:00
Reid Spencer 295a3bbb18 Implement file replacement correctly even with the f (TruncateNames) flag
set. The member name comparison was failing for truncated names. This patch
fixes that. Truncated names are now properly replaced.

llvm-svn: 18423
2004-12-02 09:21:55 +00:00
Reid Spencer f473185cbc Fix seriously broken implementation of GetMagicNumber.
llvm-svn: 18422
2004-12-02 09:09:48 +00:00
Reid Spencer 1c8a34ff77 Search for tclsh last so we don't find the FreeBSD warning script too early
llvm-svn: 18421
2004-12-02 07:31:22 +00:00
Reid Spencer 188a22fc14 Search for tclsh last so we don't find the FreeBSD warning script.
llvm-svn: 18420
2004-12-02 07:29:17 +00:00
Tanya Lattner 201e972dc4 Reworked branch adding in prologue. Added check for infinite loops which are not modulo scheduled.
llvm-svn: 18419
2004-12-02 07:22:15 +00:00
Chris Lattner c0677c081d Implement a FIXME by checking to make sure that a malloc is not being used
in scary and unknown ways before we promote it.  This fixes the miscompilation
of 188.ammp that has been plauging us since a globalopt patch went in.

Thanks a ton to Tanya for helping me diagnose the problem!

llvm-svn: 18418
2004-12-02 07:11:07 +00:00
Chris Lattner 3b18139b3c Fix a minor bug where we set a var to initialized on malloc, not on store.
This doesn't fix anything that I'm aware of, just noticed it by inspection

llvm-svn: 18417
2004-12-02 06:25:58 +00:00
Reid Spencer 7784c2f12e Fix the tclsh test to find tclsh8.[34] and tclsh8.[34].X as well.
llvm-svn: 18415
2004-12-02 04:17:20 +00:00
Reid Spencer 8d61104f97 * Make sure the cache variable gets cached
* Don't search a bunch of .. directories for something we'd never find,
  because we don't imbed tclsh into LLVM.
* Look for various tclsh versions because some platforms don't install the
  tclsh link but just have tclsh8.3 or tclsh8.4 or some such.

llvm-svn: 18414
2004-12-02 04:15:24 +00:00
Chris Lattner 434f90ff2d Remove dead field
llvm-svn: 18412
2004-12-02 02:35:38 +00:00
Chris Lattner 9cf32444bb This program doesn't break anything anymore.
llvm-svn: 18411
2004-12-02 02:26:18 +00:00
Misha Brukman 3ae96e3727 Reid has implemented llvm-ranlib. Thanks, Reid!
llvm-svn: 18410
2004-12-01 21:07:40 +00:00
Misha Brukman d0bb8bebc8 * Hyphenate ``constant-propagate''
* Add testing notes to the instruction section similar as for intrinsics
* Mention adding codegen support for new instructions

llvm-svn: 18409
2004-12-01 20:58:54 +00:00
Misha Brukman e070ae69fc Remove duplicated link to "Machine backend"
llvm-svn: 18408
2004-12-01 19:12:27 +00:00
Tanya Lattner e94b466a8e Reverting this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021428.html

It broke Mutlisource/Applications/obsequi

llvm-svn: 18407
2004-12-01 18:27:03 +00:00
Chris Lattner e58bf09138 Initial support for packed types, contributed by Morten Ofstad
llvm-svn: 18406
2004-12-01 17:14:28 +00:00
Chris Lattner 9a43d294b9 Remove unneeded cast.
llvm-svn: 18405
2004-12-01 17:13:05 +00:00
Chris Lattner cf2e128758 Get GEP's working with packed types. Contributed by Morten Ofstad!
llvm-svn: 18404
2004-12-01 17:12:16 +00:00
Chris Lattner 9812dbcc76 Add line # info
llvm-svn: 18403
2004-12-01 17:10:36 +00:00
John Criswell 51f8ded5e7 Fixed pathname to LLVM tools.
Thanks to Vladimir Merzliakov for finding this.

llvm-svn: 18402
2004-12-01 14:12:30 +00:00
Reid Spencer f6a10fa333 Be a little more explicit about how to configure LLVM with the --prefix
option so that permissions errors don't occur if the default, /usr/local,
is taken.

llvm-svn: 18401
2004-12-01 05:15:44 +00:00
Chris Lattner 2a2ebd1829 Fix typeo, thanks to Duraid for pointing it out
llvm-svn: 18400
2004-12-01 04:16:29 +00:00
Reid Spencer 3f2352e23e Revert version 1.39. It breaks the ordering of the library processing.
llvm-svn: 18399
2004-11-30 22:54:48 +00:00
Chris Lattner 798e0349c0 Do not let GCC emit a warning for INT64_MIN
llvm-svn: 18398
2004-11-30 21:33:58 +00:00
Brian Gaeke 86deaf2211 Sparcs behave better if we use <alloca.h> and avoid messing with __builtin_alloca.
llvm-svn: 18397
2004-11-30 21:27:01 +00:00
Tanya Lattner 33f621acf8 Added TCLSH var to site.exp.
llvm-svn: 18396
2004-11-30 19:13:06 +00:00
Chris Lattner a6992ae74f Move this from the C test suite
llvm-svn: 18395
2004-11-30 18:25:12 +00:00
Chris Lattner bf3a546a5b This is a c++ test
llvm-svn: 18394
2004-11-30 18:25:05 +00:00
Chris Lattner 3f9b831041 Add back -e, which apparently works in sh's echo but not tcsh's, which does
not need it.  Also, grep some output so we know that this command does something.

llvm-svn: 18393
2004-11-30 17:47:13 +00:00
Chris Lattner 4114c7d87c If TESTSUITE is set, we obviously want to run dejagnu
llvm-svn: 18392
2004-11-30 17:45:08 +00:00
Chris Lattner 56bac30683 Fix the JIT when being used from llvm-db
llvm-svn: 18391
2004-11-30 17:41:49 +00:00
Chris Lattner f4b262a3ec do not pass -e into llvm-db as a command.
llvm-svn: 18390
2004-11-30 17:13:13 +00:00
Chris Lattner c7edfa52a4 Put the output in the temporary location
llvm-svn: 18389
2004-11-30 17:12:00 +00:00
Chris Lattner 3f6419949c This is a cross platform fail, failing on freebsd as well
llvm-svn: 18388
2004-11-30 17:10:47 +00:00
Chris Lattner 951673a94c This pass is completely broken.
llvm-svn: 18387
2004-11-30 17:09:06 +00:00
Chris Lattner 37a14496c5 RevisionNum is read by error(), initialize it early.
llvm-svn: 18386
2004-11-30 16:58:18 +00:00
Chris Lattner d7f028e4e3 This was fixed with the recent tester changes.
llvm-svn: 18385
2004-11-30 16:48:26 +00:00
Brian Gaeke 5c9fa5bcee Update list of failing benchmarks.
llvm-svn: 18384
2004-11-30 08:15:44 +00:00
Brian Gaeke 1d6b926ab6 If we're about to emit something like:
%f0 = fmovs %f0
  %f1 = fmovs %f1

then just delete the FpMOVD pseudo-instruction instead.  Also, add
statistics and debug printouts.

llvm-svn: 18383
2004-11-30 08:15:15 +00:00
Reid Spencer 105d4152d7 Add a check for the tclsh program needed by dejagnu. This can have weird
names that have version numbers in it so this macro, DJ_AC_PATH_TCLSH will
make the necessary checks. The makefile variable TCLSH is set to the path
found.

llvm-svn: 18382
2004-11-30 08:11:54 +00:00
Chris Lattner 019445715e Squelch warning
llvm-svn: 18381
2004-11-30 07:47:34 +00:00
Chris Lattner b15064a776 This passes on darwin now
llvm-svn: 18380
2004-11-30 07:38:41 +00:00
Chris Lattner bd11625469 Fix several bugs in 'op x, imm' handling. Foremost is that we now emit
addi r3, r3, -1
instead of
   addi r3, r3, 1

for 'sub int X, 1'.

Secondarily, this fixes several cases where we could crash given an unsigned
constant.  And fixes a couple of minor missed optimization cases, such as
xor X, ~0U -> not X

llvm-svn: 18379
2004-11-30 07:30:20 +00:00
Reid Spencer 95729469cc Up the compression threshold to 64K so we avoid it for all but the largest
bytecode files. This should help linking substantially.

llvm-svn: 18378
2004-11-30 07:13:34 +00:00
Chris Lattner 868ae13dc0 Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx
This only fails on darwin or on X86 under valgrind.

llvm-svn: 18377
2004-11-30 07:01:15 +00:00
Chris Lattner 7562a05735 Fix CodeGen/PowerPC/2004-11-30-shr-var-crash.ll
llvm-svn: 18376
2004-11-30 06:40:04 +00:00
Chris Lattner 16c07fdd15 New testcase that crashes the PPC BE
llvm-svn: 18375
2004-11-30 06:39:45 +00:00
Chris Lattner ce350cbd3a Fix test/Regression/CodeGen/PowerPC/2004-11-29-ShrCrash.ll
llvm-svn: 18374
2004-11-30 06:36:11 +00:00
Chris Lattner c45bdadaf8 New testcase
llvm-svn: 18373
2004-11-30 06:35:52 +00:00
Tanya Lattner 97b21a06a3 Adding timeout for a test.
llvm-svn: 18372
2004-11-30 06:29:45 +00:00
Chris Lattner 9eeb2033ff Fix test/Regression/CodeGen/PowerPC/2004-11-30-shift-crash.ll
llvm-svn: 18371
2004-11-30 06:29:10 +00:00