Bill Wendling
86d49563a6
Compulsive reformatting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189697 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 21:07:33 +00:00
Bill Wendling
6e4d93b232
Random cleanup: No need to use a std::vector here, since createInternalizePass uses an ArrayRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189632 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 00:48:37 +00:00
Bill Wendling
80075c482c
Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189068 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 21:28:54 +00:00
Bill Wendling
cec45be796
Fix some tests. The 'false' version just omits the attribute altogether.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189065 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 21:20:14 +00:00
Bill Wendling
062cd9437f
Check only if we have this attribute. If it's not an attribute, then it's assumed false.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189063 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 21:16:14 +00:00
Bill Wendling
b4be7f6b04
FileCheckize some tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189060 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 20:46:05 +00:00
Bill Wendling
3c3ee1f8ac
FileCheck-ize tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188971 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 00:51:19 +00:00
Bill Wendling
dd778b230e
Reorder headers according to lint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188932 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 21:14:19 +00:00
Bill Wendling
4a4844a022
Remove use of forbidden 'iostream' header.
...
Also obsessively reorder the headers to be in something closer to alphabetical order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188928 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 20:36:42 +00:00
Bill Wendling
f675b3c644
Move registering the execution of a basic block to the beginning rather than the end.
...
There are situations which can affect the correctness (or at least expectation)
of the gcov output. For instance, if a call to __gcov_flush() occurs within a
block before the execution count is registered and then the program aborts in
some way, then that block will not be marked as executed. This is not normally
what the user expects.
If we move the code that's registering when a block is executed to the
beginning, we can catch these types of situations.
PR16893
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188849 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 23:52:00 +00:00
Bill Wendling
815af99a04
Use -disable-output and to suppress output and don't use a temporary file unless we need one.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188843 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 23:00:25 +00:00
Bill Wendling
873e392ffd
Make a few more things const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188484 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-15 20:25:44 +00:00
Bill Wendling
7d938adacc
Use a reference instead of making an unnecessary copy. Also use 'const'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188483 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-15 20:21:49 +00:00
Bill Wendling
e427297997
Constify the function parameters.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188469 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-15 18:46:14 +00:00
Bill Wendling
d275ff5d4c
Move stack protector names to the same place.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188198 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-12 20:09:37 +00:00
Bill Wendling
6ba2ed53bb
Revert r185882. This is causing problems with the gold linker and might be better handled by the linker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188029 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-08 23:51:04 +00:00
Bill Wendling
d3a9510264
Reapply r185872 now that the address sanitizer has been changed to support this.
...
Original commit message:
Stop emitting weak symbols into the "coal" sections.
The Mach-O linker has been able to support the weak-def bit on any symbol for
quite a while now. The compiler however continued to place these symbols into a
"coal" section, which required the linker to map them back to the base section
name.
Replace the sections like this:
__TEXT/__textcoal_nt instead use __TEXT/__text
__TEXT/__const_coal instead use __TEXT/__const
__DATA/__datacoal_nt instead use __DATA/__data
<rdar://problem/14265330>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187939 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 23:42:09 +00:00
Bill Wendling
55a1a590bf
Change the linkage of these global values to 'internal'.
...
The globals being generated here were given the 'private' linkage type. However,
this caused them to end up in different sections with the wrong prefix. E.g.,
they would be in the __TEXT,__const section with an 'L' prefix instead of an 'l'
(lowercase ell) prefix.
The problem is that the linker will eat a literal label with 'L'. If a weak
symbol is then placed into the __TEXT,__const section near that literal, then it
cannot distinguish between the literal and the weak symbol.
Part of the problems here was introduced because the address sanitizer converted
some C strings into constant initializers with trailing nuls. (Thus putting them
in the __const section with the wrong prefix.) The others were variables that
the address sanitizer created but simply had the wrong linkage type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187827 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-06 22:52:42 +00:00
Bill Wendling
ac838d1c14
FileCheckize some of the testcases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187756 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 23:43:18 +00:00
Bill Wendling
51b6fb4469
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187755 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-05 23:29:16 +00:00
Bill Wendling
61fc8d670f
Use function attributes to indicate that we don't want to realign the stack.
...
Function attributes are the future! So just query whether we want to realign the
stack directly from the function instead of through a random target options
structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187618 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-01 21:42:05 +00:00
Bill Wendling
d6a721b14d
Fix underscore to be the proper length.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187406 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-30 08:26:24 +00:00
Bill Wendling
e130dc6cc9
Use a non-c'tor for converting a boolean into a StringRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187250 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-26 21:50:30 +00:00
Bill Wendling
fb5b3eaacb
Add a bool->StringRef c'tor to StringRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187166 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 23:06:39 +00:00
Bill Wendling
9e2ef7780b
Add a way to add a kind-value string pair to an attribute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187138 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 18:34:24 +00:00
Bill Wendling
f245ae5a4a
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.
...
There's no need to specify a flag to omit frame pointer elimination on non-leaf
nodes...(Honestly, I can't parse that option out.) Use the function attribute
stuff instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187093 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 00:34:29 +00:00
Bill Wendling
9b344d920f
Add helpful accessor methods to get the specified function attribute.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187088 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-24 23:45:00 +00:00
Bill Wendling
0dcba2fadb
Recommit r186217 with testcase fix:
...
Use the function attributes to pass along the stack protector buffer size.
Now that we have robust function attributes, don't use a command line option to
specify the stack protecto buffer size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186863 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-22 20:15:21 +00:00
Bill Wendling
8a50013cc2
Use the function attributes to pass along the stack protector buffer size.
...
Now that we have robust function attributes, don't use a command line option to
specify the stack protecto buffer size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186217 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-12 22:25:20 +00:00
Bill Wendling
c6fbaa9701
Don't run internalize if we're outputing bit-code and not an object file.
...
The problem with running internalize before we're ready to output an object file
is that it may change a 'weak' symbol into an internal one, but that symbol
could be needed by an external object file --- e.g. with arclite.
<rdar://problem/14334895>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185882 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-08 23:23:03 +00:00
Bill Wendling
8722e25715
Stop emitting weak symbols into the "coal" sections.
...
The Mach-O linker has been able to support the weak-def bit on any symbol for
quite a while now. The compiler however continued to place these symbols into a
"coal" section, which required the linker to map them back to the base section
name.
Replace the sections like this:
__TEXT/__textcoal_nt instead use __TEXT/__text
__TEXT/__const_coal instead use __TEXT/__const
__DATA/__datacoal_nt instead use __DATA/__data
<rdar://problem/14265330>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185872 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-08 21:34:52 +00:00
Bill Wendling
a37d96a04b
The GCDA 402 format won't have a second checksum either.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184864 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-25 18:13:52 +00:00
Bill Wendling
face8d901e
Remove static, because it was messing everything up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184400 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-20 06:51:06 +00:00
Bill Wendling
228546b8cb
This is now a duplicate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184376 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 22:16:33 +00:00
Bill Wendling
3b6e067f56
Make the '==' operator inline.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184375 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 22:16:11 +00:00
Bill Wendling
8623ecb263
Make this static inline to avoid duplicates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184374 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 22:12:11 +00:00
Bill Wendling
59aa540738
Make the comparison operators non-member functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184373 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 22:09:25 +00:00
Bill Wendling
0c92f2a1c7
Don't pass in the TargetInstrInfo into the register info object. It doesn't use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184369 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 21:59:00 +00:00
Bill Wendling
ba54bca472
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184360 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 21:36:55 +00:00
Bill Wendling
f9fd58a44b
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184352 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 21:07:11 +00:00
Bill Wendling
ea44281d5d
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184349 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 20:51:24 +00:00
Bill Wendling
2e1dc2d265
Add operator!= as the compliment to operator==. This is for a future change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184348 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 20:50:12 +00:00
Bill Wendling
d626d33246
Don't cache the TLI object since we have access to it through TargetMachine already.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184346 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 20:32:16 +00:00
Bill Wendling
ae5758bac7
Add unit test to test a trivial verifier check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184338 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19 19:26:44 +00:00
Bill Wendling
041a18dbb3
Identify me on IRC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184247 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-18 22:09:36 +00:00
Bill Wendling
f2db8dfa84
We want a string representation of the attribute, not the kind as a string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184239 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-18 21:27:00 +00:00
Bill Wendling
99cb622041
Use pointers to the MCAsmInfo and MCRegInfo.
...
Someone may want to do something crazy, like replace these objects if they
change or something.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-18 07:20:20 +00:00
Bill Wendling
b44193dde1
Remove dead prototype.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184173 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-18 06:24:14 +00:00
Bill Wendling
4ca0ddaefa
Simplify some of the code. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184172 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-18 06:07:26 +00:00
Bill Wendling
d10fa8b1ca
Directly access objects which may change during compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184121 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-17 20:41:25 +00:00
Bill Wendling
e488b4ecdc
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183572 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 21:04:35 +00:00
Bill Wendling
a5e5ba611f
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183571 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 21:00:34 +00:00
Bill Wendling
1ce4985e01
Remove unused c'tor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183570 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 20:59:31 +00:00
Bill Wendling
fc61b6f111
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183567 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 20:42:15 +00:00
Bill Wendling
c1dcb8d654
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183565 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 20:35:25 +00:00
Bill Wendling
b5632b5b45
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183561 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 20:28:55 +00:00
Bill Wendling
ab5ad9fe50
Add a script to help us create source tar balls for the release.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183509 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 11:15:30 +00:00
Bill Wendling
451ee21d14
Use proper exit code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183508 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 11:14:37 +00:00
Bill Wendling
80ada583f3
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183494 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 07:55:53 +00:00
Bill Wendling
41e632d9e1
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183493 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 07:04:14 +00:00
Bill Wendling
ed8b5b55a4
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183492 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 06:30:15 +00:00
Bill Wendling
637eab6a3b
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183491 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 06:26:43 +00:00
Bill Wendling
54a56fad36
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183490 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 06:19:56 +00:00
Bill Wendling
57148c166a
Don't cache the instruction and register info from the TargetMachine, because
...
the internals of TargetMachine could change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183488 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 05:54:19 +00:00
Bill Wendling
4393f48c03
Don't cache the instruction info and register info objects.
...
These objects are internal to the TargetMachine object and may change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183485 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-07 05:00:11 +00:00
Bill Wendling
2ed7659b88
Cast to the correct type. Pointer, not reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183385 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06 05:39:29 +00:00
Bill Wendling
b88cef5a16
Cast to the proper type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183365 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06 01:04:21 +00:00
Bill Wendling
6a2e7ac0b6
Cache the TargetLowering info object as a pointer.
...
Caching it as a pointer allows us to reset it if the TargetMachine object
changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183361 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06 00:43:09 +00:00
Bill Wendling
384ceb8446
Don't cache the TargetLoweringInfo object inside of the FunctionLowering object.
...
The TargetLoweringInfo object is owned by the TargetMachine. In the future, the
TargetMachine object may change, which may also change the TargetLoweringInfo
object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183356 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-06 00:11:39 +00:00
Bill Wendling
08368387a4
Add space to assert message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183346 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-05 23:13:26 +00:00
Bill Wendling
1c611ecdfd
We are now in 3.4 land. We don't need the 3.3 releaese notes in ToT anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183210 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-04 06:12:31 +00:00
Bill Wendling
79b40f10c0
Use the const_cast only where necessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182950 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-30 18:52:57 +00:00
Bill Wendling
8a65e11c9f
This testcase tests command line attributes which we don't yet support.
...
In fact, we're probably going to support these flags in completely different
ways. So this test is no longer valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182899 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-30 00:32:04 +00:00
Bill Wendling
cc5a882c96
Don't reach into the middle of TargetMachine and cache one of its ivars.
...
Not only does this break encapsulation, it's gross.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182876 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-29 20:37:19 +00:00
Bill Wendling
8c18a6fe37
The command line options need to be processed before we create the TargetMachine.
...
Move the processing of the command line options to right before we create the
TargetMachine instead of after.
<rdar://problem/13468287>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182611 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-23 21:21:50 +00:00
Bill Wendling
3b1040c703
The DWARF EH pass doesn't need the TargetMachine, only the TargetLoweringBase like the other EH passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182321 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-20 21:54:18 +00:00
Bill Wendling
07418cde47
No need to store the TargetMachine variable in this class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182317 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-20 21:28:28 +00:00
Bill Wendling
d02c8f4066
Remove unused #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182315 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-20 20:59:12 +00:00
Bill Wendling
30042c58db
Use proper syntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181930 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-15 21:38:12 +00:00
Bill Wendling
769b71a7f5
Add lldb and polly to the projects to tag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-15 21:36:46 +00:00
Bill Wendling
edfef3bd27
Generate a compact unwind encoding in the face of a stack alignment push.
...
We generate a `push' of a random register (%rax) if the stack needs to be
aligned by the size of that register. However, this could mess up compact unwind
generation. In particular, we want to still generate compact unwind in the
presence of this monstrosity.
Check if the push of of the %rax/%eax register. If it is and it's marked with
the `FrameSetup' flag, then we can generate a compact unwind encoding for the
function only if the push is the last FrameSetup instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181540 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-09 20:10:38 +00:00
Bill Wendling
1f4b796b49
Simplify the code a bit.
...
The compact unwind registers were defined in two different
places. It's better just to place them in the function that uses them
and specify that this is a 64-bit or 32-bit machine.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181529 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-09 18:21:45 +00:00
Bill Wendling
77bf8661cd
Add libcxx and clang-tools-extra to the testing thing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181418 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-08 09:31:10 +00:00
Bill Wendling
7193427e21
Add clang-tools-extra to the list of things to tag for the release.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181402 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-08 09:23:53 +00:00
Bill Wendling
5812cdb9e5
Add the libc++ project to those we tag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181371 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-07 22:15:06 +00:00
Bill Wendling
0c25b8f07e
We're in 3.4 land now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181350 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-07 20:31:28 +00:00
Bill Wendling
d87dceb8d6
Reduce attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181245 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-06 20:57:23 +00:00
Bill Wendling
10c6d2c84c
Add a testcase that checks that we generate functions with frame
...
pointers or not depending upon the function attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181180 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-06 05:45:57 +00:00
Bill Wendling
b41528507c
Remove this hack. We can support this better with function attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181059 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03 21:53:50 +00:00
Bill Wendling
53f1b19c6e
Remove redundant flag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180967 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-02 22:52:47 +00:00
Bill Wendling
2900535e65
We don't want FP elimination when doing an Apple-style build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180949 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-02 21:09:03 +00:00
Bill Wendling
f18a32eb12
Revert r180737. The companion patch was reverted, and this is not relevant right now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180889 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-01 22:32:08 +00:00
Bill Wendling
725dae5791
Revert the command line option patch. However, keep the part that makes this pass on Windows. I.e., we don't emit the target dependent attributes in a comment before the function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180750 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-29 23:48:06 +00:00
Bill Wendling
ad96c64355
Duplicate a testcase.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180744 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-29 22:42:47 +00:00
Bill Wendling
fa2eac54e6
Emit the TLS initialization function pointers into the correct section.
...
The `llvm.tls_init_funcs' (created by the front-end) holds pointers to the TLS
initialization functions. These need to be placed into the correct section so
that they are run before `main()'.
<rdar://problem/13733006>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180737 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-29 22:25:40 +00:00
Bill Wendling
f1d9fe9d04
Micro-optimization
...
TLVs probably won't be as common as the other types of variables. Check for them
last before defaulting to "DATA".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180631 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-26 21:15:08 +00:00
Bill Wendling
c60e252ef6
Align the __LD,__compact_unwind section.
...
I know what would be cool! We should align the compact unwind section because
aligned data access is faster.
<rdar://problem/13723271>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180171 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-24 03:11:14 +00:00
Bill Wendling
d868af77df
Remove tbaa metadata.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179970 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-21 01:38:25 +00:00
Bill Wendling
df0d1855ca
Make variable match any name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179903 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19 22:30:43 +00:00
Bill Wendling
9c32678668
Try explicitly setting the target triple to see if this gets it to pass on ARM.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179890 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19 21:24:51 +00:00