Commit Graph

3046 Commits

Author SHA1 Message Date
Jeff Cohen
ca14516b15 Fix comment.
llvm-svn: 24004
2005-10-26 15:02:21 +00:00
Jeff Cohen
342597c279 Eliminate use of sed in Visual Studio builds.
llvm-svn: 24003
2005-10-26 14:48:53 +00:00
Chris Lattner
4ab26b20b7 Add a method
llvm-svn: 23989
2005-10-25 21:02:21 +00:00
Chris Lattner
6d5166d861 Remove some dead argument names which irritates GCC at certain warning levels.
llvm-svn: 23979
2005-10-25 17:59:28 +00:00
Chris Lattner
71195650ea Add a missing Module::setTargetTriple method.
Remove Function::aiterator and Module::giterator typedefs (and const versions)
as they should have been removed when abegin/gbegin were removed.  Thanks to
alkis for bringing this to my attn.

llvm-svn: 23978
2005-10-25 17:58:00 +00:00
Jim Laskey
b377b32a58 Preparation of supporting scheduling info. Need to find info based on selected
CPU.

llvm-svn: 23974
2005-10-25 15:15:28 +00:00
Chris Lattner
b299faa5c1 Move the END_WITH_NULL marker. Vladimir suggests that this works better with
GCC 4.1.  I tried it with 4.0 and 3.3 and it seems fine.

llvm-svn: 23957
2005-10-24 05:03:46 +00:00
Chris Lattner
1245463d22 Remove a prototype
llvm-svn: 23951
2005-10-24 04:13:21 +00:00
Chris Lattner
8a287bab72 This pass is very old and quite useless, remove it.
llvm-svn: 23946
2005-10-24 02:35:24 +00:00
Chris Lattner
bd6a973ae0 Don't link these three passes in anymore
llvm-svn: 23941
2005-10-24 02:30:25 +00:00
Chris Lattner
48f3be3f64 add a proto
llvm-svn: 23923
2005-10-24 01:00:32 +00:00
Chris Lattner
b035470bae new header
llvm-svn: 23921
2005-10-24 00:59:49 +00:00
Chris Lattner
1cb80df69b add some prototypes
llvm-svn: 23919
2005-10-24 00:38:25 +00:00
Chris Lattner
2f752062c1 Don't invade the system namespace
llvm-svn: 23917
2005-10-24 00:16:03 +00:00
Chris Lattner
31ac6df518 There is no need for this to be VC++ only
llvm-svn: 23915
2005-10-24 00:08:51 +00:00
Jeff Cohen
dda264c50a Work around GCC's dislike of attributes on function definitions.
llvm-svn: 23896
2005-10-23 15:22:50 +00:00
Chris Lattner
79ea8acebc Move static functions to .cpp file, reduce #includes, pass strings by
const&.

llvm-svn: 23890
2005-10-23 05:25:19 +00:00
Jeff Cohen
a38c737e85 When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.

llvm-svn: 23888
2005-10-23 04:37:20 +00:00
Andrew Lenharth
9fad56d2d2 add TargetExternalSymbol
llvm-svn: 23886
2005-10-23 03:40:17 +00:00
Chris Lattner
610724aedd add missing prototype
llvm-svn: 23867
2005-10-21 15:49:28 +00:00
Nate Begeman
6c42f509bc Invert the TargetLowering flag that controls divide by consant expansion.
Add a new flag to TargetLowering indicating if the target has really cheap
  signed division by powers of two, make ppc use it.  This will probably go
  away in the future.
Implement some more ISD::SDIV folds in the dag combiner
Remove now dead code in the x86 backend.

llvm-svn: 23853
2005-10-21 00:02:42 +00:00
Chris Lattner
ca5f516c08 add a new method
llvm-svn: 23840
2005-10-20 07:37:59 +00:00
Nate Begeman
2b0b27775d Enable targets to say that integer divide is expensive, which will trigger
an upcoming optimization in the DAG Combiner.

llvm-svn: 23834
2005-10-20 02:14:14 +00:00
Chris Lattner
dac26c2440 Make this work with the internalize change
llvm-svn: 23812
2005-10-19 01:41:47 +00:00
Nate Begeman
ee581735d9 Add the ability to lower return instructions to TargetLowering. This
allows us to lower legal return types to something else, to meet ABI
requirements (such as that i64 be returned in two i32 regs on Darwin/ppc).

