1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
Commit Graph

9105 Commits

Author SHA1 Message Date
Daniel Dunbar
a567c0f537 Switch llc and createJIT to use simpler command line parsing for -march.
llvm-svn: 75890
2009-07-16 02:23:53 +00:00
Daniel Dunbar
ffc135d4d5 Add registered target list to --version output.
llvm-svn: 75889
2009-07-16 02:06:09 +00:00
Dan Gohman
9b099cf51b formatted_raw_ostream both is-a raw_ostream and has-a raw_ostream. This
means that two separate raw_ostreams are doing buffering before data is
sent to the underlying stream. Besides the inefficiency of redundant
buffering, the second level of buffering doesn't recieve flush()
requests.

Fix this by having formatted_raw_ostream set the underlying raw_ostream
to be unbuffered. This eliminates inefficiency due to redundant buffering,
and it makes the flush() disconnect harmless.

This fixes PR4559.

llvm-svn: 75883
2009-07-16 01:32:46 +00:00
Daniel Dunbar
4ff7d8f6c9 Add explicit comment that clients can call target initialization functions
multiple times.

llvm-svn: 75880
2009-07-16 01:13:00 +00:00
Owen Anderson
4483fbda5e Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst.
llvm-svn: 75863
2009-07-15 23:53:25 +00:00
Daniel Dunbar
4771afe104 Lift addAssemblyEmitter into LLVMTargetMachine.
- No functionality change.

llvm-svn: 75859
2009-07-15 23:34:19 +00:00
Dan Gohman
f01e53a482 Change raw_ostream so that it doesn't call llvm_report_error
immediately on every output error. Instead, add a flag to
raw_ostream, and set the flag whenever an error is detected.

The flag can be queried and cleared from the public API. This
gives applications more flexibility to handling errors in
application-specific ways.

If the flag is not cleared when the raw_ostream is destructed,
llvm_report_error is called from the destructor. This ensures
that errors are not implicitly silenced, and provides
convenient default behavior for tools like llc and opt.
Clients wishing to avoid llvm_report_error calls from
raw_ostream should check for errors and clear the error flag.

llvm-svn: 75857
2009-07-15 23:25:33 +00:00
Owen Anderson
22961edd91 Add an LLVMContext to Type, hardwired to the global context until Type uniquing is moved on the contexts themselves.
llvm-svn: 75853
2009-07-15 22:50:23 +00:00
Bob Wilson
fb88d3e6d9 Clean up some comments.
llvm-svn: 75851
2009-07-15 22:43:51 +00:00
Daniel Dunbar
d85e8b6334 Lift DumpAsm / -print-emitted-asm functionality into LLVMTargetMachine.
- No intended functionality change.

llvm-svn: 75848
2009-07-15 22:33:19 +00:00
Chris Lattner
c1f620597b Update the C bindings to keep the LLVMTypeKind up to date between the C/C++
stuff.  Patch by Zoltan Varga!

llvm-svn: 75842
2009-07-15 22:00:31 +00:00
Daniel Dunbar
2554dd4f1e Remove mismatched and unnecessary declaration.
llvm-svn: 75841
2009-07-15 21:52:40 +00:00
Owen Anderson
13080d27c5 Move a few more convenience factory functions from Constant to LLVMContext.
llvm-svn: 75840
2009-07-15 21:51:10 +00:00
Owen Anderson
0171f6bc65 Move the ConstantStruct factory methods over to LLVMContext.
llvm-svn: 75830
2009-07-15 21:00:46 +00:00
Daniel Dunbar
5707dd7f73 Reapply TargetRegistry refactoring commits.
--- Reverse-merging r75799 into '.':
 U   test/Analysis/PointerTracking
