oota-llvm.git
14 years agoReplace large swaths of copy-n-paste code with obvious helper function...
Daniel Dunbar [Wed, 15 Jul 2009 12:49:15 +0000 (12:49 +0000)]
Replace large swaths of copy-n-paste code with obvious helper function...
 - Which was already present in the module!

 - I skipped this xform for Alpha, since it runs an extra pass during assembly
   emission, but not when emitting assembly via the DumpAsm flag.

 - No functionality change.

--
ddunbar@giles:llvm$ svn diff | grep '^- ' | sort | uniq -c
  18 -      PM.add(AsmPrinterCtor(ferrs(), *this, true));
  18 -    assert(AsmPrinterCtor && "AsmPrinter was not linked in");
  18 -    if (AsmPrinterCtor)
  18 -  if (DumpAsm) {
  18 -  }
ddunbar@giles:llvm$ svn diff | grep '^+ ' | sort | uniq -c
  18 +    addAssemblyEmitter(PM, OptLevel, true, ferrs());
  18 +  if (DumpAsm)
--

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75782 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove StringConstantPrefix now that the only user
Duncan Sands [Wed, 15 Jul 2009 12:39:48 +0000 (12:39 +0000)]
Remove StringConstantPrefix now that the only user
(llvm-gcc) has gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75781 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoKill off old (TargetMachine level, not Target level) match quality functions.
Daniel Dunbar [Wed, 15 Jul 2009 12:26:05 +0000 (12:26 +0000)]
Kill off old (TargetMachine level, not Target level) match quality functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75780 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix cmake build lib/Target/TargetMachineRegistry.cpp removed.
Xerxes Ranby [Wed, 15 Jul 2009 12:19:36 +0000 (12:19 +0000)]
Fix cmake build lib/Target/TargetMachineRegistry.cpp removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75779 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide TargetMachine implementations with reference to Target they were created
Daniel Dunbar [Wed, 15 Jul 2009 12:11:05 +0000 (12:11 +0000)]
Provide TargetMachine implementations with reference to Target they were created
from.
 - This commit is almost entirely propogating the reference through the
   TargetMachine subclasses' constructor calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75778 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoString constants are now output with private linkage.
Duncan Sands [Wed, 15 Jul 2009 12:09:18 +0000 (12:09 +0000)]
String constants are now output with private linkage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75777 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTweak svn:ignore
Daniel Dunbar [Wed, 15 Jul 2009 11:49:25 +0000 (11:49 +0000)]
Tweak svn:ignore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75775 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoKill off unused TargetMachineRegistry methods and ivars.
Daniel Dunbar [Wed, 15 Jul 2009 11:48:36 +0000 (11:48 +0000)]
Kill off unused TargetMachineRegistry methods and ivars.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75774 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMigrate llc and the JIT to using the TargetRegistry for lookups.
Daniel Dunbar [Wed, 15 Jul 2009 11:36:15 +0000 (11:36 +0000)]
Migrate llc and the JIT to using the TargetRegistry for lookups.
 - They still use the TargetMachineRegistry to populate the contents of the
   -march option (via the listener interface). We can't just populate it in the
   option parser because we can't expect the TargetRegistry to be populated yet
   (we no longer rely on static constructors).

 - There are a couple ways to finish killing off TargetMachineRegistry, but I
   haven't figured out the cleanest one yet...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75773 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInclude the Target& in the TargetMachineRegisterEntry.
Daniel Dunbar [Wed, 15 Jul 2009 11:23:49 +0000 (11:23 +0000)]
Include the Target& in the TargetMachineRegisterEntry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75772 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAllow multiple registrations of the same target.
Daniel Dunbar [Wed, 15 Jul 2009 10:32:44 +0000 (10:32 +0000)]
Allow multiple registrations of the same target.
 - This doesn't necessarily seem like a good idea, but the JIT unittest
   currently relies on it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75769 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInitialize the target info via the InitializeNativeTarget() hook.
