llvm-6502/test
Chris Lattner dbab4dc942 implement a nice little efficiency hack in the inliner. Since we're now
running IPSCCP early, and we run functionattrs interlaced with the inliner,
we often (particularly for small or noop functions) completely propagate
all of the information about a call to its call site in IPSSCP (making a call
dead) and functionattrs is smart enough to realize that the function is
readonly (because it is interlaced with inliner).

To improve compile time and make the inliner threshold more accurate, realize
that we don't have to inline dead readonly function calls.  Instead, just 
delete the call.  This happens all the time for C++ codes, here are some
counters from opt/llvm-ld counting the number of times calls were deleted vs
inlined on various apps:

Tramp3d opt:
  5033 inline                - Number of call sites deleted, not inlined
 24596 inline                - Number of functions inlined
llvm-ld:
  667 inline           - Number of functions deleted because all callers found
  699 inline           - Number of functions inlined

483.xalancbmk opt:
  8096 inline                - Number of call sites deleted, not inlined
 62528 inline                - Number of functions inlined
llvm-ld:
   217 inline           - Number of allocas merged together
  2158 inline           - Number of functions inlined

471.omnetpp:
  331 inline                - Number of call sites deleted, not inlined
 8981 inline                - Number of functions inlined
llvm-ld:
  171 inline           - Number of functions deleted because all callers found
  629 inline           - Number of functions inlined


Deleting a call is much faster than inlining it, and is insensitive to the
size of the callee. :)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12 07:56:08 +00:00
..
Analysis Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size 2009-11-10 08:32:25 +00:00
Archive Merge Archive/extract* tests into one; this avoids a race when tests are run in 2009-09-08 23:44:24 +00:00
Assembler Adjust testcases for msasm -> alignstack. 2009-10-21 23:29:12 +00:00
Bindings/Ocaml Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed, 2009-10-17 23:52:26 +00:00
Bitcode Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
BugPoint Use -output-prefix in bugpoint tests so that outputs go in temp directory (and 2009-09-07 19:26:18 +00:00
CodeGen RegScavenger::enterBasicBlock should always reset register state. 2009-11-12 07:49:10 +00:00
DebugInfo Add missing run line. Devang, please check. 2009-11-11 03:10:03 +00:00
ExecutionEngine Remove test. Execution tests are slow and generally not worth it. 2009-11-08 02:23:15 +00:00
Feature add bitcode reader support for blockaddress. We can now fully 2009-10-28 05:53:48 +00:00
FrontendAda Check that accessing a struct field that occurs before the start 2009-10-22 12:53:25 +00:00
FrontendC Use ',' separation in XFAILs, lit doesn't evaluate them as regexs (easy to add, 2009-11-09 16:38:15 +00:00
FrontendC++ Reenable StackTracke.cpp test. 2009-11-11 19:08:42 +00:00
FrontendFortran
FrontendObjC These tests now pass. 2009-10-13 20:45:18 +00:00
FrontendObjC++
Integer Eliminate some Tclisms. 2009-09-05 11:34:46 +00:00
lib tests: Add llvm_supports_binding predicate. 2009-09-13 01:41:18 +00:00
Linker When a constant's type is refined, update the constant in place 2009-09-15 15:58:07 +00:00
LLVMC Cleanup some unused RUN lines. 2009-11-08 09:07:42 +00:00
MC Force triple in tests. 2009-10-16 16:30:02 +00:00
Other Update these tests to match what Loop::print now prints. 2009-10-24 23:52:07 +00:00
Scripts Teach macho-dump to dump UUIDs. 2009-10-24 20:32:36 +00:00
TableGen
Transforms implement a nice little efficiency hack in the inliner. Since we're now 2009-11-12 07:56:08 +00:00
Unit Switch to using 'lit.site.cfg.in' for the site config template for Unit tests, 2009-11-08 09:07:51 +00:00
Verifier Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
CMakeLists.txt Two small fixes for site.exp for cmake. 2009-11-08 09:29:52 +00:00
lit.cfg Derive the right paths to use during testing instead of passing it in via make. 2009-11-08 09:08:00 +00:00
lit.site.cfg.in Generate lit.site.cfg from a .in file, as clang does. 2009-09-22 07:38:33 +00:00
Makefile Two small fixes for site.exp for cmake. 2009-11-08 09:29:52 +00:00
Makefile.tests Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
site.exp.in Two small fixes for site.exp for cmake. 2009-11-08 09:29:52 +00:00
TestRunner.sh