U    include/llvm/Target/TargetMachineRegistry.h
U    include/llvm/Target/TargetMachine.h
U    include/llvm/Target/TargetRegistry.h
U    include/llvm/Target/TargetSelect.h
U    tools/lto/LTOCodeGenerator.cpp
U    tools/lto/LTOModule.cpp
U    tools/llc/llc.cpp
U    lib/Target/PowerPC/PPCTargetMachine.h
U    lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
U    lib/Target/PowerPC/PPCTargetMachine.cpp
U    lib/Target/PowerPC/PPC.h
U    lib/Target/ARM/ARMTargetMachine.cpp
U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
U    lib/Target/ARM/ARMTargetMachine.h
U    lib/Target/ARM/ARM.h
U    lib/Target/XCore/XCoreTargetMachine.cpp
U    lib/Target/XCore/XCoreTargetMachine.h
U    lib/Target/PIC16/PIC16TargetMachine.cpp
U    lib/Target/PIC16/PIC16TargetMachine.h
U    lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
U    lib/Target/Alpha/AlphaTargetMachine.cpp
U    lib/Target/Alpha/AlphaTargetMachine.h
U    lib/Target/X86/X86TargetMachine.h
U    lib/Target/X86/X86.h
U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
U    lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
U    lib/Target/X86/X86TargetMachine.cpp
U    lib/Target/MSP430/MSP430TargetMachine.cpp
U    lib/Target/MSP430/MSP430TargetMachine.h
U    lib/Target/CppBackend/CPPTargetMachine.h
U    lib/Target/CppBackend/CPPBackend.cpp
U    lib/Target/CBackend/CTargetMachine.h
U    lib/Target/CBackend/CBackend.cpp
U    lib/Target/TargetMachine.cpp
U    lib/Target/IA64/IA64TargetMachine.cpp
U    lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
U    lib/Target/IA64/IA64TargetMachine.h
U    lib/Target/IA64/IA64.h
U    lib/Target/MSIL/MSILWriter.cpp
U    lib/Target/CellSPU/SPUTargetMachine.h
U    lib/Target/CellSPU/SPU.h
U    lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
U    lib/Target/CellSPU/SPUTargetMachine.cpp
U    lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
U    lib/Target/Mips/MipsTargetMachine.cpp
U    lib/Target/Mips/MipsTargetMachine.h
U    lib/Target/Mips/Mips.h
U    lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
U    lib/Target/Sparc/SparcTargetMachine.cpp
U    lib/Target/Sparc/SparcTargetMachine.h
U    lib/ExecutionEngine/JIT/TargetSelect.cpp
U    lib/Support/TargetRegistry.cpp

llvm-svn: 75820
2009-07-15 20:24:03 +00:00
David Greene
25d5e84d11 Get rid of postInstructionAction and call EmitComments directly.
llvm-svn: 75806
2009-07-15 18:24:03 +00:00
Dan Gohman
9a193635a4 Fix a typo in a comment that Duncan noticed.
llvm-svn: 75804
2009-07-15 17:38:23 +00:00
Dan Gohman
2224e8e16a Fix a thinko in a comment that Duncan spotted.
llvm-svn: 75803
2009-07-15 17:34:43 +00:00
Dan Gohman
9ced780576 Add a Force option to raw_fd_ostream to specify whether opening
an existing file is considered an error. Convert several tools
to use raw_fd_ostream instead of std::ostream, and to use this
new option instead of doing a manual check.

llvm-svn: 75801
2009-07-15 17:29:42 +00:00
Stuart Hastings
ef732a2bea Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to repair broken LLVM-GCC build.
Will revert 75770 in the llvm-gcc trunk.

llvm-svn: 75799
2009-07-15 17:27:11 +00:00
Dan Gohman
5ed272db87 Add a raw_ostream version of CheckBitcodeOutputToConsole.
llvm-svn: 75796
2009-07-15 17:04:50 +00:00
Dan Gohman
9f95a90619 Add a comment noting that raw_os_ostream does not check for errors.
llvm-svn: 75794
2009-07-15 16:45:52 +00:00
Dan Gohman
69766f9ade Add a raw_ostream operator<< to sys::Path.
llvm-svn: 75790
2009-07-15 16:33:33 +00:00
Kevin Enderby
312f8559cb Added llvm-mc support for parsing the .dump and .load directives.
llvm-svn: 75786
2009-07-15 15:30:11 +00:00
Duncan Sands
202efbec51 Remove the v3i32 and v3f32 value types: they are not
native for any supported targets.

llvm-svn: 75785
2009-07-15 15:28:52 +00:00
Duncan Sands
765b981647 Remove StringConstantPrefix now that the only user
(llvm-gcc) has gone.

llvm-svn: 75781
2009-07-15 12:39:48 +00:00
Daniel Dunbar
2b67b4ab9f Kill off old (TargetMachine level, not Target level) match quality functions.
llvm-svn: 75780
2009-07-15 12:26:05 +00:00
Daniel Dunbar
51b81c9930 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.

llvm-svn: 75778
2009-07-15 12:11:05 +00:00
Daniel Dunbar
590904c36b Kill off unused TargetMachineRegistry methods and ivars.
llvm-svn: 75774
2009-07-15 11:48:36 +00:00
Daniel Dunbar
1d5b4e20c9 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...

