Zhongxing Xu
b71fae8098
add newline to make cl.exe happy.
...
llvm-svn: 85483
2009-10-29 05:07:14 +00:00
Zhongxing Xu
0590837d34
fix 80-col.
...
llvm-svn: 85480
2009-10-29 04:41:24 +00:00
Chris Lattner
e9006fe142
greatly improve the LLVM IR bitcode encoding documentation,
...
patch by Peter Housel!
llvm-svn: 85479
2009-10-29 04:25:46 +00:00
Zhongxing Xu
d74ffbde67
Explicitly convert to double to suppress Visual C++ 2008 build error C2668 pow is ambiguous call to overloaded function
...
llvm-svn: 85478
2009-10-29 03:43:06 +00:00
Jim Grosbach
b352d76480
To get more thorough testing from llc-beta nightly runs, do dynamic stack
...
realignment regardless of whether it's strictly necessary.
llvm-svn: 85476
2009-10-29 02:41:21 +00:00
Jim Grosbach
cad78a7634
When the function is doing dynamic stack realignment, the spill slot will be
...
indexed via the stack pointer, even if a frame pointer is present. Update the
heuristic to place it nearest the stack pointer in that case, rather than
nearest the frame pointer.
llvm-svn: 85474
2009-10-29 02:33:47 +00:00
Johnny Chen
8107289624
Sorry to break the build.
...
I was trying to check the WIP file to some local repository, but ended up
checking in the llvm repository. Oops!
llvm-svn: 85470
2009-10-29 02:04:53 +00:00
Johnny Chen
c3d9a47d03
Minor tweak to forgo the the curly braces for most case blocks, except when
...
declaring local variables.
llvm-svn: 85467
2009-10-29 01:45:07 +00:00
Chris Lattner
ee8b951e73
teach various passes about blockaddress. We no longer
...
crash on any clang tests.
llvm-svn: 85465
2009-10-29 01:21:20 +00:00
Dale Johannesen
8829fc3a18
When there is a 2-instruction spill sequence, record
...
the second (store) instruction in SpillSlotToUsesMap
consistently. I don't think this matters functionally,
but it's cleaner and Evan wants it this way.
llvm-svn: 85463
2009-10-29 01:15:40 +00:00
Bill Wendling
3505c94923
Don't put in these EH changes.
...
llvm-svn: 85460
2009-10-29 00:37:35 +00:00
Douglas Gregor
a6f3e7edeb
A switch-on-string-literal construct that is a nice alternative to
...
cascading "ifs" of strcmps/memcmps.
llvm-svn: 85459
2009-10-29 00:34:30 +00:00
Chris Lattner
be060382e9
teach ValueMapper about BlockAddress', making bugpoint a lot more useful.
...
llvm-svn: 85458
2009-10-29 00:31:02 +00:00
Chris Lattner
cf5a47d63d
unindent massive blocks, no functionality change.
...
llvm-svn: 85457
2009-10-29 00:28:30 +00:00
Bill Wendling
a8eceedb82
Reverting r85338 for now. It's causing a bootstrap failure on PPC darwin9.
...
--- Reverse-merging r85338 into '.':
U lib/CodeGen/SimpleRegisterCoalescing.cpp
U lib/CodeGen/SimpleRegisterCoalescing.h
llvm-svn: 85454
2009-10-29 00:22:16 +00:00
Dan Gohman
d7db2dedaa
Add indirectbr and blockaddress to the vim syntax highlighting file.
...
llvm-svn: 85451
2009-10-29 00:14:44 +00:00
Dan Gohman
3903320a48
Add a hasAddressTaken for BasicBlock.
...
llvm-svn: 85449
2009-10-29 00:09:08 +00:00
Chris Lattner
48d9995d2b
add IRBuilder support for IndirectBr
...
llvm-svn: 85445
2009-10-28 23:25:00 +00:00
Bob Wilson
3ab552ec74
Reimplement BranchFolding change to avoid tail merging for a 1 instruction
...
common tail, except when the OptimizeForSize function attribute is present.
Radar 7338114.
llvm-svn: 85441
2009-10-28 22:10:20 +00:00
Dale Johannesen
14f162d9dc
When we generate spill code, then decide we don't need
...
to spill after all, we weren't handling 2-instruction
spill sequences correctly (PPC Altivec). We need to
remove the store in this case. Removing the other
instruction(s) would be goodness but is not needed for
correctness, and isn't done here. 7331562.
llvm-svn: 85437
2009-10-28 21:56:18 +00:00
Eric Christopher
1fd4c577d2
Make sure we return the right sized type here.
...
llvm-svn: 85436
2009-10-28 21:32:16 +00:00
Bob Wilson
97b9312663
Revert r85346 change to control tail merging by CodeGenOpt::Level.
...
I'm going to redo this using the OptimizeForSize function attribute.
llvm-svn: 85426
2009-10-28 20:46:46 +00:00
Victor Hernandez
0d025421cd
Extend getMallocArraySize() to determine the array size if the malloc argument is:
...
ArraySize * ElementSize
ElementSize * ArraySize
ArraySize << log2(ElementSize)
ElementSize << log2(ArraySize)
Refactor isArrayMallocHelper and delete isSafeToGetMallocArraySize, so that there is only 1 copy of the malloc array determining logic.
Update users of getMallocArraySize() to not bother calling isArrayMalloc() as well.
llvm-svn: 85421
2009-10-28 20:18:55 +00:00
Viktor Kutuzov
fd7ddd9c69
Fix to pass options from Gold plugin to LTO codegen
...
llvm-svn: 85419
2009-10-28 18:55:55 +00:00
Benjamin Kramer
c1ba4c2941
Teach cmake that mk[sd]temp is defined in stdlib.h on some systems.
...
This fixes parallel build with clang on glibc platforms.
llvm-svn: 85414
2009-10-28 18:37:31 +00:00
David Goodwin
e30ed53c05
Make AntiDepReg.h internal.
...
llvm-svn: 85412
2009-10-28 18:29:54 +00:00
Bob Wilson
73789b848d
Add a Thumb BRIND pattern. Change the ARM BRIND assembly to separate the
...
opcode and operand with a tab. Check for these instructions in the usual
places.
llvm-svn: 85411
2009-10-28 18:26:41 +00:00
Evan Cheng
6203c6868f
fconsts and fconstd are obviously re-materializable.
...
llvm-svn: 85410
2009-10-28 18:19:56 +00:00
Jim Grosbach
294aea709e
Cleanup now that frame index scavenging via post-pass is working for ARM and Thumb2.
...
llvm-svn: 85406
2009-10-28 17:33:28 +00:00
Devang Patel
ffd561bc2d
llvm.dbg.global_variables do not exist anymore.
...
llvm-svn: 85402
2009-10-28 16:51:52 +00:00
Chris Lattner
fbaac77c70
add a new 'SetCurrentDebugType' API (requested by Andrew Haley for JIT
...
stuff) to programmatically control the current debug flavor. While
I'm at it, doxygenate Debug.h and clean it up.
llvm-svn: 85395
2009-10-28 15:32:19 +00:00
Dan Gohman
14ca753e28
Don't call SDNode::isPredecessorOf when it isn't necessary. If the load's
...
chains have no users, they can't be predecessors of the condition.
llvm-svn: 85394
2009-10-28 15:28:02 +00:00
Dan Gohman
57780dfdfc
Simplify this code: if the unfolded load can't be hoisted, just delete
...
the new instructions and leave the old one in place.
llvm-svn: 85393
2009-10-28 15:23:36 +00:00
Edward O'Callaghan
1042ca112f
No newline at end of file.
...
llvm-svn: 85390
2009-10-28 15:04:53 +00:00
Benjamin Kramer
ecc60b80b0
Update CMake file.
...
llvm-svn: 85389
2009-10-28 13:29:18 +00:00
Gabor Greif
03ab4dcff9
use metavariable <result> instead of SSA name %result for consistency
...
llvm-svn: 85388
2009-10-28 13:14:50 +00:00
Gabor Greif
bd0328f668
ooops, SSA name should not be part of the link
...
llvm-svn: 85387
2009-10-28 13:05:07 +00:00
Gabor Greif
f50fd57543
advertise new syntax for unnamed instructions
...
and eliminate confusing double-use of SSA names
(work in progress)
llvm-svn: 85385
2009-10-28 09:21:30 +00:00
Owen Anderson
2b2bd28973
Treat lifetime begin/end markers as allocations/frees respectively for the
...
purposes for GVN/DSE.
llvm-svn: 85383
2009-10-28 07:05:35 +00:00
Nick Lewycky
175308c43e
Add ABCD, a generalized implementation of the Elimination of Array Bounds
...
Checks on Demand algorithm which looks at arbitrary branches instead of loop
iterations. This is GSoC work by Andre Tavares with only editorial changes
applied!
llvm-svn: 85382
2009-10-28 07:03:15 +00:00
Evan Cheng
ec6d7c945d
Give ARMISD::EH_SJLJ_LONGJMP and EH_SJLJ_SETJMP names.
...
llvm-svn: 85381
2009-10-28 06:55:03 +00:00
Owen Anderson
fc16e5a98f
Be more careful about invariance reasoning on "store" queries. Stores still need
...
to depend on Ref and ModRef calls within the invariant region.
llvm-svn: 85380
2009-10-28 06:30:52 +00:00
Evan Cheng
f64db3e1d0
X86 palignr intrinsics immediate field is in bits. ISel must transform it into bytes.
...
llvm-svn: 85379
2009-10-28 06:30:34 +00:00
Owen Anderson
d0e86d57c1
Add trivial support for the invariance intrinsics to memdep. This logic is
...
purely local for now.
llvm-svn: 85378
2009-10-28 06:18:42 +00:00
Chris Lattner
5956dc87d3
add bitcode reader support for blockaddress. We can now fully
...
round trip blockaddress through .ll and .bc files, so add a testcase.
There are still a bunch of places in the optimizer and other places
that need to be updated to work with these constructs, but at least
the basics are in now.
llvm-svn: 85377
2009-10-28 05:53:48 +00:00
Chris Lattner
f540d74b58
bitcode writer support for blockaddress.
...
llvm-svn: 85376
2009-10-28 05:24:40 +00:00
Chris Lattner
a91a563530
Previously, all operands to Constant were themselves constant.
...
In the new world order, BlockAddress can have a BasicBlock operand.
This doesn't permute much, because if you have a ConstantExpr (or
anything more specific than Constant) we still know the operand has
to be a Constant.
llvm-svn: 85375
2009-10-28 05:14:34 +00:00
Chris Lattner
c750bb62ac
doc bug spotted by apinski
...
llvm-svn: 85372
2009-10-28 04:47:06 +00:00
Chris Lattner
2cb85b4020
'static const void *X = &&y' can only be put in the
...
readonly section if a reference to the containing function
is valid in the readonly section.
llvm-svn: 85370
2009-10-28 04:12:16 +00:00
Dan Gohman
cd139c0373
Rewrite SelectionDAG::isPredecessorOf to be iterative instead of
...
recursive to avoid consuming extraordinary amounts of stack space
when processing tall graphs.
llvm-svn: 85369
2009-10-28 03:44:30 +00:00