Fariborz Jahanian
d264ee0cba
Use array's base element type in getting to its
...
constructor. WIP.
llvm-svn: 85420
2009-10-28 19:04:36 +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
Fariborz Jahanian
57277c5cae
Removed an unnecessary arguement passed to InitializeVarWithConstructor
...
which should come from the variable and wasn't correct for arrays in any case.
No change in functionality.
llvm-svn: 85415
2009-10-28 18:41:06 +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
Fariborz Jahanian
370606afee
Restored note on pointer to members with a pointer
...
to issue involved.
llvm-svn: 85409
2009-10-28 18:06:53 +00:00
Chris Lattner
ab5e0af8bc
random tidying
...
llvm-svn: 85408
2009-10-28 17:39:19 +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
Fariborz Jahanian
7e4e44f5fa
Removed a Note related to pointer to member functions which
...
does not seem to exist any longer.
llvm-svn: 85405
2009-10-28 17:25:01 +00:00
Devang Patel
ffd561bc2d
llvm.dbg.global_variables do not exist anymore.
...
llvm-svn: 85402
2009-10-28 16:51:52 +00:00
Fariborz Jahanian
42f666342c
Diagnose use of data pointer member in a function call
...
expression instead of crashing.
llvm-svn: 85401
2009-10-28 16:49:46 +00:00
Douglas Gregor
05925031f7
Mangle based on the declaration we're given, not the canonical
...
declaration, since attributes that affect mangling may have been added
to subsequent declarations. However, to determine the linkage of the
declaration, we need to look at the canonical declaration. Fixes PR4412.
llvm-svn: 85400
2009-10-28 16:31:34 +00:00
Shantonu Sen
04f121bc50
Work around strictness in gcc 4.4.1 casting a function pointer to void *
...
llvm-svn: 85397
2009-10-28 15:54:04 +00:00
Shantonu Sen
1467592c6d
Add stdlib.h for rand() prototype
...
llvm-svn: 85396
2009-10-28 15:46:10 +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
5c5214626c
Fix for PR4887, Credit to Jonathan Gray.
...
llvm-svn: 85392
2009-10-28 15:13:08 +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
Zhongxing Xu
cb131542f1
make CallGraph more flexible by letting it accept ASTContext instead of ASTUnit.
...
Patch by Simone Pellegrini.
llvm-svn: 85386
2009-10-28 12:23:03 +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
5e71d43155
adjust for a pending LLVM change.
...
llvm-svn: 85373
2009-10-28 05:12:07 +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
Chris Lattner
3432c62d93
full asmparser support for blockaddress. We can now do:
...
$ llvm-as foo.ll -d -disable-output
which reads and prints the .ll file. BC encoding is the
next project. Testcase will go in once that works.
llvm-svn: 85368
2009-10-28 03:39:23 +00:00
Chris Lattner
214cc709bc
asmprinter support for BlockAddress.
...
llvm-svn: 85367
2009-10-28 03:38:12 +00:00
Chris Lattner
3a39530445
when we tear down a module, we need to be careful to
...
zap BlockAddress values.
llvm-svn: 85366
2009-10-28 03:37:35 +00:00
Chris Lattner
1c4b03c2d7
basic blocks can now have non-instruction users.
...
llvm-svn: 85365
2009-10-28 03:36:44 +00:00
Dan Gohman
1b44f10ff4
Teach MachineLICM to unfold loads from constant memory from
...
otherwise unhoistable instructions in order to allow the loads
to be hoisted.
llvm-svn: 85364
2009-10-28 03:21:57 +00:00
Mike Stump
82d25e4e5e
Add mangling for VTTs.
...
llvm-svn: 85363
2009-10-28 01:51:46 +00:00
Evan Cheng
4a609f3cef
Use fconsts and fconstd to materialize small fp constants.
...
llvm-svn: 85362
2009-10-28 01:44:26 +00:00
Evan Cheng
83896a59e1
Add a second ValueType argument to isFPImmLegal.
...
llvm-svn: 85361
2009-10-28 01:43:28 +00:00
Dan Gohman
4b46cbfc23
Mark dead physregdefs dead immediately. This helps MachineSink and
...
MachineLICM and other things which run before LiveVariables is run.
llvm-svn: 85360
2009-10-28 01:13:53 +00:00
Dan Gohman
75d6a4afd2
Allow constants of different types to share constant pool entries
...
if they have compatible encodings.
llvm-svn: 85359
2009-10-28 01:12:16 +00:00
Evan Cheng
deab9dee12
Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed.
...
llvm-svn: 85358
2009-10-28 01:08:17 +00:00