Daniel Dunbar [Wed, 15 Jul 2009 10:29:55 +0000 (10:29 +0000)]
Initialize the target info via the InitializeNativeTarget() hook.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75768 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSwitch some obvious clients to using the new TargetRegistry.
Daniel Dunbar [Wed, 15 Jul 2009 10:05:03 +0000 (10:05 +0000)]
Switch some obvious clients to using the new TargetRegistry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75767 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReimplement TargetMachineRegistry in terms of TargetRegistry.
Daniel Dunbar [Wed, 15 Jul 2009 09:53:37 +0000 (09:53 +0000)]
Reimplement TargetMachineRegistry in terms of TargetRegistry.
 - This is a temporary hack to aid in incremental refactoring, for now we
   allocate a new TargetMachineRegistryEntry on every getClosest... call.

 - No intended functionality change, other than the leaked memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75766 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMark Target's creation routines as const.
Daniel Dunbar [Wed, 15 Jul 2009 09:38:10 +0000 (09:38 +0000)]
Mark Target's creation routines as const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75763 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRegister Target's TargetMachine and AsmPrinter in the new registry.
Daniel Dunbar [Wed, 15 Jul 2009 09:22:31 +0000 (09:22 +0000)]
Register Target's TargetMachine and AsmPrinter in the new registry.
 - This abuses TargetMachineRegistry's constructor for now, this will get
   cleaned up in time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75762 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix thinko
