Duraid Madina [Sat, 2 Apr 2005 10:33:53 +0000 (10:33 +0000)]
support IDEF, fnegabs (thanks sampo)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21023
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 2 Apr 2005 10:06:27 +0000 (10:06 +0000)]
add fnegabs op
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21022
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 2 Apr 2005 05:59:34 +0000 (05:59 +0000)]
Set shift amount to Extend
Implement ISD::FABS and ISD::FNEG nodes
Implement SHL_PARTS, SRL_PARTS, and SRA_PARTS
Generate PowerPC 'fneg', 'fabs', and 'fnabs' instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21018
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:40:03 +0000 (05:40 +0000)]
don't forget to use the right code generator :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21017
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:35:00 +0000 (05:35 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21016
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:30:17 +0000 (05:30 +0000)]
add support for FABS and FNEG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21015
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:26:53 +0000 (05:26 +0000)]
transform fabs/fabsf calls into FABS nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21014
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:26:37 +0000 (05:26 +0000)]
Expand fabs into fneg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21013
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sat, 2 Apr 2005 05:18:38 +0000 (05:18 +0000)]
add support FNEG and FABS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21012
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:04:50 +0000 (05:04 +0000)]
Turn -0.0 - X -> fneg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:03:24 +0000 (05:03 +0000)]
This target doesn't support fabs/fneg yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 05:00:07 +0000 (05:00 +0000)]
Several changes mixed up here. First when legalizing a DAG with pcmarker,
dont' regen the whole dag if unneccesary. Second, fix and ugly bug with
the _PARTS nodes that caused legalize to produce multiples of them.
Finally, implement initial support for FABS and FNEG. Currently FNEG is
the only one to be trusted though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21009
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 04:58:41 +0000 (04:58 +0000)]
print fneg/fabs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21008
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 04:58:28 +0000 (04:58 +0000)]
Add two happy new nodes for FABS and FNEG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 04:31:56 +0000 (04:31 +0000)]
add an fabs instr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21006
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 04:01:14 +0000 (04:01 +0000)]
Add support for 64-bit shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21005
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 04:00:59 +0000 (04:00 +0000)]
fix some bugs in the implementation of SHL_PARTS and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 03:59:45 +0000 (03:59 +0000)]
fix a comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21003
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 03:38:53 +0000 (03:38 +0000)]
Turn expanded shift operations into (e.g.) SHL_PARTS if the target supports it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21002
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 03:30:42 +0000 (03:30 +0000)]
Print some new nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21001
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 03:30:33 +0000 (03:30 +0000)]
add some new nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21000
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 03:22:40 +0000 (03:22 +0000)]
Fix a bug when inserting a libcall into a function with no other calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 2 Apr 2005 02:41:55 +0000 (02:41 +0000)]
new generic testcsae
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20996
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 2 Apr 2005 00:42:16 +0000 (00:42 +0000)]
Fix i64 returns
Generate PowerPC 'subfic' instruction when appropriate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20995
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 2 Apr 2005 00:41:14 +0000 (00:41 +0000)]
Fix a warning about an unhandled switch case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20994
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 1 Apr 2005 23:16:23 +0000 (23:16 +0000)]
For Sparc, this xfails. I don't think sparc has the C99 complex data
type support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Apr 2005 22:46:45 +0000 (22:46 +0000)]
Add support for ISD::UNDEF to the X86 be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20990
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 22:34:39 +0000 (22:34 +0000)]
Add ISD::UNDEF node
Teach the SelectionDAG code how to expand and promote it
Have PPC32 LowerCallTo generate ISD::UNDEF for int arg regs used up by fp
arguments, but not shadowing their value. This allows us to do the right
thing with both fixed and vararg floating point arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Apr 2005 15:41:30 +0000 (15:41 +0000)]
Fix another PATypeHolder error, contributed by Bill Wendling!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20983
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 1 Apr 2005 10:35:00 +0000 (10:35 +0000)]
repair mindless SELECT waste.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20982
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 08:57:43 +0000 (08:57 +0000)]
Fix Olden/bh, CR0 was being set in the wrong order
LowerCallTo and ISD::CALL are going to need to be modified, regs are being
set in the wrong order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20981
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 07:21:30 +0000 (07:21 +0000)]
Also apply Chris's fix to FP select and SETCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20979
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Apr 2005 07:19:06 +0000 (07:19 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20978
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Apr 2005 07:10:02 +0000 (07:10 +0000)]
Move the selection of the arms of the select operation up to the conditional
part to make sure we get the side effects and to avoid confusing the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20977
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Apr 2005 06:48:38 +0000 (06:48 +0000)]
print the machine CFG in the -print-machineinstrs dump
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20976
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 05:57:17 +0000 (05:57 +0000)]
Fix stores to global addresses
Fix calls with no arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20975
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 04:45:11 +0000 (04:45 +0000)]
Support indexed loads and stores. This drops Shootout/matrix time from
18.8 to 14.8 seconds. The Pattern ISel is now often faster than the
Simple ISel, esp. on memory intensive code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20973
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 02:59:27 +0000 (02:59 +0000)]
Implement FP_TO_SINT and FP_TO_UINT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20972
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 01:08:07 +0000 (01:08 +0000)]
Add support for adding 0.0 and -0.0 to the constant pool, since we lie and
say that we support them, for the purposes of generating fsel instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20970
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 1 Apr 2005 00:32:34 +0000 (00:32 +0000)]
Factor out common code, support FP comparison in folded SetCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20969
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 31 Mar 2005 23:55:40 +0000 (23:55 +0000)]
fsel generation for f32 and f64 select
generate compare immediate for integer compare with constant
fold setcc into branch
fold setcc into select
Code generation quality for Shootout is now on par with the Simple ISel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20968
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 31 Mar 2005 22:02:25 +0000 (22:02 +0000)]
make fp div trick dependend on flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20967
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 31 Mar 2005 21:30:35 +0000 (21:30 +0000)]
Fix spelling of `corresponds'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20966
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 31 Mar 2005 21:24:06 +0000 (21:24 +0000)]
PCMarker support for DAG and Alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20965
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 31 Mar 2005 12:31:11 +0000 (12:31 +0000)]
Assorted fixes:
* Stop being pessimistic about output register allocation
* Start to handle function descriptors: compute target GPs and so on
when doing indirect calls etc. Not there yet, though. For the moment,
we try to use _indirect_ branches wherever possible, to stress test
function descriptors.
* FP divide-by-zero should work now
* add varargs (it doesn't work, though)
At this point, all of SingleSource passes (modulo C++ tests that are due
to issues with the CFE, see note in the README.) Much of MultiSource also
passes although there's still a ton of bugs around. Something for me to
work on tomorrow, then. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20960
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 31 Mar 2005 07:40:24 +0000 (07:40 +0000)]
* declare local common symbols as such (.lcomm, not merely .common)
* begin great adventure into correct function descriptor materialization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20956
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 31 Mar 2005 07:36:43 +0000 (07:36 +0000)]
daintyness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20955
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 31 Mar 2005 07:32:32 +0000 (07:32 +0000)]
add what we need to fudge a 'floating point conditional move', this is
used to get FP div-by-zero working properly (shunt the right answer
depending on how frcpa sets its predicate output)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20954
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 31 Mar 2005 02:05:53 +0000 (02:05 +0000)]
Pass the correct values to the chain argument for node construction during
LowerCallTo.
Handle ISD::ADD in SelectAddr, allowing us to have nonzero immediates for
loads and stores, amazing!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20946
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 31 Mar 2005 00:15:26 +0000 (00:15 +0000)]
Rewrite LowerCallTo and Select(ISD::CALL) to properly handle float varargs
Tell the SelectionDAG ISel to expand SEXTLOAD of i1 and i8, rather than
complicate the code in ISD::SEXTLOAD to do it by hand
Combine the FP and Int ISD::LOAD codegen
Generate better code for constant pool loads
As a result, all of Shootout, and likely many other programs are now
working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20945
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 30 Mar 2005 19:38:35 +0000 (19:38 +0000)]
Fix calls whose arguments fit entirely in registers to not break the Chain.
Implement SINT_TO_FP and UINT_TO_FP
Remove some dead code from the simple ISel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20944
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Mar 2005 19:14:24 +0000 (19:14 +0000)]
* Put command-line switches and function names in <tt>
* Add links to mailing lists and publications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20943
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 30 Mar 2005 18:22:52 +0000 (18:22 +0000)]
yea, fine Duraid
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20942
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 30 Mar 2005 05:33:54 +0000 (05:33 +0000)]
Add section for Itanium
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20941
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 30 Mar 2005 02:23:08 +0000 (02:23 +0000)]
Fix frame index code to generate legal PowerPC instructions. About half of
Shootout now works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20940
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 30 Mar 2005 01:45:43 +0000 (01:45 +0000)]
Fix external symbol printing in the AsmPrinter. Tell the ISel that we
don't support things like memcpy directly. This allows a handful of the
Shootout programs to work, yay!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20939
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Mar 2005 01:14:38 +0000 (01:14 +0000)]
* Add section for Alpha
* Remove extraneous subsections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Mar 2005 01:10:47 +0000 (01:10 +0000)]
Instead of setting up the CFG edges at selectiondag construction time, set
them up after the code has been emitted. This allows targets to select one
mbb as multiple mbb's as needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Mar 2005 01:10:00 +0000 (01:10 +0000)]
don't depend on the cfg being set up yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20936
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 29 Mar 2005 22:48:55 +0000 (22:48 +0000)]
Fix BranchCC (it's still dumb), and implement FP select (also dumb)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20935
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 29 Mar 2005 22:24:51 +0000 (22:24 +0000)]
Implement integer select and i1 sign extend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20934
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 29 Mar 2005 21:54:38 +0000 (21:54 +0000)]
Implement SetCC, fix ZERO_EXTEND_INREG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 20:36:05 +0000 (20:36 +0000)]
import all of the rest of the stubs that dsa uses for direct comparison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20932
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 29 Mar 2005 20:35:10 +0000 (20:35 +0000)]
Compare dependence analysis with llvm instructions versus machine instrutions. the problem with using machine instructions and alias analysis is that aa does not handle tmp instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20931
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 29 Mar 2005 20:33:42 +0000 (20:33 +0000)]
Dependence analyzer that just determines dependences within a loop for loads and stores using alias analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 20:04:24 +0000 (20:04 +0000)]
learn about some more functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20929
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 29 Mar 2005 19:24:04 +0000 (19:24 +0000)]
Fix up some types and constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 19:16:59 +0000 (19:16 +0000)]
Fix a problem where we not marking incoming arguments to functions with
external linkage as incomplete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 19:09:56 +0000 (19:09 +0000)]
Fix a bug that andrew noticed where we do not correctly sign/zero extend
returned integer values all of the way to 64-bits (we only did it to 32-bits
leaving the top bits undefined). This causes problems for targets like alpha
whose ABI's define the top bits too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 17:44:52 +0000 (17:44 +0000)]
there is no point comparing against null pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 17:21:53 +0000 (17:21 +0000)]
Fix a major problem with global variable initializers. This could cause
us to have stuff pointing to the null pointer, which makes no sense
(the null ptr is an ssa value, not the null object)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 15:13:27 +0000 (15:13 +0000)]
fix a warning in the optimized build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 06:52:20 +0000 (06:52 +0000)]
add some more functions, ignore setcc for constraints!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 06:37:47 +0000 (06:37 +0000)]
disable this transformation in the one obscure case that really pessimizes
pointer analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 06:25:11 +0000 (06:25 +0000)]
there is no reason to run -instcombine -instcombine!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Mar 2005 06:09:07 +0000 (06:09 +0000)]
Handle "known" external calls context sensitively, add support for realloc
and a couple of other functions that are important.
Handle aggregate undef values for gv initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20914
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 29 Mar 2005 00:03:27 +0000 (00:03 +0000)]
Implement div, rem, and frameindex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20907
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 28 Mar 2005 23:08:54 +0000 (23:08 +0000)]
Pattern ISel: fix argument loading for i64s (thanks chris)
Simple ISel: fix i64 subtract
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20903
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 28 Mar 2005 22:28:37 +0000 (22:28 +0000)]
Remove fake instruction 'subc' (mnemonic for subfc).
More pattern isel updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Mar 2005 22:03:13 +0000 (22:03 +0000)]
implement legalization of build_pair for nate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20901
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 28 Mar 2005 20:05:49 +0000 (20:05 +0000)]
First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20900
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 28 Mar 2005 19:36:43 +0000 (19:36 +0000)]
Implement proper loads and zero-extends of all types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20897
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 28 Mar 2005 15:21:43 +0000 (15:21 +0000)]
Emit .global @function and .global @object entries so the Intel ias
assembler may be used; identify LLVM output as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Mar 2005 06:21:17 +0000 (06:21 +0000)]
Teach andersens that non-escaping memory cannot be mod/ref'd by external fn calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20891
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Mar 2005 04:32:12 +0000 (04:32 +0000)]
Fix grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Mar 2005 04:03:52 +0000 (04:03 +0000)]
Make anders-aa much more precise by not being completely pessimistic about
external functions. Teach it about a few important ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20889
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Mon, 28 Mar 2005 02:52:28 +0000 (02:52 +0000)]
Fix VC++ build breakage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20888
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 28 Mar 2005 02:01:12 +0000 (02:01 +0000)]
Rename createPromoteMemoryToRegister() to
createPromoteMemoryToRegisterPass() to be consistent with other pass
creation functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Mar 2005 22:03:46 +0000 (22:03 +0000)]
wrap some long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Mar 2005 21:57:09 +0000 (21:57 +0000)]
remove ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Mar 2005 21:56:55 +0000 (21:56 +0000)]
speed up steens by using spliceFrom, improve its precision by realizing that
an incomplete node cannot alias a complete node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Mar 2005 18:58:23 +0000 (18:58 +0000)]
teach andersens about undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Mar 2005 00:02:33 +0000 (00:02 +0000)]
Don't give up completely, maybe other AA can say something about this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 23:56:33 +0000 (23:56 +0000)]
Factor out percentage printing into its own function. Make two changes to
the function: print more precision XX.X% instead of XX%, and cast to ULL
before scaling by 100/1000 to avoid wrap around for large numbers of queries
(such as occur for 253.perlbmk and 176.gcc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 23:29:03 +0000 (23:29 +0000)]
Cache mapping information for a call site after computing it for a mod/ref
query. If the next mod/ref query happens to be for the same call site
(which is extremely likely), use the cache instead of recomputing the
callee/caller mapping. This makes -aa-eval ***MUCH*** faster with
ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 22:54:46 +0000 (22:54 +0000)]
Remove more long dead code: dsa doesn't provide must alias info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 22:48:42 +0000 (22:48 +0000)]
remove some unsafe code that has long been dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 22:47:03 +0000 (22:47 +0000)]
slightly improve mod/ref for DSAA by checking the globals graph for fallback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 22:43:20 +0000 (22:43 +0000)]
Teach steens-aa two things about mod/ref information:
1. If memory never escapes the program, it cannot be mod/ref'd by external
functions.
2. If memory is global never mod/ref'd in the program, it cannot be mod/ref'd
by any call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Mar 2005 22:16:44 +0000 (22:16 +0000)]
Interchange this loop so that we test all pointers against one call site
before moving on to the next call site. This will be a more efficient way
to compute the mod/ref set for AA implementations like DSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20866
91177308-0d34-0410-b5e6-
96231b3b80d8