Dan Gohman
13141d5538
Avoid referring to edge D after the Succs or Preds arrays have
...
been modified, to avoid trouble in the (unlikely) scenario that
D is a reference to an element in one of those arrays.
llvm-svn: 62173
2009-01-13 19:08:45 +00:00
Duncan Sands
ffc6133318
When replacing uses and the same node is reached
...
via two paths, process it once not twice, d'oh!
Analysis, testcase and original patch thanks to
Mon Ping Wang.
llvm-svn: 62169
2009-01-13 15:17:14 +00:00
Duncan Sands
ab2fd9e4b9
Mark this XFAIL for the moment.
...
llvm-svn: 62168
2009-01-13 15:15:46 +00:00
Duncan Sands
90d2a7bd72
Fix some typos. Also, the WidenedVectors map
...
was not being cleaned by ExpungeNode.
llvm-svn: 62167
2009-01-13 14:42:39 +00:00
Duncan Sands
013be76241
Correct a comment - this is not a sign extension.
...
llvm-svn: 62166
2009-01-13 14:04:14 +00:00
Duncan Sands
944ccc5d6a
Correct a comment.
...
llvm-svn: 62165
2009-01-13 13:48:44 +00:00
Nick Lewycky
52348300a4
Wind SCEV back in time, to Nov 18th. This 'fixes' PR3275, PR3294, PR3295,
...
PR3296 and PR3302.
llvm-svn: 62160
2009-01-13 09:18:58 +00:00
Chris Lattner
6e66d0a6a1
add a new insertAfter method, patch by Tom Jablin!
...
llvm-svn: 62158
2009-01-13 07:43:51 +00:00
Chris Lattner
1a579351d2
make -march=cpp handle the nocapture attribute, make it assert if it
...
sees attributes it doesn't know.
llvm-svn: 62155
2009-01-13 07:22:22 +00:00
Evan Cheng
4f9c47aab9
Un-tabify.
...
llvm-svn: 62151
2009-01-13 06:08:37 +00:00
Owen Anderson
b282d1b6ff
Fix fallout from r62144. Evan, please double check this.
...
llvm-svn: 62150
2009-01-13 06:05:10 +00:00
Evan Cheng
f343168f1f
FIX llvm-gcc bootstrap on x86_64 linux. If a virtual register is copied to a physical register, it's not necessarily defined by a copy. We have to watch out it doesn't clobber any sub-register that might be live during its live interval. If the live interval crosses a basic block, then it's not safe to check with the less conservative check (by scanning uses and defs) because it's possible a sub-register might be live out of the block.
...
llvm-svn: 62144
2009-01-13 03:57:45 +00:00
Devang Patel
5c6e1e3b7d
Use DebugInfo interface to lower dbg_* intrinsics.
...
llvm-svn: 62127
2009-01-13 00:35:13 +00:00
Devang Patel
76007e009e
Use DebugInfo interface to lower dbg_* intrinsics.
...
llvm-svn: 62126
2009-01-13 00:32:17 +00:00
Devang Patel
f3456e8f07
Start using DebugInfo API to emit debug info.
...
llvm-svn: 62125
2009-01-13 00:20:51 +00:00
Dan Gohman
3065b6169f
Document several current CodeGen limitations in LangRef.html.
...
Patches for any of these are welcome!
llvm-svn: 62120
2009-01-12 23:12:39 +00:00
Devang Patel
243b4add9a
Emit debug info, only if at least one compile unit is seen.
...
llvm-svn: 62118
2009-01-12 23:09:42 +00:00
Devang Patel
b71fbeb19f
If multiple compile units are seen then emit them independently. In other words, do not force all DIEs into first, whatever it is, compile unit.
...
Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.)
llvm-svn: 62116
2009-01-12 23:05:55 +00:00
Devang Patel
4aa4128ced
Avoid cast<>, use light weith wrapper directly.
...
llvm-svn: 62115
2009-01-12 22:58:14 +00:00
Devang Patel
4223582f00
Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear soon.
...
llvm-svn: 62114
2009-01-12 22:54:42 +00:00
Dale Johannesen
433a9086c0
Enable recursive inlining. Reduce inlining threshold
...
back to 200; 400 seems to be too high, loses more than
it gains.
llvm-svn: 62107
2009-01-12 22:11:50 +00:00
Devang Patel
45d2cfd064
Add classof() methods to support isa<> and other related facilities.
...
llvm-svn: 62104
2009-01-12 21:38:43 +00:00
Dan Gohman
33a9cef204
The LLVM Assembly Language Reference incorrectly stated that the
...
prefix used for dll{import,export} is _imp__; it is actually __imp_.
Patch by Mahadevan R!
llvm-svn: 62103
2009-01-12 21:35:55 +00:00
Dan Gohman
87bc800384
Fix the instructions to work even when PATH does not contain ".".
...
Thanks to Martin Geisse for pointing this out!
llvm-svn: 62102
2009-01-12 21:29:24 +00:00
Duncan Sands
dc020f9c3c
Rename getABITypeSize to getTypePaddedSize, as
...
suggested by Chris.
llvm-svn: 62099
2009-01-12 20:38:59 +00:00
Devang Patel
df31a7256d
Add DwarfWriter interface to mainipulate source location info.
...
( May be this info should be directly handled by the dwarf writer ? )
llvm-svn: 62096
2009-01-12 19:17:34 +00:00
Chris Lattner
ecbe933d6a
remove some dead options.
...
llvm-svn: 62095
2009-01-12 19:02:50 +00:00
Devang Patel
f033d53264
Clear debug info at the end of function processing.
...
llvm-svn: 62092
2009-01-12 18:48:36 +00:00
Devang Patel
5daa1abf25
There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.
...
llvm-svn: 62090
2009-01-12 18:41:00 +00:00
Rafael Espindola
6919ab4d05
Remove some dead code from the days llvm had type planes.
...
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
llvm-svn: 62088
2009-01-12 15:53:25 +00:00
Evan Cheng
2adb5cfb48
Second test is only valid in 32-bit mode.
...
llvm-svn: 62084
2009-01-12 08:05:54 +00:00
Evan Cheng
0258874607
Test for r62076.
...
llvm-svn: 62077
2009-01-12 03:46:55 +00:00
Evan Cheng
b2c42c648d
Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency.
...
Also future proof the scheduler to handle "normal" physical register dependencies. The code is not exercised yet.
llvm-svn: 62074
2009-01-12 03:19:55 +00:00
Owen Anderson
45cfef2cb6
More two-address fixes. This gets lua working with join-creation enabled.
...
llvm-svn: 62073
2009-01-12 03:10:40 +00:00
Chris Lattner
2089cd09ba
make tblgen autogenerate the nocapture intrinsics for
...
llvm.memcpy/memset/memmove. This allows removal of some
hackish code from basicaa.
llvm-svn: 62071
2009-01-12 02:41:37 +00:00
Chris Lattner
9d0a8770bd
add scaffolding to emit argument attributes. No functionality
...
change.
llvm-svn: 62067
2009-01-12 01:27:55 +00:00
Chris Lattner
49b7ee1b50
make tblgen emit the entire Intrinsic::getAttributes method,
...
not a random piece of it. No functionality change.
llvm-svn: 62066
2009-01-12 01:18:58 +00:00
Chris Lattner
9a3113aeb8
add nocapture attribute to llvm.mem* intrinsics and have tblgen
...
parse them. tblgen doesn't yet do anything with this info though.
llvm-svn: 62065
2009-01-12 01:12:03 +00:00
Dale Johannesen
f84685290a
Increase default inlining aggressiveness in partial
...
compensation for turning off gcc's inliner. This gets
us closer to the amount of inlining we were getting before.
It is not a win on everything, of course, but seems to
gain overall.
llvm-svn: 62058
2009-01-11 23:11:00 +00:00
Gabor Greif
9722023df8
drats! remove tabs
...
llvm-svn: 62056
2009-01-11 22:39:04 +00:00
Gabor Greif
1b9921af34
simplify CallSite helper class to not consult the Instruction's
...
opcode on each delegation.
Instead the information is cached on construction and the cached flag used thereafter.
Introduced two predicates: isCall and isInvoke.
llvm-svn: 62055
2009-01-11 22:33:22 +00:00
Chris Lattner
bc088218e6
Implement PR3313, and while I'm at it address a very FAQ.
...
llvm-svn: 62048
2009-01-11 20:53:49 +00:00
Chris Lattner
bd3c7c8b52
Duncan is nervous about undefinedness of % with negatives. I'm
...
not thrilled about 64-bit % in general, so rewrite to use * instead.
llvm-svn: 62047
2009-01-11 20:41:36 +00:00
Chris Lattner
b19151686f
do not generated GEPs into vectors where they don't already exist.
...
We should treat vectors as atomic types, not like arrays.
llvm-svn: 62046
2009-01-11 20:23:52 +00:00
Chris Lattner
171d2d474f
Make a couple of cleanups to the instcombine bitcast/gep
...
canonicalization transform based on duncan's comments:
1) improve the comment about %.
2) within our index loop make sure the offset stays
within the *type size*, instead of within the *abi size*.
This allows us to reason explicitly about landing in tail
padding and means that issues like non-zero offsets into
[0 x foo] types don't occur anymore.
llvm-svn: 62045
2009-01-11 20:15:20 +00:00
Nick Lewycky
93787d1262
Use the spiffy new getAlignmentFromAttrs function.
...
llvm-svn: 62039
2009-01-11 17:02:06 +00:00
Evan Cheng
e3108148e2
CheckForPhysRegDependency should not return copy cost. It's not used. No functionality change.
...
llvm-svn: 62036
2009-01-11 08:53:35 +00:00
Bill Wendling
8d069ef872
Fix naming of file.
...
llvm-svn: 62035
2009-01-11 01:25:51 +00:00
Dan Gohman
aaa679b270
Fix the example syntax for named sections.
...
llvm-svn: 62033
2009-01-11 00:40:00 +00:00
Evan Cheng
8e7d88b916
This is a dup of pr2659.ll.
...
llvm-svn: 62029
2009-01-10 19:06:32 +00:00