Andrew Trick
39a99140c7
X86 itinerary properties.
...
llvm-svn: 157981
2012-06-05 03:44:46 +00:00
Andrew Trick
b2680c718f
ARM itinerary properties.
...
llvm-svn: 157980
2012-06-05 03:44:43 +00:00
Andrew Trick
73d7736b17
misched: Added MultiIssueItineraries.
...
This allows a subtarget to explicitly specify the issue width and
other properties without providing pipeline stage details for every
instruction.
llvm-svn: 157979
2012-06-05 03:44:40 +00:00
Andrew Trick
a88d46e818
sdsched: Use the right heuristics when -mcpu is not provided and we have no itinerary.
...
Use ILP heuristics for long latency instrs if no scoreboard exists.
llvm-svn: 157978
2012-06-05 03:44:34 +00:00
Andrew Trick
ed7c96d7d9
misched: Allow disabling scoreboard hazard checking for subtargets with a
...
valid itinerary but no pipeline stages.
An itinerary can contain useful scheduling information without specifying pipeline stages for each instruction.
llvm-svn: 157977
2012-06-05 03:44:32 +00:00
Andrew Trick
515f131786
whitespace
...
llvm-svn: 157976
2012-06-05 03:44:29 +00:00
Andrew Trick
d36adece50
misched: comments from code review.
...
llvm-svn: 157975
2012-06-05 03:44:26 +00:00
Jakob Stoklund Olesen
345528944c
Remove the last remat-related code from LiveIntervalAnalysis.
...
Rematerialization is handled by LiveRangeEdit now.
llvm-svn: 157974
2012-06-05 01:06:15 +00:00
Jakob Stoklund Olesen
9e27e2621a
Stop using LiveIntervals::isReMaterializable().
...
It is an old function that does a lot more than required by
CalcSpillWeights, which was the only remaining caller.
The isRematerializable() function never actually sets the isLoad
argument, so don't try to compute that.
llvm-svn: 157973
2012-06-05 01:06:12 +00:00
Joel Jones
7f2ac7a2c8
Revert commit r157966
...
llvm-svn: 157972
2012-06-05 00:47:21 +00:00
Joel Jones
d08534f82e
This change handles a another case for generating the bic instruction
...
when a compile time constant is known. This occurs when implicitly zero
extending function arguments from 16 bits to 32 bits.
<rdar://problem/11481151>
llvm-svn: 157966
2012-06-04 23:38:57 +00:00
Jakob Stoklund Olesen
188d830405
Delete dead code.
...
llvm-svn: 157963
2012-06-04 23:01:41 +00:00
Rafael Espindola
47d988c54c
When gvn decides to replace an instruction with another, we have to patch the
...
replacement to make it at least as generic as the instruction being replaced.
This includes:
* dropping nsw/nuw flags
* getting the least restrictive tbaa and fpmath metadata
* merging ranges
Fixes PR12979.
llvm-svn: 157958
2012-06-04 22:44:21 +00:00
Jakob Stoklund Olesen
11fb248aa6
Switch LiveIntervals member variable to LLVM naming standards.
...
No functional change.
llvm-svn: 157957
2012-06-04 22:39:14 +00:00
Jakob Stoklund Olesen
5ef0e0b262
Pass context pointers to LiveRangeCalc::reset().
...
Remove the same pointers from all the other LiveRangeCalc functions,
simplifying the interface.
llvm-svn: 157941
2012-06-04 18:21:16 +00:00
Akira Hatanaka
3ee0405231
Add a test case for mips64 unaligned load/store instructions.
...
llvm-svn: 157939
2012-06-04 17:57:06 +00:00
Akira Hatanaka
b964932e70
Rename test/CodeGen/Mips/load-shift-left-right.ll.
...
llvm-svn: 157938
2012-06-04 17:50:36 +00:00
Akira Hatanaka
6734685f21
Fix a bug in MipsTargetLowering::LowerLOAD. A shift-right-logical node is
...
inserted after the shift-left-logical node.
llvm-svn: 157937
2012-06-04 17:46:29 +00:00
Roman Divacky
e3f15c98d1
Implement local-exec TLS on PowerPC.
...
llvm-svn: 157935
2012-06-04 17:36:38 +00:00
Hans Wennborg
245917b536
MIPS TLS: use the model selected by TargetMachine::getTLSModel().
...
This was mostly done already in r156162, but I missed one place.
llvm-svn: 157929
2012-06-04 14:02:08 +00:00
Nadav Rotem
b7bb72e4f3
Remove the "-promote-elements" flag. This flag is now enabled by default.
...
llvm-svn: 157925
2012-06-04 11:27:21 +00:00
Hans Wennborg
09610f3e09
Better comments for TLS-related X86 MachineOperand flags.
...
llvm-svn: 157920
2012-06-04 09:55:36 +00:00
Craig Topper
c6ac4cefcc
Add intrinsic forms for FMA instructions to opcode folding tables.
...
llvm-svn: 157917
2012-06-04 07:46:16 +00:00
Duncan Sands
b8d3d74de8
getAllOnesValue also works for vectors of integers.
...
llvm-svn: 157915
2012-06-04 07:18:12 +00:00
Craig Topper
3cb143016d
Add VFMADDSUB and VFMSUBADD FMA instructions to folding tables. Also add 213 forms of scalar FMA instructions.
...
llvm-svn: 157914
2012-06-04 07:08:21 +00:00
Hal Finkel
1de9bf01e4
Fix a copy-and-paste duplication error in the PPC 440 and A2 schedules (no functionality change).
...
llvm-svn: 157912
2012-06-04 02:39:52 +00:00
Hal Finkel
595817eebe
Enable generating PPC pre-increment (r+imm) instructions by default.
...
It seems that this no longer causes test suite failures on PPC64 (after r157159),
and often gives a performance benefit, so it can be enabled by default.
llvm-svn: 157911
2012-06-04 02:21:00 +00:00
Rafael Espindola
34b9c511c1
Represent .rept as an anonymous macro. This removes the need for the ActiveRept
...
vector. No functionality change.
Extracted from a patch by the PaX Team.
llvm-svn: 157909
2012-06-03 23:57:14 +00:00
Rafael Espindola
dd17c237a8
Add a typedef to simplify the code a bit. Not functionality change.
...
Part of a patch by the PaX Team.
llvm-svn: 157908
2012-06-03 22:41:23 +00:00
Craig Topper
79dbb0c6e4
Rename FMA3 feature flag to just FMA to match gcc so it can be added to clang.
...
llvm-svn: 157903
2012-06-03 18:58:46 +00:00
Craig Topper
2c5ccd8af7
Simplify the fma4 renaming code.
...
llvm-svn: 157902
2012-06-03 16:48:52 +00:00
NAKAMURA Takumi
2cf23dc272
IntRange: Restore the copy constuctor explicitly to appase buildbot.
...
llvm-svn: 157901
2012-06-03 15:42:12 +00:00
Craig Topper
720c7bde5c
Autoupgrade support the rename of x86.fma4 intrinsics to x86.fma from r157898.
...
llvm-svn: 157899
2012-06-03 08:07:25 +00:00
Craig Topper
fd53b80219
Rename fma4 intrinsics to just fma since they are now used for both FMA4 and FMA3. Autoupgrade support coming in a separate commit.
...
llvm-svn: 157898
2012-06-03 07:26:46 +00:00
Manman Ren
5097e4f38a
Revert r157831
...
llvm-svn: 157896
2012-06-03 03:14:24 +00:00
Craig Topper
29eafea292
Use sse_load_f32/64 for scalar FMA3 intrinsic patterns instead of 128-bit loads to match instruction behavior.
...
llvm-svn: 157895
2012-06-03 01:40:43 +00:00
Craig Topper
badd755a0e
Add neverHasSideEffects and mayLoad to FMA3 instructions.
...
llvm-svn: 157894
2012-06-03 00:30:49 +00:00
Benjamin Kramer
172f80849f
Use access(2) instead of stat(2) to check if a file exists.
...
Apart from being slightly cheaper, this fixes a real bug that hits 32 bit
linux systems. When passing a file larger than 2G to be linked (which isn't
that uncommon with large projects such as WebKit), clang's driver checks
if the file exists but the file size doesn't fit in an off_t and stat(2)
fails with EOVERFLOW. Clang then says that the file doesn't exist instead
of passing it to the linker.
llvm-svn: 157891
2012-06-02 16:28:09 +00:00
Stepan Dyatkovskiy
8a28bf5dd1
Added unittests for IntegersSubset and IntegersSubsetMapping.
...
- Fixed IntegersSubsetGeneric copy/assignment behaviour.
- Fixed IntegersSubsetGeneric::getSize/getSingleValue methods.
- Fixed IntegersSubsetGeneric::verify method.
Also IntegersSubset.h and IntegersSubsetMapping.h headers was fixed.
llvm-svn: 157887
2012-06-02 13:47:12 +00:00
Benjamin Kramer
bde9176663
Fix typos found by http://github.com/lyda/misspell-check
...
llvm-svn: 157885
2012-06-02 10:20:22 +00:00
Stepan Dyatkovskiy
0e46d8a08c
PR1255: case ranges.
...
IntRange converted from struct to class. So main change everywhere is replacement of ".Low/High" with ".getLow/getHigh()"
llvm-svn: 157884
2012-06-02 09:42:43 +00:00
Benjamin Kramer
539df9ef0a
Add move semantics to APInt.
...
llvm-svn: 157883
2012-06-02 08:39:08 +00:00
Stepan Dyatkovskiy
cab9603622
Additional change for 157881. Forget to fix another IntegerSubset constructor.
...
llvm-svn: 157882
2012-06-02 08:03:34 +00:00
Stepan Dyatkovskiy
f49b393c04
Small fix due to buildbot failures on mingw32. Fixed call of parent constructor for case when parent is template.
...
llvm-svn: 157881
2012-06-02 07:44:19 +00:00
Stepan Dyatkovskiy
9549f5894b
PR1255: case ranges.
...
IntegersSubsetGeneric, IntegersSubsetMapping: added IntTy template parameter, that allows use either APInt or IntItem. This change allows to write unittest for these classes.
llvm-svn: 157880
2012-06-02 07:26:00 +00:00
Manman Ren
be10421c17
ARM: add testing case for struct byval
...
rdar://9877866
llvm-svn: 157876
2012-06-02 05:37:44 +00:00
Akira Hatanaka
27512b167b
Add another test case which tests Mips' unaligned load/store instructions.
...
llvm-svn: 157874
2012-06-02 01:13:10 +00:00
Akira Hatanaka
6f3b2a670f
Fix a bug in the code which custom-lowers truncating stores in LegalizeDAG.
...
Check that the SDValue TargetLowering::LowerOperation returns is not null
before replacing the original node with the returned node.
llvm-svn: 157873
2012-06-02 01:10:34 +00:00
Chris Lattner
58268c23ac
remove an unused variable.
...
llvm-svn: 157872
2012-06-02 01:03:42 +00:00
Akira Hatanaka
63c0e2c58c
Fix test cases in test/CodeGen/Mips.
...
llvm-svn: 157868
2012-06-02 00:05:45 +00:00