llvm-svn: 75773
2009-07-15 11:36:15 +00:00
Daniel Dunbar
25ad58480b Include the Target& in the TargetMachineRegisterEntry.
llvm-svn: 75772
2009-07-15 11:23:49 +00:00
Daniel Dunbar
f69bd722c3 Allow multiple registrations of the same target.
- This doesn't necessarily seem like a good idea, but the JIT unittest
   currently relies on it.

llvm-svn: 75769
2009-07-15 10:32:44 +00:00
Daniel Dunbar
14503ce849 Initialize the target info via the InitializeNativeTarget() hook.
llvm-svn: 75768
2009-07-15 10:29:55 +00:00
Daniel Dunbar
61ce410af9 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.

llvm-svn: 75766
2009-07-15 09:53:37 +00:00
Daniel Dunbar
79a15cde61 Mark Target's creation routines as const.
llvm-svn: 75763
2009-07-15 09:38:10 +00:00
Daniel Dunbar
a2af870bd7 Register Target's TargetMachine and AsmPrinter in the new registry.
- This abuses TargetMachineRegistry's constructor for now, this will get
   cleaned up in time.

llvm-svn: 75762
2009-07-15 09:22:31 +00:00
Daniel Dunbar
0e528c0005 Fix thinko
llvm-svn: 75760
2009-07-15 08:56:49 +00:00
Daniel Dunbar
f62be62588 Include Target specific Info initialization routine when initializing all
targets.

llvm-svn: 75756
2009-07-15 07:48:39 +00:00
Daniel Dunbar
18e781dae6 Address some review comments on TargetRegistry.
llvm-svn: 75753
2009-07-15 07:09:29 +00:00
Chris Lattner
48e30f6d1f eliminate the Mangler::PreserveAsmNames bit, the sole client of this
can do it perfectly well itself.

llvm-svn: 75743
2009-07-15 04:50:47 +00:00
Chris Lattner
ac3968ea1d remove printSuffixedName.
llvm-svn: 75742
2009-07-15 04:42:49 +00:00
Daniel Dunbar
cc2e2f1506 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.

llvm-svn: 75739
2009-07-15 04:24:58 +00:00
Dan Gohman
81885d5b80 Make makeLoopInvariant report whether it made any changes or not,
and use this to simplify more code.

llvm-svn: 75722
2009-07-15 01:25:43 +00:00
Dan Gohman
1e946cc1a7 llvm-c/Core.h is no longer needed in lto.h, and it brings in
several unwanted dependencies.

llvm-svn: 75717
2009-07-15 00:47:00 +00:00
Chris Lattner
32757b2838 Fix a fixme, patch by Ryan Flynn!
llvm-svn: 75716
2009-07-15 00:36:04 +00:00
Kevin Enderby
3e47cf1dda Added llvm-mc support for parsing the .include directive.
llvm-svn: 75711
2009-07-14 23:21:55 +00:00
Owen Anderson
8c85061ee6 Move EVER MORE stuff over to LLVMContext.
llvm-svn: 75703
2009-07-14 23:09:55 +00:00
Kevin Enderby
5821cee99b Added llvm-mc support for parsing the .lsym directive.
llvm-svn: 75685
2009-07-14 21:35:03 +00:00
Chris Lattner
5a0869d540 fix a bug in my previous patch.
llvm-svn: 75678
2009-07-14 20:45:41 +00:00
Chris Lattner
fed67048dc allow default construction of formatted_raw_ostream.
llvm-svn: 75674
2009-07-14 20:33:33 +00:00
David Greene
9c8a1b9b90 Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.

llvm-svn: 75670
2009-07-14 20:18:05 +00:00
Chris Lattner
a62bc404fd Remove some dead functions, patch by Ryan Flynn!
llvm-svn: 75664
2009-07-14 18:58:35 +00:00
Dan Gohman
07b00e1036 Fix a typo that Edwin spotted.
llvm-svn: 75661
2009-07-14 18:52:00 +00:00
Dan Gohman
9b44481454 Add a comment clarifying the role of getPrimitiveTypeSizeInBits.
llvm-svn: 75659
2009-07-14 18:48:32 +00:00
Torok Edwin
bbccd95874 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.

llvm-svn: 75657
2009-07-14 18:44:28 +00:00
Chris Lattner
6ec578688d 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.

