Commit Graph

177248 Commits

Author SHA1 Message Date
Eric Christopher f0dad2670d Remove unnecessary caching of the TargetMachine on NVPTXFrameLowering.
Adjust the constructor accordingly.

llvm-svn: 211846
2014-06-27 02:05:22 +00:00
Eric Christopher d8132862a9 Rework the logic for setting the TargetName. This appears to
be shorter and identical in goal.

llvm-svn: 211845
2014-06-27 02:05:19 +00:00
Alp Toker 1a5a520d95 Add test coverage for .bc input in the frontend
Test that we can consume LLVM bitcode and additionally check that it produces
the same output as a direct compilation.

The feature is crashy and has gone untested until now, but we might as well
provide some coverage as long as it remains in tree.

Also test LL source input in the same way because the existing tests for that
don't look convincing.

llvm-svn: 211844
2014-06-27 02:04:28 +00:00
Alp Toker aab3a8f2fb Remove .bc from test config.suffixes
This was unused. Besides, a binary file can't really contain lit ShTests.

llvm-svn: 211843
2014-06-27 02:04:21 +00:00
Bruce Mitchener bb8e39b1a9 Test commit: wether -> whether.
llvm-svn: 211842
2014-06-27 01:58:47 +00:00
NAKAMURA Takumi a217a1a68b clang/test/Driver/fuse-ld.c: Really fix to match dos path.
llvm-svn: 211841
2014-06-27 01:32:59 +00:00
Eric Christopher e032a8c0bd Remove caching of the target machine in NVPTXInstrInfo and
update constructor accordingly.

llvm-svn: 211840
2014-06-27 01:27:08 +00:00
Eric Christopher a1869461e1 Remove comment that duplicated information in the constructor
that it's after.

llvm-svn: 211839
2014-06-27 01:27:06 +00:00
Eric Christopher e8f50281a9 Remove commented out code.
llvm-svn: 211838
2014-06-27 01:27:05 +00:00
Eric Christopher c22ad16bc6 Remove extraneous parens and extraneous const cast (and fix the
prototype for the function to patch what we were returning).

llvm-svn: 211837
2014-06-27 01:27:03 +00:00
Eric Christopher 1f86ccac46 Move the subtarget dependent features from the target machine to
the subtarget for the MSP430 target.

llvm-svn: 211836
2014-06-27 01:14:54 +00:00
Eric Christopher 72a5b2a14e Remove uses and caches of the target machine and subtarget from
both MSP430InstrInfo and MSP430RegisterInfo. Remove unused member
variable StackAlign from MSP430RegisterInfo. Update constructors
accordingly.

llvm-svn: 211835
2014-06-27 01:14:50 +00:00
NAKAMURA Takumi 360096e701 Make clang-tidy-diff.py py3-compatible.
llvm-svn: 211834
2014-06-27 01:10:18 +00:00
Nick Kledzik 1e8dbd360d Add const to sort() comparator function. Caught by gcc but not clang
llvm-svn: 211833
2014-06-27 01:04:01 +00:00
Anna Zaks b8de0c4278 Do not inline methods of C++ containers (coming from headers).
This silences false positives (leaks, use of uninitialized value) in simple
code that uses containers such as std::vector and std::list. The analyzer
cannot reason about the internal invariances of those data structures which
leads to false positives. Until we come up with a better solution to that
problem, let's just not inline the methods of the containers and allow objects
to escape whenever such methods are called.

This just extends an already existing flag "c++-container-inlining" and applies
the heuristic not only to constructors and destructors of the containers, but
to all of their methods.

We have a bunch of distinct user reports all related to this issue
(radar://16058651, radar://16580751, radar://16384286, radar://16795491
[PR19637]).

llvm-svn: 211832
2014-06-27 01:03:05 +00:00
NAKAMURA Takumi 25dadfd2a8 Suppress clang-tools-extra/test/clang-tidy/clang-tidy-diff.cpp on win32 due to dos path issue.
I'll fix it later.