Daniel Dunbar [Wed, 15 Jul 2009 08:56:49 +0000 (08:56 +0000)]
Fix thinko

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75760 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTweak svn:ignore
Daniel Dunbar [Wed, 15 Jul 2009 08:20:44 +0000 (08:20 +0000)]
Tweak svn:ignore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75759 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDetect write failures on raw_fd_ostream.
Daniel Dunbar [Wed, 15 Jul 2009 08:11:46 +0000 (08:11 +0000)]
Detect write failures on raw_fd_ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75758 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTweak CMake component lookup, I misunderstood what was happening here.though. :(
Daniel Dunbar [Wed, 15 Jul 2009 07:52:36 +0000 (07:52 +0000)]
Tweak CMake component lookup, I misunderstood what was happening here.though. :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75757 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInclude Target specific Info initialization routine when initializing all
Daniel Dunbar [Wed, 15 Jul 2009 07:48:39 +0000 (07:48 +0000)]
Include Target specific Info initialization routine when initializing all
targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75756 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTeach Makefiles & CMake to link in the <TARGET>Info library when linking the
Daniel Dunbar [Wed, 15 Jul 2009 07:43:34 +0000 (07:43 +0000)]
Teach Makefiles & CMake to link in the <TARGET>Info library when linking the
TARGET component.
 - Also, updated some CMake library dependencies, it is still missing some
   though. :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75755 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix stupid thinko
Daniel Dunbar [Wed, 15 Jul 2009 07:37:49 +0000 (07:37 +0000)]
Fix stupid thinko

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75754 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAddress some review comments on TargetRegistry.
Daniel Dunbar [Wed, 15 Jul 2009 07:09:29 +0000 (07:09 +0000)]
Address some review comments on TargetRegistry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75753 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd TargetInfo directories to CMake's list.
Daniel Dunbar [Wed, 15 Jul 2009 07:04:27 +0000 (07:04 +0000)]
Add TargetInfo directories to CMake's list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75752 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd TargetInfo libraries for all targets.
Daniel Dunbar [Wed, 15 Jul 2009 06:35:19 +0000 (06:35 +0000)]
Add TargetInfo libraries for all targets.
 - Intended to match current TargetMachine implementations.

 - No facilities for linking these in yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75751 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove load / store folding alignment require into the table(s).
Evan Cheng [Wed, 15 Jul 2009 06:10:07 +0000 (06:10 +0000)]
Move load / store folding alignment require into the table(s).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75749 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake file.
Ted Kremenek [Wed, 15 Jul 2009 05:39:55 +0000 (05:39 +0000)]
Update CMake file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75746 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorename decorateName -> DecorateCygMingName, make it assert if not
Chris Lattner [Wed, 15 Jul 2009 04:55:56 +0000 (04:55 +0000)]
rename decorateName -> DecorateCygMingName, make it assert if not
cygming, make the two callers only call it if cygming.  Other minor
cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75744 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoeliminate the Mangler::PreserveAsmNames bit, the sole client of this
Chris Lattner [Wed, 15 Jul 2009 04:50:47 +0000 (04:50 +0000)]
eliminate the Mangler::PreserveAsmNames bit, the sole client of this
can do it perfectly well itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75743 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove printSuffixedName.
Chris Lattner [Wed, 15 Jul 2009 04:42:49 +0000 (04:42 +0000)]
remove printSuffixedName.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75742 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert arm/darwin stubs to use the mangler to synthesize all the names instead of
Chris Lattner [Wed, 15 Jul 2009 04:41:01 +0000 (04:41 +0000)]
convert arm/darwin stubs to use the mangler to synthesize all the names instead of
doing it with printSuffixedName.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75741 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd new TargetRegistry.
Daniel Dunbar [Wed, 15 Jul 2009 04:24:58 +0000 (04:24 +0000)]
Add new TargetRegistry.

Targets implement a single global Target structure which will live in a new
<Target>/TargetInfo library; this will be present in any image which the target
is usable in.
 - Optional target specific classes can then be registered and attached to the
   Target description.

 - Registration for normal Targets will be done via the initialization functions
   instead of using static constructors.

 - This allows clients to use a single interface to obtain target data, without
   requiring the code generator be linked in. It also provides a natural
   extension point for adding new optional target data (assembler parser,
   disassembler, etc.).

 - This also provides a new entry point for obtaining a target for a particular
   triple (without a module).

 - Not yet used, however this should eventually replace the TargetMachineRegistry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75739 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix an arm codegen bug (the same as PR4482 on ppc) where available_externally
Chris Lattner [Wed, 15 Jul 2009 04:12:33 +0000 (04:12 +0000)]
fix an arm codegen bug (the same as PR4482 on ppc) where available_externally
symbols were not getting stubs.  While I'm at it, add a big testcase for
stub generation to make sure I don't break anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75737 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert [Hidden]GVNonLazyPtrs to compute the global and stub names
Chris Lattner [Wed, 15 Jul 2009 03:12:43 +0000 (03:12 +0000)]
convert [Hidden]GVNonLazyPtrs to compute the global and stub names
with the mangler (like x86 and ppc), instead of going through
printSuffixedName.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75736 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agouse makeNameProper to add the globalprefix instead of doing it manually.
Chris Lattner [Wed, 15 Jul 2009 03:01:23 +0000 (03:01 +0000)]
use makeNameProper to add the globalprefix instead of doing it manually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75734 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoget the PPC stub temporary label from the mangler instead of
Chris Lattner [Wed, 15 Jul 2009 02:56:53 +0000 (02:56 +0000)]
get the PPC stub temporary label from the mangler instead of
using horrible string hacking.  This gives us a different label,
but it's just an assembler temporary, so the name doesn't matter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75733 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoturn some if/then's into ?:
Chris Lattner [Wed, 15 Jul 2009 02:36:21 +0000 (02:36 +0000)]
turn some if/then's into ?:

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75732 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoeliminate a bunch of printSuffixedName's by using info computed from
Chris Lattner [Wed, 15 Jul 2009 02:33:19 +0000 (02:33 +0000)]
eliminate a bunch of printSuffixedName's by using info computed from
Mangler in FnStubs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75731 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert FnStubs to using a more structured form, eliminating
Chris Lattner [Wed, 15 Jul 2009 02:28:57 +0000 (02:28 +0000)]
convert FnStubs to using a more structured form, eliminating
a couple instances of printSuffixedName (in favor of having
the mangler do stuff).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75729 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoactually $stub labels *are* private, I just missed that
Chris Lattner [Wed, 15 Jul 2009 01:53:36 +0000 (01:53 +0000)]
actually $stub labels *are* private, I just missed that
printSuffixedName automatically does this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75727 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert this to filecheck style and make it a test of darwin/PPC's
Chris Lattner [Wed, 15 Jul 2009 01:43:31 +0000 (01:43 +0000)]
convert this to filecheck style and make it a test of darwin/PPC's
extremely elaborate pic/nopic stubs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75726 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosimplify this test to test the esentials.
Chris Lattner [Wed, 15 Jul 2009 01:32:33 +0000 (01:32 +0000)]
simplify this test to test the esentials.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75725 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotest commit; add self
Ryan Flynn [Wed, 15 Jul 2009 01:32:31 +0000 (01:32 +0000)]
test commit; add self

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75724 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix indentation.
Dan Gohman [Wed, 15 Jul 2009 01:26:32 +0000 (01:26 +0000)]
Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75723 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake makeLoopInvariant report whether it made any changes or not,
Dan Gohman [Wed, 15 Jul 2009 01:25:43 +0000 (01:25 +0000)]
Make makeLoopInvariant report whether it made any changes or not,
and use this to simplify more code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75722 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago$stub references should not be private ("L") labels.
Chris Lattner [Wed, 15 Jul 2009 01:23:13 +0000 (01:23 +0000)]
$stub references should not be private ("L") labels.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75721 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosimplify "EmitExternalGlobal": it is only used to output a
Chris Lattner [Wed, 15 Jul 2009 01:16:38 +0000 (01:16 +0000)]
simplify "EmitExternalGlobal": it is only used to output a
reference to the personality function for a module, and
those are all added to the GVStubs array by looping
over MMI->getPersonalities()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75720 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConvert GVStubs and HiddenGVStubs to work more like the X86 backend, this
Chris Lattner [Wed, 15 Jul 2009 01:14:44 +0000 (01:14 +0000)]
Convert GVStubs and HiddenGVStubs to work more like the X86 backend, this
eliminates a bunch of uses of "printSuffixedName" and "getGlobalLinkName".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75719 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agominor cleanups: only switch sections once before all function stubs, instead of
Chris Lattner [Wed, 15 Jul 2009 00:55:58 +0000 (00:55 +0000)]
minor cleanups: only switch sections once before all function stubs, instead of
before each one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75718 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm-c/Core.h is no longer needed in lto.h, and it brings in
Dan Gohman [Wed, 15 Jul 2009 00:47:00 +0000 (00:47 +0000)]
llvm-c/Core.h is no longer needed in lto.h, and it brings in
several unwanted dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75717 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a fixme, patch by Ryan Flynn!
Chris Lattner [Wed, 15 Jul 2009 00:36:04 +0000 (00:36 +0000)]
Fix a fixme, patch by Ryan Flynn!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75716 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocontrol reaches end of non-void function.
Evan Cheng [Tue, 14 Jul 2009 23:55:32 +0000 (23:55 +0000)]
control reaches end of non-void function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75714 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded llvm-mc support for parsing the .include directive.
Kevin Enderby [Tue, 14 Jul 2009 23:21:55 +0000 (23:21 +0000)]
Added llvm-mc support for parsing the .include directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agominor syntax cleanup
Chris Lattner [Tue, 14 Jul 2009 23:14:10 +0000 (23:14 +0000)]
minor syntax cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75707 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove EVER MORE stuff over to LLVMContext.
Owen Anderson [Tue, 14 Jul 2009 23:09:55 +0000 (23:09 +0000)]
Move EVER MORE stuff over to LLVMContext.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix path name.
Daniel Dunbar [Tue, 14 Jul 2009 22:58:03 +0000 (22:58 +0000)]
Fix path name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75697 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse the right relocation type for X86::MOV64ri64i32
Bruno Cardoso Lopes [Tue, 14 Jul 2009 21:46:40 +0000 (21:46 +0000)]
Use the right relocation type for X86::MOV64ri64i32

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75687 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix bad indentation and 80-col violation.
Bob Wilson [Tue, 14 Jul 2009 21:45:58 +0000 (21:45 +0000)]
Fix bad indentation and 80-col violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75686 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded llvm-mc support for parsing the .lsym directive.
Kevin Enderby [Tue, 14 Jul 2009 21:35:03 +0000 (21:35 +0000)]
Added llvm-mc support for parsing the .lsym directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75685 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCheck for PRE_INC and POST_INC.
David Goodwin [Tue, 14 Jul 2009 21:29:29 +0000 (21:29 +0000)]
Check for PRE_INC and POST_INC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75683 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the expansion of umax and smax in the case where one or more of
Dan Gohman [Tue, 14 Jul 2009 20:57:04 +0000 (20:57 +0000)]
Fix the expansion of umax and smax in the case where one or more of
the operands have pointer type, so that the resulting type matches
the original SCEV type, and so that unnecessary ptrtoints are
avoided in common cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75680 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a bug in my previous patch.
Chris Lattner [Tue, 14 Jul 2009 20:45:41 +0000 (20:45 +0000)]
fix a bug in my previous patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75678 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake file.
Ted Kremenek [Tue, 14 Jul 2009 20:44:17 +0000 (20:44 +0000)]
Update CMake file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75677 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoallow default construction of formatted_raw_ostream.
Chris Lattner [Tue, 14 Jul 2009 20:33:33 +0000 (20:33 +0000)]
allow default construction of formatted_raw_ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75674 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix David's merge conflict
Chris Lattner [Tue, 14 Jul 2009 20:25:40 +0000 (20:25 +0000)]
fix David's merge conflict

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75673 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoreapply r75408, which eliminates MOV64r0 in favor of using
Chris Lattner [Tue, 14 Jul 2009 20:19:57 +0000 (20:19 +0000)]
reapply r75408, which eliminates MOV64r0 in favor of using
MOV32r0 + subregs to do the same thing.  This should work now
that PR4544 is fixed.  Thanks Evan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75671 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHave asm printers use formatted_raw_ostream directly to avoid a
David Greene [Tue, 14 Jul 2009 20:18:05 +0000 (20:18 +0000)]
Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75670 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHelper script to use bugpoint with a remote target.
Viktor Kutuzov [Tue, 14 Jul 2009 20:08:45 +0000 (20:08 +0000)]
Helper script to use bugpoint with a remote target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75669 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert to filecheck style, simplify RUN line, and add comment.
Chris Lattner [Tue, 14 Jul 2009 19:49:11 +0000 (19:49 +0000)]
convert to filecheck style, simplify RUN line, and add comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75667 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake file.
Ted Kremenek [Tue, 14 Jul 2009 19:46:07 +0000 (19:46 +0000)]
Update CMake file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75666 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix for bugpoint -remote-client
Viktor Kutuzov [Tue, 14 Jul 2009 19:10:55 +0000 (19:10 +0000)]
Fix for bugpoint -remote-client

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75665 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove some dead functions, patch by Ryan Flynn!
Chris Lattner [Tue, 14 Jul 2009 18:58:35 +0000 (18:58 +0000)]
Remove some dead functions, patch by Ryan Flynn!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75664 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoconvert this test to filecheck style
Chris Lattner [Tue, 14 Jul 2009 18:57:40 +0000 (18:57 +0000)]
convert this test to filecheck style

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75663 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a typo that Edwin spotted.
Dan Gohman [Tue, 14 Jul 2009 18:52:00 +0000 (18:52 +0000)]
Fix a typo that Edwin spotted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75661 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agohasThumb2() does not mean we are compiling for thumb, must also check isThumb().
David Goodwin [Tue, 14 Jul 2009 18:48:51 +0000 (18:48 +0000)]
hasThumb2() does not mean we are compiling for thumb, must also check isThumb().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75660 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a comment clarifying the role of getPrimitiveTypeSizeInBits.
Dan Gohman [Tue, 14 Jul 2009 18:48:32 +0000 (18:48 +0000)]
Add a comment clarifying the role of getPrimitiveTypeSizeInBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75659 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove an extra space.
Bob Wilson [Tue, 14 Jul 2009 18:44:34 +0000 (18:44 +0000)]
Remove an extra space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75658 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIntroduce a pointertracking pass.
Torok Edwin [Tue, 14 Jul 2009 18:44:28 +0000 (18:44 +0000)]
Introduce a pointertracking pass.
For now this only computes the allocated size of the memory pointed to by a
pointer, and offset a pointer from allocated pointer.
The actual checkLimits part will come later, after another round of review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75657 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTestcase for PR4556
Chris Lattner [Tue, 14 Jul 2009 18:42:24 +0000 (18:42 +0000)]
Testcase for PR4556

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75655 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMark as fall through.
Bill Wendling [Tue, 14 Jul 2009 18:30:04 +0000 (18:30 +0000)]
Mark as fall through.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75652 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply my previous asmprinter changes now with more testing and two
Chris Lattner [Tue, 14 Jul 2009 18:17:16 +0000 (18:17 +0000)]
Reapply my previous asmprinter changes now with more testing and two
additional bug fixes:

1. The bug that everyone hit was a problem in the asmprinter where it
   would remove $stub but keep the L prefix on a name when emitting the
   indirect symbol.  This is easy to fix by keeping the name of the stub
   and the name of the symbol in a StringMap instead of just keeping a
   StringSet and trying to reconstruct it late.

2. There was a problem printing the personality function.  The current
   logic to print out the personality function from the DWARF information
   is a bit of a cesspool right now that duplicates a bunch of other
   logic in the asm printer.  The short version of it is that it depends
   on emitting both the L and _ prefix for symbols (at least on darwin)
   and until I can untangle it, it is best to switch the mangler back to
   emitting both prefixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75646 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded llvm-mc support for parsing the .desc directive.
Kevin Enderby [Tue, 14 Jul 2009 18:17:10 +0000 (18:17 +0000)]
Added llvm-mc support for parsing the .desc directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75645 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a testcase for a bug fixed by r75634.
Dan Gohman [Tue, 14 Jul 2009 18:15:00 +0000 (18:15 +0000)]
Add a testcase for a bug fixed by r75634.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75644 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLLVM doesn't use libelf. Remove libelf configurey.
Dan Gohman [Tue, 14 Jul 2009 18:06:25 +0000 (18:06 +0000)]
LLVM doesn't use libelf. Remove libelf configurey.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75643 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert 75571; I'm convinced this isn't the right thing to do.
Dale Johannesen [Tue, 14 Jul 2009 17:48:25 +0000 (17:48 +0000)]
Revert 75571; I'm convinced this isn't the right thing to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75642 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
Torok Edwin [Tue, 14 Jul 2009 16:55:14 +0000 (16:55 +0000)]
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r7561{9,8,7,6}, which depend on r75610.
Daniel Dunbar [Tue, 14 Jul 2009 16:25:11 +0000 (16:25 +0000)]
Revert r7561{9,8,7,6}, which depend on r75610.

--- Reverse-merging r75619 into '.':
U    lib/Target/DarwinTargetAsmInfo.cpp
U    lib/CodeGen/AsmPrinter/AsmPrinter.cpp
--- Reverse-merging r75618 into '.':
U    lib/CodeGen/ELFWriter.cpp
U    lib/CodeGen/MachOCodeEmitter.cpp
U    lib/CodeGen/MachOWriter.cpp
--- Reverse-merging r75617 into '.':
U    lib/Target/CBackend/CBackend.cpp
--- Reverse-merging r75616 into '.':
U    tools/bugpoint/Miscompilation.cpp
U    tools/lto/LTOCodeGenerator.cpp
U    tools/lto/LTOModule.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75638 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r75615, which depended on 75610.
Daniel Dunbar [Tue, 14 Jul 2009 16:12:13 +0000 (16:12 +0000)]
Revert r75615, which depended on 75610.

--- Reverse-merging r75615 into '.':
U    lib/Target/XCore/XCoreAsmPrinter.cpp
U    lib/Target/PIC16/PIC16AsmPrinter.cpp
U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
U    lib/Target/MSP430/MSP430AsmPrinter.cpp
U    lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
U    lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U    lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
U    lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
U    lib/Target/MSIL/MSILWriter.cpp
U    lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
U    lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75637 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r75610 (and r75620, which was blocking the revert), in the hopes of
Daniel Dunbar [Tue, 14 Jul 2009 15:57:55 +0000 (15:57 +0000)]
Revert r75610 (and r75620, which was blocking the revert), in the hopes of
unbreaking llvm-gcc (on Darwin).

--- Reverse-merging r75620 into '.':
U    include/llvm/Support/Mangler.h
--- Reverse-merging r75610 into '.':
U    test/CodeGen/X86/loop-hoist.ll
G    include/llvm/Support/Mangler.h
U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
U    lib/VMCore/Mangler.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75636 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake SCEVCallbackVH::allUsesReplacedWith more thorough in removing
Dan Gohman [Tue, 14 Jul 2009 14:34:04 +0000 (14:34 +0000)]
Make SCEVCallbackVH::allUsesReplacedWith more thorough in removing
users from the Scalars map.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75634 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRequire IVUsers after LCSSA, since LCSSA does not preserve IVUsers.
Dan Gohman [Tue, 14 Jul 2009 14:26:23 +0000 (14:26 +0000)]
Require IVUsers after LCSSA, since LCSSA does not preserve IVUsers.
This results in the pass manager running IVUsers only once for
indvars, instead of twice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75633 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a comment about why ScalarEvolution doesn't recognize non-loop PHIs
Dan Gohman [Tue, 14 Jul 2009 14:06:25 +0000 (14:06 +0000)]
Add a comment about why ScalarEvolution doesn't recognize non-loop PHIs
even when they're obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75632 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAfter converting assert(0) to LLVM_UNREACHABLE we lost file/line location.
Torok Edwin [Tue, 14 Jul 2009 12:49:22 +0000 (12:49 +0000)]
After converting assert(0) to LLVM_UNREACHABLE we lost file/line location.
Fix by making the LLVM_UNREACHABLE pass __FILE__ and __LINE__ to
llvm_unreachable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75631 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoeliminate extra space.
Torok Edwin [Tue, 14 Jul 2009 12:22:58 +0000 (12:22 +0000)]
eliminate extra space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75630 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd extra sign extension to the same bit width before int sign
Anton Korobeynikov [Tue, 14 Jul 2009 09:53:14 +0000 (09:53 +0000)]
Add extra sign extension to the same bit width before int sign
extension to another bit width. This is needed to get correct singed value.
Patch by Artur Pietrek!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75629 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missing break. Patch by Artur Pietrek!
Anton Korobeynikov [Tue, 14 Jul 2009 09:52:47 +0000 (09:52 +0000)]
Add missing break. Patch by Artur Pietrek!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75628 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove main llvm-prof functionality into a ModulePass.
Daniel Dunbar [Tue, 14 Jul 2009 07:41:11 +0000 (07:41 +0000)]
Move main llvm-prof functionality into a ModulePass.
 - To support using the ProfileInfo analysis results instead of accessing the
   ProfileInfoLoader directly.

 - Based on (part of) a patch by Andreas Neustifter.

 - No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75625 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProfileInfo interface tweaks.
Daniel Dunbar [Tue, 14 Jul 2009 06:58:59 +0000 (06:58 +0000)]
ProfileInfo interface tweaks.
 - Add getExecutionCount(const Function).

 - Add helper Edge type.

 - constify.

 - No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75623 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse http instead https for anonymous readonly check out.
Evan Cheng [Tue, 14 Jul 2009 06:23:41 +0000 (06:23 +0000)]
Use http instead https for anonymous readonly check out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75621 91177308-0d34-0410-b5e6-96231b3b80d8