llvm-svn: 75646
2009-07-14 18:17:16 +00:00
Kevin Enderby
0b1331c43b Added llvm-mc support for parsing the .desc directive.
llvm-svn: 75645
2009-07-14 18:17:10 +00:00
Dan Gohman
4ce1ac82f7 LLVM doesn't use libelf. Remove libelf configurey.
llvm-svn: 75643
2009-07-14 18:06:25 +00:00
Torok Edwin
f955a6ef49 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").

llvm-svn: 75640
2009-07-14 16:55:14 +00:00
Daniel Dunbar
3d0c94fbbc 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

llvm-svn: 75636
2009-07-14 15:57:55 +00:00
Torok Edwin
e5683aabc1 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.

llvm-svn: 75631
2009-07-14 12:49:22 +00:00
Daniel Dunbar
21b7f85dc3 ProfileInfo interface tweaks.
- Add getExecutionCount(const Function).

 - Add helper Edge type.

 - constify.

 - No functionality change.

llvm-svn: 75623
2009-07-14 06:58:59 +00:00
Chris Lattner
492f8619a2 remove renamed method.
llvm-svn: 75620
2009-07-14 06:22:15 +00:00
Bob Wilson
c6cae712d9 Remove some tabs and fix other whitespace. No functional changes.
llvm-svn: 75613
2009-07-14 06:11:12 +00:00
Bob Wilson
f37517af8c Fix a comment.
llvm-svn: 75612
2009-07-14 06:09:50 +00:00
Chris Lattner
b0e0d16efb Change the X86 asmprinter to use the mangler to apply suffixes like "$non_lazy_ptr"
to symbols instead of doing it with "printSuffixedName".  This gets us to the point
where there is a real separation between computing a symbol name and printing it,
something I need for MC printer stuff.

This patch also fixes a corner case bug where unnamed private globals wouldn't get
the private label prefix.

Next up, rename all uses of getValueName -> getMangledName for better greppability,
and then tackle the ppc/arm backends to eliminate "printSuffixedName".

llvm-svn: 75610
2009-07-14 06:04:35 +00:00
Lang Hames
7238ca2267 New VNInfo alignment patch by Ryan Flynn.
llvm-svn: 75609
2009-07-14 05:46:55 +00:00
Chris Lattner
2a6bb9bc51 Change the internal interface to makeNameProper to take a bool that
indicates whether the label is private or not, instead of taking
prefix stuff.  One effect of this is that symbols will be generated
with *just* the private prefix, instead of both the private prefix
*and* the user-label-prefix, but this doesn't matter as long as it
is consistent.  For example we'll now get "Lfoo" instead of "L_foo".
These are just assembler temporary labels anyway, so they never even
make it into the .o file.

llvm-svn: 75607
2009-07-14 04:50:12 +00:00
Lang Hames
19644baf4c Unbroke LiveInterval.
llvm-svn: 75588
2009-07-14 02:17:17 +00:00
Lang Hames
2600777dac Tidy up VNInfo alignment code. Patch contributed by Ryan Flynn.
llvm-svn: 75587
2009-07-14 02:05:37 +00:00
Dan Gohman
80062e52e0 Introduce a new LoopInfo utility function makeLoopInvariant, which
works similar to isLoopInvariant, except that it will do trivial
hoisting to try to make the value loop invariant if it isn't already.
This makes it easier for transformation passes to clear trivial
instructions out of the way (the regular LICM pass doesn't run
until relatively late). This is code factored out of LoopSimplify
and other places.

llvm-svn: 75578
2009-07-14 01:06:29 +00:00
Devang Patel
4992f3bed3 Do not use Mangler to remove '1' from linkage name.
llvm-svn: 75574
2009-07-14 00:55:28 +00:00
Bob Wilson
cb91024983 Revert 75308.
llvm-svn: 75565
2009-07-14 00:16:03 +00:00
Eli Friedman
88f1b31a57 Fix obvious typo.
llvm-svn: 75563
2009-07-14 00:09:42 +00:00
Chris Lattner
6460e403a7 rename Memo/Count to AnonGlobalIDs/NextAnonGlobalID to be more
descriptive.  Thange them to keep track of the ID of a global that is
assigned, not the first mangled name returned for it.  Without doing this,
we are required to always use the same suffix for a global that gets 
mangled.  This means that we can mangle the same global once with $stub
and another time with $non_lazy_ptr or whatever.

