Commit Graph

34041 Commits

Author SHA1 Message Date
Devang Patel
6899b31422 Add BasicInliner interface.
This interface allows clients to inline bunch of functions with module
level call graph information.:wq



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40486 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 18:00:25 +00:00
Chris Lattner
b4d2cac15b test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40484 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 06:15:23 +00:00
Nick Lewycky
e2b905232f Fix debug info and globals filled with zeros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40483 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 03:48:45 +00:00
Anton Korobeynikov
59db3ec935 Minor cleanup:
- Split EH and debug infiormation
 - Make DwarfWriter more verbose in some cases


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40481 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 00:06:28 +00:00
Dan Gohman
dc9b3d0bb5 Add const to CanBeFoldedBy, CheckAndMask, and CheckOrMask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40480 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 23:00:27 +00:00
Dan Gohman
a6a1ab3d28 A minor simplication in the generated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40479 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 22:58:00 +00:00
Dan Gohman
a394117bc0 Use movaps to load a v4f32 build_vector of all-constant values into a
register instead of loading each element individually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 22:55:08 +00:00
Owen Anderson
4beedbd006 Add initial support for non-local memory dependence analysis.
NOTE: This has only been cursorily tested.  Expected improvements soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 21:52:37 +00:00
Owen Anderson
bf31b85ea2 Make the copy constructor of SmallPtrSet much faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 21:31:23 +00:00
Anton Korobeynikov
d97b8cd38c Heal EH handling stuff by emitting correct offsets to callee-saved registers.
Pretty hackish, but code itself is dirty mess, so we won't make anything worse. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40472 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 21:07:39 +00:00
Owen Anderson
1ad2cb7555 Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 17:55:58 +00:00
Reid Spencer
bb862c042f Make output match actual condition tested. Thanks, Duncan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 14:35:44 +00:00
Devang Patel
62e279bbdb Unreachable block is not a root node in post dominator tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 01:02:25 +00:00
Owen Anderson
a7f98e2919 Rename a lot of things to change FastDLE to RedundantLoadElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40457 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 00:17:04 +00:00
Owen Anderson
e2a1624da3 Rename FastDLE as RedundantLoadElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 00:08:38 +00:00
Reid Spencer
d6b42b21eb 1. Make sure we print the Function Value for parameter attribute errors
2. Fold an if statement into the Assert1 macro call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40455 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 23:46:43 +00:00
Reid Spencer
552d6405bf Add better verification of attributes on function types. It is not permitted
to use sret or inreg on the function. It is equally illegal to use noreturn
or nounwind on a parameter; they only go with the function. This patch
enforces these rules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40453 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 23:09:55 +00:00
Chandler Carruth
f99f3f4944 Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:42:15 +00:00
Owen Anderson
f309070ca4 Add testcases for FastDLE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:18:05 +00:00
Owen Anderson
6b8894bb67 Don't delete volatile loads. Doing so is not safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:05:54 +00:00
Owen Anderson
fb80b6e056 Forgot to commit this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40447 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:00:03 +00:00
Owen Anderson
48a19fb884 Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40446 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 21:51:37 +00:00
Owen Anderson
ffe40aa97d Add FastDLE, the load-elimination counterpart of FastDSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40445 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 21:48:08 +00:00
Owen Anderson
33d137f90a Move these tests to use FastDSE instead of old DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 20:49:13 +00:00
Dan Gohman
275769a77a Fix some uses of dyn_cast to be uses of cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40443 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 20:24:29 +00:00
Dan Gohman
63491b2e15 Delete the svn:executable property on these files, which aren't executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40441 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 19:26:08 +00:00
Owen Anderson
d989711844 Fix file header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40440 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 18:30:37 +00:00
Chris Lattner
410ce1c49a completely remove a transformation that is unsafe in the face of
undefs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 17:10:17 +00:00
Duncan Sands
6c7ada4c58 The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 15:23:35 +00:00
Duncan Sands
1b4b25696b For multipart tests, place the parts with no
RUN line in Support.  Give up on sending output
to /dev/null - this cannot always be arranged.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 13:41:53 +00:00
Reid Spencer
491a6cd8b4 Restore ability to build archives (oops)
Fix -include line so it doesn't reference /dev/null


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40429 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 08:20:46 +00:00
Reid Spencer
87b891911b Remove bizarre use of /dev/null in a makefile include line that
produces warning from make about bad timestamp on /dev/null

Patch by Holger Schurig.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40426 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 08:09:15 +00:00
Bill Wendling
d4fb79364f Fix some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 04:44:02 +00:00
Bill Wendling
462fc8aa8f Converted to "svn" and reformatted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 04:41:42 +00:00
Reid Spencer
0a4c8de81c Remove dead option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40415 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 04:23:32 +00:00
Bill Wendling
0dafa8d086 Small change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40413 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 03:56:42 +00:00
Bill Wendling
ccef69d781 Point to the correct SVN repository.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 03:56:11 +00:00
Bill Wendling
6a20cf0776 Add missing SSE builtins:
__builtin_ia32_cvtss2si64
    __builtin_ia32_cvttss2si64
    __builtin_ia32_cvtsi642ss
    __builtin_ia32_cvtsd2si64
    __builtin_ia32_cvttsd2si64
    __builtin_ia32_cvtsi642sd


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 03:07:27 +00:00
Reid Spencer
858dd546bb Report an error if one occurs in releaseModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22 21:39:37 +00:00
Chris Lattner
c6402013c8 Disable the string map copy ctor and assignment operators,
they don't do the right thing.  

Implement StringMap::erase.

Fix a nasty bug in the default ctor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22 20:08:01 +00:00
Duncan Sands
53929871fb Remove -O1 in favour of making llvm-gcc-4.2 a bit
smarter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22 10:25:44 +00:00
Chris Lattner
e29459e3b5 This xform isn't safe, removing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21 21:27:27 +00:00
Reid Spencer
5cd2aab230 Update for changes in library.sh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21 09:33:41 +00:00
Devang Patel
00ae1a2f02 Apply temporary work around to fix llvm mis-compilation
reported in PR 1556.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40133 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21 00:34:29 +00:00
Evan Cheng
ffbaccae02 No more noResults.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21 00:34:19 +00:00
Dan Gohman
c674a924d4 Don't assume that only Uses can be kills. Defs are marked as kills initially
when there are no uses. This fixes a dangling-pointer bug, where pointers to
deleted instructions were not removed from kills lists. More info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40131 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 23:17:34 +00:00
Dan Gohman
b1d1f7a035 Simplify the logic for setVolatile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40130 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 23:14:50 +00:00
Duncan Sands
3e54953c5f Need -O1 or better to have these builtins lowered to
llvm intrinsics in llvm-gcc-4.2.  This is because
get_pointer_alignment bails out: it relies on TER
to compute accurate alignment information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40128 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 22:39:06 +00:00
Chris Lattner
d2f09965e6 zext(undef) = 0 and sext(undef) = 0, not undef.
This hopefully fixes a miscompilation of TargetData.cpp when self hosting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40125 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 22:09:02 +00:00
Chris Lattner
3ccc6bc61c this xform is already done by the constant folder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40124 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 22:06:41 +00:00