llvm-svn: 211831
2014-06-27 00:55:16 +00:00
Eric Christopher f8e346847d Remove caching of an unused subtarget from MSP430FrameLowering.
llvm-svn: 211830
2014-06-27 00:52:11 +00:00
Dmitry Vyukov fb251f51a9 tsan: add __tsan_java_finalize interface function
It is required to prevent false positives between object ctor and finalizer,
as otherwise they look completely unsynchronized.

llvm-svn: 211829
2014-06-27 00:47:38 +00:00
Adam Nemet 73f72e15ac [X86] AVX512: Add vbroadcasti*
For now I used a separate template for these sub-vector/tuple broadcasts
rather than sharing the mem variants with avx512_int_broadcast_rm.

<rdar://problem/17402869>

llvm-svn: 211828
2014-06-27 00:43:38 +00:00
Eric Christopher dc13b21d63 Remove unnecessary caching of variables by MSP430TargetLowering and
make the constructor more general since it only needs a target
machine.

llvm-svn: 211827
2014-06-27 00:37:59 +00:00
Eric Christopher 6b27b7a859 Have MSP430SelectionDAGInfo constructor take a DataLayout rather
than a target machine since it doesn't need anything past the
DataLayout.

llvm-svn: 211826
2014-06-27 00:37:57 +00:00
Nick Kledzik 728d606689 Add utility to SimpleDefinedAtom to sort references
llvm-svn: 211825
2014-06-27 00:30:31 +00:00
Eric Christopher c4c63ae9f4 Move all of the hexagon subtarget dependent variables from the target
machine to the subtarget.

llvm-svn: 211824
2014-06-27 00:27:40 +00:00
Logan Chien ad86372630 Allow different path separator for windows build.
llvm-svn: 211823
2014-06-27 00:19:33 +00:00
Eric Christopher 4496eb0b09 Have HexagonSelectionDAGInfo take a DataLayout rather than a
target machine since that's all it needs.

llvm-svn: 211822
2014-06-27 00:18:25 +00:00
Eric Christopher dbe1cb0d59 Make HexagonISelLowering not dependent upon a HexagonTargetMachine,
but a normal TargetMachine and remove a few cached uses.

llvm-svn: 211821
2014-06-27 00:13:52 +00:00
Eric Christopher 6e9bcd1528 Reduce indentation.
llvm-svn: 211820
2014-06-27 00:13:49 +00:00
Eric Christopher a68f376333 Remove unnecessary caching of the subtarget for HexagonFrameLowering and remove the unused constructor argument.
llvm-svn: 211819
2014-06-27 00:13:47 +00:00
Eric Christopher 0d0b3600d8 InstrItineraryData is already on the subtarget, no reason to
cache it on the target as well.

llvm-svn: 211818
2014-06-27 00:13:43 +00:00
Juergen Ributzka 009bff223b [StackMaps] Enable patchpoint liveness analysis per default.
llvm-svn: 211817
2014-06-26 23:39:52 +00:00
Juergen Ributzka 14871f73bb [Stackmaps] Remove the liveness calculation for stackmap intrinsics.
There is no need to calculate the liveness information for stackmaps. The
liveness information is still available for the patchpoint intrinsic and
that is also the intended usage model.

Related to <rdar://problem/17473725>

llvm-svn: 211816
2014-06-26 23:39:44 +00:00
Lang Hames ad6324f78b [RuntimeDyld] Teach MachOObjectImage to deregister itself with the debugger upon
destruction the same way ELFObjectImage does.

llvm-svn: 211815
2014-06-26 23:05:44 +00:00
Alp Toker e69170a110 Revert "Introduce a string_ostream string builder facilty"
Temporarily back out commits r211749, r211752 and r211754.

llvm-svn: 211814
2014-06-26 22:52:05 +00:00
Reid Kleckner 11c6f6165b Avoid extra back reference key lookup in msmangler
Avoid a second key lookup when the back reference key is going to be
inserted in the StringMap. The string lookups in the msmangler are the
main responsible for the huge overhead when compared to the itanium
mangler. This patch makes a small but noticeable improvement.

