Chris Lattner [Sun, 20 Sep 2009 01:53:12 +0000 (01:53 +0000)]
convert 'Value' to StringRef which makes it easier to
maintain the "null is unspecified, empty is empty" semantics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 01:49:31 +0000 (01:49 +0000)]
Change CommaSeparated processing to do it with StringRef instead of temporary std::strings.
This requires StringRef'izing ProvideOption which I also did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82350
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 20 Sep 2009 01:35:59 +0000 (01:35 +0000)]
Value* were never meant to be const. Removing constness from the constant
folder removes a lot of const_casting and requires no changes to clang or
llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 01:33:46 +0000 (01:33 +0000)]
rewrite ParseCStringVector in terms of stringref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 01:22:16 +0000 (01:22 +0000)]
move a couple non-trivial methods out of line, add new
find_first_of/find_first_of methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 01:11:23 +0000 (01:11 +0000)]
coding style cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 00:40:49 +0000 (00:40 +0000)]
convert a bunch more stuff to use StringRef. The ArgName arguments are now
stringref because they may not be nul terminated. For options like -Lfoo
this now avoids a O(n) temporary std::strings where N is the length of
the string after -L.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 00:38:28 +0000 (00:38 +0000)]
add size_t and a version of rfind that allows specification of where
to scan from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82343
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 20 Sep 2009 00:36:41 +0000 (00:36 +0000)]
When computing live intervals for earlyclobber operands,
we pushed the beginning of the interval back 1, so the
interval would overlap with inputs that die. We were
also pushing the end of the interval back 1, though,
which means the earlyclobber didn't overlap with other
output operands. Don't do this. PR 4964.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Sep 2009 00:07:40 +0000 (00:07 +0000)]
avoid a bunch of malloc thrashing for PositinoalVals by eliminating
a std::vector and a bunch of std::string temporaries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82341
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 20 Sep 2009 00:04:02 +0000 (00:04 +0000)]
Teach the constant folder how to handle a few simple i1 cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Sep 2009 23:59:02 +0000 (23:59 +0000)]
Avoid some temporary strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Sep 2009 23:58:48 +0000 (23:58 +0000)]
add some more overloads of StringRef::getAsInteger for
common and useful integer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Sep 2009 23:57:31 +0000 (23:57 +0000)]
add a simple c_str() method to SmallString.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82337
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 19 Sep 2009 22:02:37 +0000 (22:02 +0000)]
Revert r82274. It's causing failures in the CINT2006 benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82336
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 19 Sep 2009 20:40:28 +0000 (20:40 +0000)]
Prefer super class constructor to explicit initialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82335
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 19 Sep 2009 20:40:21 +0000 (20:40 +0000)]
Tabs -> spaces (really?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82334
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 19 Sep 2009 20:40:14 +0000 (20:40 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 19 Sep 2009 20:40:05 +0000 (20:40 +0000)]
Strip trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 19 Sep 2009 20:39:50 +0000 (20:39 +0000)]
RHS of assignment should be const reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82331
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 19 Sep 2009 20:30:26 +0000 (20:30 +0000)]
Remove the default value for ConstantStruct::get's isPacked parameter and
update the code which was broken by this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Sep 2009 19:47:14 +0000 (19:47 +0000)]
provide a "strtoull" operation that works on StringRef's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82322
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 19 Sep 2009 19:00:06 +0000 (19:00 +0000)]
Add a comment explaining why you would ever want to do this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Sep 2009 18:55:05 +0000 (18:55 +0000)]
convert a bunch of std::strings to use StringRef. This should eliminate
a massive number of temporary strings created when parsing a command line.
More still left to eliminate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82318
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 19 Sep 2009 18:33:36 +0000 (18:33 +0000)]
Lett users of sparse propagation do their own thing with phi nodes if they want
to. This can be combined with LCSSA or SSI form to store more information on a
PHINode than can be computed by looking at its incoming values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82317
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 19 Sep 2009 11:25:44 +0000 (11:25 +0000)]
The flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg".
It prints the content of all bbs, instead of printing empty bbs to make the
CFG more readable. Fix this. Patch by Tobias Grosser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82315
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Sep 2009 10:09:15 +0000 (10:09 +0000)]
Fix funky comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82314
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Sep 2009 10:08:51 +0000 (10:08 +0000)]
Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82313
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 19 Sep 2009 10:01:45 +0000 (10:01 +0000)]
Try to speed up the slowest parts of the CommandLine library
- Replace std::map<std::string with StringMap
- Eliminate unnecessary std::string copies
- ~10% speed-up for clang's testsuite on my machine (debug build)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82312
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 19 Sep 2009 09:51:03 +0000 (09:51 +0000)]
Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82311
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Fri, 18 Sep 2009 22:35:49 +0000 (22:35 +0000)]
Enhance transform passes so that they apply the same tranforms to malloc calls as to MallocInst.
Reviewed by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82300
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 22:03:29 +0000 (22:03 +0000)]
remove an extraneous mem2reg pass early in the pipe. Since
this is run after the 'standard function passes', SRoA was
recently run. This saves a domfrontier construction. Thanks
to Eli for noticing this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82291
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 22:01:30 +0000 (22:01 +0000)]
reduce indentation by using an early exit, and add a comment,
no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82290
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 18 Sep 2009 21:43:11 +0000 (21:43 +0000)]
Fix a comment typo and some whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82285
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 18 Sep 2009 21:42:44 +0000 (21:42 +0000)]
Fix a typo in an assertion message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82284
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Sep 2009 21:37:56 +0000 (21:37 +0000)]
Factor out label difference creation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82282
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Fri, 18 Sep 2009 21:34:51 +0000 (21:34 +0000)]
Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.
Reviewed by Eli Friedman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82281
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 18 Sep 2009 21:23:12 +0000 (21:23 +0000)]
Delete the label names from this test to make it less fragile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82276
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Sep 2009 21:14:36 +0000 (21:14 +0000)]
It's inefficient to have place the exception tables (which contain the LSDA)
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Sep 2009 21:02:19 +0000 (21:02 +0000)]
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
Not functionality change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82273
91177308-0d34-0410-b5e6-
96231b3b80d8
Shantonu Sen [Fri, 18 Sep 2009 20:35:59 +0000 (20:35 +0000)]
Fix cmake build, which has a different -I that
causes the "../foo" to not find the file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 20:22:52 +0000 (20:22 +0000)]
Make a new X8632_MachoTargetObjectFile TLOF implementation whose
getSymbolForDwarfGlobalReference is smart enough to know that it
needs to register the stub it references with MachineModuleInfoMachO,
so that it gets emitted at the end of the file.
Move stub emission from X86ATTAsmPrinter::doFinalization to the
new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important
thing here is that EmitEndOfAsmFile is called *after* the ehframes are
emitted, so we get all the stubs.
This allows us to remove a gross hack from the asmprinter where it would
"just know" that it needed to output stubs for personality functions.
Now this is all driven from a consistent interface.
The testcase change is just reordering the expected output now that the
stubs come out after the ehframe instead of before.
This also unblocks other changes that Bill wants to make.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 20:17:03 +0000 (20:17 +0000)]
add a new hook to allow targets to splat stuff at the end of the file.
Overriding doFinalization is pretty lame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82268
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 18 Sep 2009 20:15:22 +0000 (20:15 +0000)]
Model the carry bit on ppc32. Without this we could
move a SUBFC (etc.) below the SUBFE (etc.) that consumed
the carry bit. Add missing ADDIC8, noticed along the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82266
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 18 Sep 2009 19:59:53 +0000 (19:59 +0000)]
Add support for using the FLAGS result of or, xor, and and instructions
on x86, to avoid explicit test instructions. A few existing tests changed
due to arbitrary register allocation differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82263
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Fri, 18 Sep 2009 19:35:23 +0000 (19:35 +0000)]
Added RCL and RCR (rotate left and right with a
carry bit) instructions to the Intel instruction
tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82260
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 18 Sep 2009 19:26:43 +0000 (19:26 +0000)]
Write and read metadata attachments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Fri, 18 Sep 2009 19:20:02 +0000 (19:20 +0000)]
Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type).
In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants.
Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array.
Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type.
Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls.
Add verification for malloc calls.
Reviewed by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 18:34:29 +0000 (18:34 +0000)]
duncan points out the EH selector values are signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 18:31:37 +0000 (18:31 +0000)]
convert some stuff to StringRef to avoid temporary std::strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 18:10:19 +0000 (18:10 +0000)]
add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 18 Sep 2009 18:08:55 +0000 (18:08 +0000)]
This file can need access to the X86 instruction enums when the table exceeds 32-bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82235
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 18 Sep 2009 17:48:05 +0000 (17:48 +0000)]
Fix a few more conversion warnings on 4.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82232
91177308-0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Fri, 18 Sep 2009 17:10:27 +0000 (17:10 +0000)]
Update to latest versions of config.guess and config.sub from
http://savannah.gnu.org/projects/config
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82229
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 18 Sep 2009 16:57:42 +0000 (16:57 +0000)]
Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 18 Sep 2009 16:46:16 +0000 (16:46 +0000)]
Stop using alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82225
91177308-0d34-0410-b5e6-
96231b3b80d8
Xerxes Ranby [Fri, 18 Sep 2009 09:50:00 +0000 (09:50 +0000)]
Revert r82214 completely to fix build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82218
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Sep 2009 08:26:06 +0000 (08:26 +0000)]
Revert r82214. It broke 403.gcc on x86_64 / Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82215
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 18 Sep 2009 08:16:04 +0000 (08:16 +0000)]
Fix a bug in sdisel switch lowering code. When it updates the phi nodes in switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list).
This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82214
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 18 Sep 2009 07:36:47 +0000 (07:36 +0000)]
Add newlines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 23:56:41 +0000 (23:56 +0000)]
make this testcase check darwin32 also
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 23:55:12 +0000 (23:55 +0000)]
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82181
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 23:54:54 +0000 (23:54 +0000)]
tolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on
64-bit systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82180
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 23:54:26 +0000 (23:54 +0000)]
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 23:42:06 +0000 (23:42 +0000)]
rename file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82178
91177308-0d34-0410-b5e6-
96231b3b80d8
Julien Lerouge [Thu, 17 Sep 2009 23:27:10 +0000 (23:27 +0000)]
Use __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC
supporting this attribute).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82177
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 17 Sep 2009 23:05:07 +0000 (23:05 +0000)]
A testcase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82176
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 17 Sep 2009 23:04:48 +0000 (23:04 +0000)]
Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82175
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 17 Sep 2009 20:35:18 +0000 (20:35 +0000)]
Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy>
instead of the PtrTraits provided. Allows PointerIntPair to contain a
PointerUnion safely, as long as the bits add up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82163
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 17 Sep 2009 20:12:05 +0000 (20:12 +0000)]
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 18:49:52 +0000 (18:49 +0000)]
pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
currently unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 17 Sep 2009 18:05:20 +0000 (18:05 +0000)]
Teach ScalarEvolution how to reason about no-wrap flags on loops
where the induction variable has a non-unit stride, such as {0,+,2}, and
there are expressions such as {1,+,2} inside the loop formed with
or or add nsw operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 17 Sep 2009 17:57:26 +0000 (17:57 +0000)]
grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82150
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 17 Sep 2009 17:55:55 +0000 (17:55 +0000)]
grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82149
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 17 Sep 2009 17:46:53 +0000 (17:46 +0000)]
Another try at fixing compile warnings on 4.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82148
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 17 Sep 2009 14:51:57 +0000 (14:51 +0000)]
Initialize HasMetadata to zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82145
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 17 Sep 2009 06:37:07 +0000 (06:37 +0000)]
Remove test cases using -regalloc=simple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82130
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Sep 2009 05:48:07 +0000 (05:48 +0000)]
Remove simple regalloc. It has bit rotted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Sep 2009 01:08:43 +0000 (01:08 +0000)]
add a version of the APFloat constructor that initializes to 0.0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82110
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 17 Sep 2009 00:57:15 +0000 (00:57 +0000)]
Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82108
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 17 Sep 2009 00:14:44 +0000 (00:14 +0000)]
Some platforms may need malloc.h for alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82100
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 17 Sep 2009 00:06:48 +0000 (00:06 +0000)]
Update CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82097
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 16 Sep 2009 22:59:28 +0000 (22:59 +0000)]
Added the LODS (load byte into register, usually
as part string parsing) instructions to the Intel
instruction tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82089
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 16 Sep 2009 22:38:48 +0000 (22:38 +0000)]
Add StringRef::{rfind, rsplit}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82087
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 16 Sep 2009 21:55:34 +0000 (21:55 +0000)]
Added the LAR (load segment access rights)
instructions to the Intel instruction tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82084
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 16 Sep 2009 21:50:07 +0000 (21:50 +0000)]
Added the LOOP family of instructions to the Intel
instruction tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82083
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 16 Sep 2009 21:11:23 +0000 (21:11 +0000)]
Added an alternate form of register-register CMP
to the Intel instruction tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82081
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 21:09:07 +0000 (21:09 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82080
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 20:39:11 +0000 (20:39 +0000)]
At iSel time, update DebugLoc based on debug info attached with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82077
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 16 Sep 2009 20:25:11 +0000 (20:25 +0000)]
Add a new pass for doing late hoisting of floating-point and vector
constants out of loops. These aren't covered by the regular LICM
pass, because in LLVM IR constants don't require separate
instructions. They're not always covered by the MachineLICM pass
either, because it doesn't know how to unfold folded constant-pool
loads. This is somewhat experimental at this point, and off by
default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82076
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 20:21:17 +0000 (20:21 +0000)]
Print debug info attached with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82075
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 16 Sep 2009 20:20:44 +0000 (20:20 +0000)]
Expand vector floating-point conversions not supported by NEON.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82074
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 16 Sep 2009 19:18:41 +0000 (19:18 +0000)]
Now that llc can read .ll files directly, teach it to recognize .ll as
an extension, so that the default output filename for foo.ll is foo.s,
not foo.ll.s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82071
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 18:20:05 +0000 (18:20 +0000)]
Provide a way to extract location info from DILocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 18:18:06 +0000 (18:18 +0000)]
Parse debug info attached with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82063
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 18:16:11 +0000 (18:16 +0000)]
Add an interface to attach debugging information with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82062
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Sep 2009 18:09:00 +0000 (18:09 +0000)]
Add llvm::Metadata to manage metadata used in a context.
This interface will be used to attach metadata with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82060
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 16 Sep 2009 18:08:00 +0000 (18:08 +0000)]
Fixed some problems with the logic of parsing line comments by adding
isAtStartOfComment and using that instead in two places where a loop
to check if the char was in MAI.getCommentString().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82059
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 16 Sep 2009 17:18:29 +0000 (17:18 +0000)]
Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82054
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 16 Sep 2009 16:50:24 +0000 (16:50 +0000)]
Change FoldPHIArgBinOpIntoPHI to decline folding if it would introduce two
phis, similar to the FoldPHIArgGEPIntoPHI change.
Also, delete some comments that don't reflect the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82053
91177308-0d34-0410-b5e6-
96231b3b80d8