llvm-svn: 75561
2009-07-14 00:01:06 +00:00
Owen Anderson
1404d6e7d1 Move more functionality over to LLVMContext.
llvm-svn: 75559
2009-07-13 23:50:59 +00:00
Chris Lattner
1b09927043 remove Mangler::getTypeID and related data, it was only used for mangling
local symbols and we haven't had type planes since llvm 1.9.

llvm-svn: 75558
2009-07-13 23:50:53 +00:00
Chris Lattner
4ea397f845 remove mangler support for mangling local names. Mangler should only be
used with globals.

llvm-svn: 75557
2009-07-13 23:47:27 +00:00
Owen Anderson
9ff3b6191e Move a bit more functionality to LLVMContext, which apparently wasn't being used anyways.
llvm-svn: 75546
2009-07-13 23:16:26 +00:00
Kevin Enderby
af095fcfb8 Added llvm-mc support for parsing the .abort directive.
llvm-svn: 75545
2009-07-13 23:15:14 +00:00
Dan Gohman
8e93bc202e Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.
llvm-svn: 75529
2009-07-13 22:19:41 +00:00
Owen Anderson
3501454313 These don't really need contexts either.
llvm-svn: 75528
2009-07-13 22:18:28 +00:00
Dan Gohman
9a7df22e10 Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable,
and related functions out of LoopBase and into Loop, since they
are specific to BasicBlock-based loops. This also allows the code
to be moved out-of-line.

llvm-svn: 75523
2009-07-13 22:02:44 +00:00
Dan Gohman
f6caa6f1e3 Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
using the Curiously Recurring Template Pattern with LoopBase.

This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.

llvm-svn: 75519
2009-07-13 21:51:15 +00:00
Devang Patel
af27c5b2bd Use AsmPrinter's Mangler to remove leading '1' from linkage names.
llvm-svn: 75515
2009-07-13 21:48:26 +00:00
Dan Gohman
a9953c0a28 Reapply 75252, with a fix to avoid the infinite recursion case. The
check for avoiding re-analyzing a widening cast needed to happen
earlier, as getSCEV itself may result in a isLoopGuardedByCond query.

llvm-svn: 75511
2009-07-13 21:35:55 +00:00
Owen Anderson
7b2ee7dc21 As Chris pointed out, this doesn't actually need an LLVMContext to operate.
llvm-svn: 75508
2009-07-13 21:27:19 +00:00
Kevin Enderby
a461788d6a add llvm-mc support for parsing the .subsections_via_symbols directive.
llvm-svn: 75500
2009-07-13 21:03:15 +00:00
Owen Anderson
1e5155161a Move more functionality over to LLVMContext.
llvm-svn: 75497
2009-07-13 20:58:05 +00:00
Dan Gohman
bf3719359b Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.

llvm-svn: 75494
2009-07-13 20:50:19 +00:00
Dan Gohman
19222a6572 Delete a spurious const.
llvm-svn: 75493
2009-07-13 20:46:11 +00:00
David Greene
814f6a648f Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate.  It also add parameters to
TargetAsmInfo to control comment layout.

llvm-svn: 75490
2009-07-13 20:25:48 +00:00
Chris Lattner
adc834d034 Add NetBSD to the Triple class, patch by Krister Walfridsson!
llvm-svn: 75489
2009-07-13 20:22:23 +00:00
Dan Gohman
9a19e608d4 Add an optional optimization to FoldingSet to allow ID values to be
stored rather than recomputed on each bucket traversal.

llvm-svn: 75480
2009-07-13 18:25:44 +00:00
David Greene
0dbe5b0a97 Make some more changes suggested by Chris. Manipulators go away.
llvm-svn: 75472
2009-07-13 16:49:27 +00:00
Owen Anderson
393d8b0a0c Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.

llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Daniel Dunbar
c6592df02d Match declaration to definition.
llvm-svn: 75440
2009-07-12 23:50:34 +00:00
Daniel Dunbar
e79e475000 Match declaration to definition.
llvm-svn: 75438
2009-07-12 22:46:08 +00:00
Chris Lattner
d3eba0efb8 remove llvm.part.set.* and llvm.part.select.*. They have never been
implemented in codegen, have no frontend to generate them, and are 
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).

PR4543

llvm-svn: 75430
2009-07-12 21:08:53 +00:00
Torok Edwin
d2f2458584 Mention that llvm_report_error() does not return.
llvm-svn: 75428
2009-07-12 21:01:44 +00:00