llvm-svn: 23802
2005-10-18 23:23:37 +00:00
Chris Lattner
211f996c92 add an option to the internalize pass
llvm-svn: 23782
2005-10-18 06:28:16 +00:00
Chris Lattner
26f6c4de3d Fix errors when compiling with -pedantic
llvm-svn: 23719
2005-10-14 00:33:05 +00:00
Nate Begeman
b49e7aa166 SimplifySelectCC is dead
llvm-svn: 23705
2005-10-13 03:10:46 +00:00
Chris Lattner
2800856064 remove a comma to compile with pedantic gcc
llvm-svn: 23667
2005-10-08 01:24:19 +00:00
Jeff Cohen
3151f1ba38 Remove prolific source of VC++ truncation warnings.
llvm-svn: 23657
2005-10-07 05:29:25 +00:00
Chris Lattner
bc5ae03dea add a helper class
llvm-svn: 23633
2005-10-05 06:34:34 +00:00
Chris Lattner
536a465ceb Change the signature of replaceUsesOfWithOnConstant to take a Use* and not
take the bool.  The bool is always true dynamically.

llvm-svn: 23625
2005-10-04 18:12:13 +00:00
Chris Lattner
4bb574585f Fix case of path
llvm-svn: 23605
2005-10-03 03:32:39 +00:00
Chris Lattner
3a47224042 This member can be const too
llvm-svn: 23600
2005-10-03 00:21:25 +00:00
Chris Lattner
b19d4e5584 Expose the actual valuetype of each register class
llvm-svn: 23583
2005-10-02 06:23:19 +00:00
Chris Lattner
9c069d09a5 Annotate nodes with their addresses if a graph requests it.
This is Jim's feature implemented so that graphs could 'opt-in' and get
this behavior.  This is currently used by selection dags.

llvm-svn: 23576
2005-10-01 00:19:21 +00:00
Chris Lattner
2a439615b7 add a method
llvm-svn: 23575
2005-10-01 00:17:07 +00:00
Jim Laskey
7dcadb97aa Reverting change moving to selection dag graph.
llvm-svn: 23568
2005-09-30 19:33:41 +00:00
Jim Laskey
1c928ba21a Added allnodes_size for scheduling support.
llvm-svn: 23567
2005-09-30 19:27:01 +00:00
Jim Laskey
35efa80550 Add the node name (thus the address) to node label.
llvm-svn: 23565
2005-09-30 19:11:53 +00:00
Chris Lattner
c744d9398f Rename MRegisterDesc -> TargetRegisterDesc for consistency
llvm-svn: 23564
2005-09-30 17:49:27 +00:00
Chris Lattner
6124aae803 trim down the target info structs now that we have a preferred spill register class for each callee save register
llvm-svn: 23560
2005-09-30 17:35:22 +00:00
Chris Lattner
18454e037b expose a new virtual method
llvm-svn: 23555
2005-09-30 07:06:37 +00:00
Chris Lattner
ec85d13393 Change these methods to take RC's
llvm-svn: 23535
2005-09-30 01:28:14 +00:00
Chris Lattner
9a2fb006e4 Add FP versions of the binary operators, keeping the int and fp worlds seperate.
llvm-svn: 23506
2005-09-28 22:29:58 +00:00
Chris Lattner
62922d5727 Add a new flag for targets where setjmp/longjmp saves/restores the signal mask,
and _setjmp/_longjmp should be used instead (for llvm.setjmp/llvm.longjmp).

llvm-svn: 23479
2005-09-27 22:13:36 +00:00
Chris Lattner
dbef366ea5 allow demotion to volatile values
llvm-svn: 23472
2005-09-27 19:38:43 +00:00
Chris Lattner
96f29dbdbe Make this slightly more efficient by pushing actual type information down
into the evaluator.  This shrinks a release build of instcombine's text
section from 216363 to 215975 bytes (on PPC).

llvm-svn: 23468
2005-09-27 06:38:05 +00:00
Chris Lattner
92616caa1a Split SimpleConstantVal up into its components, so each Constant subclass gets
a different enum value.  This allows 'classof' for these to be really simple,
not needing to call getType() anymore.

This speeds up isa/dyncast/etc for constants, and also makes them smaller.
For example, the text section of a release build of InstCombine.cpp shrinks
from 230037 bytes to 216363 bytes, a 6% reduction.

llvm-svn: 23466
2005-09-27 06:08:32 +00:00
Chris Lattner
2a5d66d0e1 add a new function
llvm-svn: 23443
2005-09-26 05:26:32 +00:00