- Jul 14, 2009
-
-
David Greene authored
Have asm printers use formatted_raw_ostream directly to avoid a dynamic_cast<>. llvm-svn: 75670
-
Chris Lattner authored
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
-
Torok Edwin authored
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
-
Daniel Dunbar authored
--- 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 llvm-svn: 75637
-
Chris Lattner authored
llvm-svn: 75615
-
- Jul 11, 2009
-
-
Torok Edwin authored
Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
-
- Jul 09, 2009
-
-
Owen Anderson authored
llvm-svn: 75153
-
- Jul 08, 2009
-
-
Torok Edwin authored
Finish converting lib/Target. llvm-svn: 75043
-
Torok Edwin authored
Also remove trailing semicolon. llvm-svn: 75027
-
- Jul 02, 2009
-
-
Douglas Gregor authored
llvm-svn: 74720
-
- Jul 01, 2009
-
-
Bill Wendling authored
bytes and not bytes. llvm-svn: 74624
-
Evan Cheng authored
Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details. llvm-svn: 74580
-
Daniel Dunbar authored
- This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
-
Bill Wendling authored
have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
-
- Jun 26, 2009
-
-
Owen Anderson authored
llvm-svn: 74332
-
Devang Patel authored
llvm-svn: 74255
-
- Jun 25, 2009
-
-
Douglas Gregor authored
llvm-svn: 74161
-
Devang Patel authored
No need to code gen MDNodes llvm-svn: 74150
-
- Jun 24, 2009
-
-
Bob Wilson authored
C bindings. Change all the backend "Initialize" functions to have C linkage. Change the "llvm/Config/Targets.def" header to use C-style comments to avoid compile warnings. llvm-svn: 74026
-
- Jun 23, 2009
-
-
Douglas Gregor authored
cleans up the CMake-based build system a bit. Started by a patch from Xerxes Rånby. llvm-svn: 73969
-
- Jun 19, 2009
-
-
Chris Lattner authored
llvm-svn: 73767
-
- Jun 16, 2009
-
-
Douglas Gregor authored
initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. llvm-svn: 73543
-
- May 23, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 72335
-
- May 13, 2009
-
-
Bill Wendling authored
booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
-
- May 09, 2009
-
-
Duncan Sands authored
will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
-
- Apr 30, 2009
-
-
Bill Wendling authored
which better identifies what the optimization is doing. And is more flexible for future uses. llvm-svn: 70440
-
- Apr 29, 2009
-
-
Bill Wendling authored
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. llvm-svn: 70343
-
- Apr 28, 2009
-
-
Bill Wendling authored
llvm-svn: 70275
-
Bill Wendling authored
use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
-
- Mar 25, 2009
-
-
Evan Cheng authored
llvm-svn: 67668
-
- Mar 11, 2009
-
-
Duncan Sands authored
linkage, so remove it. llvm-svn: 66690
-
- Mar 07, 2009
-
-
Duncan Sands authored
and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
-
- Feb 24, 2009
-
-
Bill Wendling authored
them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. llvm-svn: 65379
-
- Feb 23, 2009
-
-
Bill Wendling authored
llvm-svn: 65298
-
- Feb 19, 2009
-
-
Bill Wendling authored
everyone. llvm-svn: 64978
-
- Feb 18, 2009
-
-
Dan Gohman authored
llvm-svn: 64915
-
Dan Gohman authored
llvm-svn: 64891
-
- Feb 13, 2009
-
-
Dale Johannesen authored
llvm-svn: 64435
-
Dale Johannesen authored
Modify callers. llvm-svn: 64409
-
- Feb 12, 2009
-
-
Bill Wendling authored
llvm-svn: 64342
-