Reviewed by: rnk

Differential Revision: http://reviews.llvm.org/D4130

Patch by Agustín Bergé!

llvm-svn: 211813
2014-06-26 22:42:18 +00:00
Todd Fiala 34413ec640 Fix an incomplete null structure spec in Python readline suppression module.
Now that I'm building Linux with clang, I'm seeing more clang warnings.
This fills in some extra fields missing in the final end-of-structure-array
marker.

llvm-svn: 211812
2014-06-26 22:35:36 +00:00
Eric Christopher ca38fdc182 Move the various Subtarget dependent members down to the subtarget
for the Sparc port. Use the same initializeSubtargetDependencies
function to handle initialization similar to the other ports to
handle dependencies.

llvm-svn: 211811
2014-06-26 22:33:55 +00:00
Eric Christopher 05202dbabc Have SparcSelectionDAGInfo take a DataLayout to initialize since
that's all it needs.

llvm-svn: 211810
2014-06-26 22:33:52 +00:00
Eric Christopher 55414d4379 Remove the storage and use of the subtarget out of the sparc frame
lowering code.

llvm-svn: 211809
2014-06-26 22:33:50 +00:00
Sanjay Patel 8a1ce76e33 fixed typo
llvm-svn: 211808
2014-06-26 22:18:51 +00:00
Fariborz Jahanian 53f867ac45 Objective-C ARC. Provide diagnostic and fix-it
when casting a retainable object to a objc_bridge_related
CF type with the suggestion of applying the method
specified in the bridging attribute to the object.
// rdar://15932435

llvm-svn: 211807
2014-06-26 21:22:16 +00:00
Justin Bogner f05a499339 Driver: Fix a misleading comment and test for what it actually did
llvm-svn: 211806
2014-06-26 20:59:39 +00:00
Justin Bogner 5aaf2e729b Driver: Remove trailing whitespace
llvm-svn: 211805
2014-06-26 20:59:36 +00:00
Tom Roeder b508119fb6 Fix the new LTOCodeGenerator setup in gold to parse options before using MAttrs.
This fixes a regression that made clang -flto -Wl,--plugin-opt=-mattr=+aes not
pass the "+aes" option to the LTOCodeGenerator attributes.

llvm-svn: 211804
2014-06-26 20:43:27 +00:00
Johannes Doerfert 1530adffdd [Refactor] Make the used dependence types explicit
llvm-svn: 211803
2014-06-26 20:24:17 +00:00
Hans Wennborg 1da044a4da clang-cl: Don't store the cl compiler Tool on the stack (PR20131)
The Command will refer back to the Tool as its source,
so it has to outlive the Command.

Having the Tool on the stack would cause us to crash
when using "clang-cl -GR -fallback", because if the
Command fails, Driver::ExecuteCompilation tries to
peek at the Command's source.

Differential Revision: http://reviews.llvm.org/D4314

llvm-svn: 211802
2014-06-26 19:59:02 +00:00
Arnold Schwaighofer ed988fb97d GVN: Preserve invariant.load metadata
If both instructions to be replaced are marked invariant the resulting
instruction is invariant.

rdar://13358910

Fix by Erik Eckstein!

llvm-svn: 211801
2014-06-26 19:51:19 +00:00
Eric Christopher 83e0723457 Remove extraneous includes from the target machines.
llvm-svn: 211800
2014-06-26 19:30:05 +00:00
Eric Christopher 80b24ef429 Move all of the ARM subtarget features down onto the subtarget
rather than the target machine.

llvm-svn: 211799
2014-06-26 19:30:02 +00:00
Eric Christopher 45fb7b6397 Move the frame lowering constructors out of line to avoid circular
includes.

llvm-svn: 211798
2014-06-26 19:29:59 +00:00
Johannes Doerfert 76dd493eff [Fix] Broken tests after r211796.
llvm-svn: 211797
2014-06-26 19:29:11 +00:00