Bill Wendling
bff30bb463
Mark registers as DEAD because they're really just clobbers.
...
llvm-svn: 142027
2011-10-15 00:27:44 +00:00
Eli Friedman
c8d798d91e
Add missing correctness check to ARMTargetLowering::ReconstructShuffle. Fixes PR11129.
...
llvm-svn: 142022
2011-10-14 23:58:49 +00:00
Bill Wendling
b1bbf0394f
Make sure that the register is in the register class before adding it as a machine op.
...
llvm-svn: 142021
2011-10-14 23:55:44 +00:00
Bill Wendling
4191045be4
Mark the invoke call instruction as implicitly defining the callee-saved registers.
...
The callee-saved registers cannot be live across an invoke call because the
control flow may continue along the exceptional edge. When this happens, all of
the callee-saved registers are no longer valid.
llvm-svn: 142018
2011-10-14 23:34:37 +00:00
Chris Lattner
c24bb1d147
constify array itself, don't iterate multiple times.
...
llvm-svn: 142013
2011-10-14 22:50:21 +00:00
Tanya Lattner
7feda80474
Allow the source module to be materialized during the linking process.
...
llvm-svn: 142010
2011-10-14 22:17:46 +00:00
Owen Anderson
96976108b1
Update test for disabling of code/data marker labels in ELF.
...
llvm-svn: 142003
2011-10-14 21:12:55 +00:00
Richard Trieu
5370a1ef01
Fix a non-firing assert. Change:
...
assert("bad SymbolicOp.VariantKind");
To:
assert(0 && "bad SymbolicOp.VariantKind");
llvm-svn: 142000
2011-10-14 20:50:26 +00:00
Torok Edwin
ab8624db55
OCaml bindings: add some missing functions and testcases.
...
The C bindings exposed some APIs that weren't covered by the OCaml bindings
llvm-svn: 141997
2011-10-14 20:38:33 +00:00
Torok Edwin
562d70c5ec
OCaml bindings: fix attributes to use all 32 bits
...
OCaml's int is limited to 31 bits on 32-bit architectures, so use Int32
explicitly.
Also add an unpack_attr, and {function,param,instr}_attr functions to read
the attributes.
llvm-svn: 141996
2011-10-14 20:38:24 +00:00
Torok Edwin
d75f74a0f2
OCaml bindings: add icmp_predicate
...
llvm-svn: 141995
2011-10-14 20:38:19 +00:00
Torok Edwin
39d89ea3b3
OCaml bindings: fix infinite recursion on string_of_lltype
...
llvm-svn: 141994
2011-10-14 20:38:14 +00:00
Torok Edwin
4beae25e5a
bindings: named struct support
...
llvm-svn: 141993
2011-10-14 20:38:08 +00:00
Torok Edwin
50c1b48b4c
ocaml bindings: add findlib META support
...
This makes it easier to link against LLVM libs, especially if you are using
_oasis.
llvm-svn: 141992
2011-10-14 20:38:02 +00:00
Torok Edwin
5ea77f1df2
ocaml bindings: introduce classify_value
...
llvm-svn: 141991
2011-10-14 20:37:56 +00:00
Torok Edwin
47a6a6a1fc
ocaml bindings: add getopcode for constant and instruction, and int64_of_const.
...
llvm-svn: 141990
2011-10-14 20:37:49 +00:00
Torok Edwin
463c360a11
bindings: tab and indentation fixes of my previous commits
...
llvm-svn: 141989
2011-10-14 20:37:42 +00:00
Evan Cheng
15ab434f80
A few 80-col violations.
...
llvm-svn: 141988
2011-10-14 20:36:23 +00:00
Owen Anderson
8a401b97ea
Disable code/data region symbols on ELF targets, where different mapping symbols are used for ARM/Thumb mode code. This should only be re-enabled once we have a solution to properly distinguish these.
...
llvm-svn: 141984
2011-10-14 20:28:57 +00:00
Hal Finkel
8e97422bd9
Add an implementation of the CanLowerReturn function to the PPC backend
...
llvm-svn: 141981
2011-10-14 19:51:36 +00:00
Akira Hatanaka
e4597ae8c1
Add f128 to datalayout string.
...
llvm-svn: 141978
2011-10-14 19:14:50 +00:00
David Greene
49763ec294
Fix threads/jobs Calculation
...
Pass the correct jobs and threads information to the builder.
We were underutilizing the number of jobs and threads specified
by the user.
llvm-svn: 141977
2011-10-14 19:12:37 +00:00
David Greene
81607c1378
Add Helpful Messages
...
Bit just a bit more verbose about what's going on. Print options
to make to aid debugging.
llvm-svn: 141976
2011-10-14 19:12:35 +00:00
David Greene
082a0faa50
Add Option to Skip Install
...
Add a --no-install option to skip installing components. This
speeds up the develop/test cycle.
llvm-svn: 141975
2011-10-14 19:12:34 +00:00
David Greene
2e7a259810
Add Option to Skip gcc Build
...
And a --no-gcc option to skip dragonegg and gcc builds.
This greatly speeds up the develop/test cycle.
llvm-svn: 141974
2011-10-14 19:12:33 +00:00
Hal Finkel
a298e1cae7
initial test commit (remove whitespace)
...
llvm-svn: 141972
2011-10-14 18:54:13 +00:00
Jakob Stoklund Olesen
6f0c76740b
Update live-in lists when splitting critical edges.
...
Fixes PR10814. Patch by Jan Sjödin!
llvm-svn: 141960
2011-10-14 17:25:46 +00:00
Akira Hatanaka
70199b7136
Revert r141932, r141936 and r141937.
...
llvm-svn: 141959
2011-10-14 17:16:39 +00:00
Jim Grosbach
b06728a837
Fix typo. "__sync_fetch_and-xor_4" should be "__sync_fetch_and_xor_4".
...
Pointed out by George Russell.
llvm-svn: 141956
2011-10-14 15:53:48 +00:00
Nick Lewycky
610fc64d78
An instruction's operands aren't necessarily instructions or constants. They
...
could be arguments, for example.
No testcase because this is a bug-fix broken out of a larger optimization patch.
llvm-svn: 141951
2011-10-14 09:38:46 +00:00
Craig Topper
0a11eb1b21
Add X86 ANDN instruction. Including instruction selection.
...
llvm-svn: 141947
2011-10-14 07:06:56 +00:00
Craig Topper
6b2120a8e1
Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell.
...
llvm-svn: 141939
2011-10-14 03:21:46 +00:00
Akira Hatanaka
24e913fbe2
Definition of function getMipsRegisterNumbering.
...
Patch by Jack Carter and Reed Kotler at Mips.
llvm-svn: 141938
2011-10-14 03:04:24 +00:00
Akira Hatanaka
516b4b0352
Add definition of class MipsELFWriterInfo.
...
Patch by Jack Carter and Reed Kotler at Mips.
llvm-svn: 141937
2011-10-14 02:55:47 +00:00
Akira Hatanaka
9922f8d014
Add missing relocation types.
...
Patch by Jack Carter and Reed Kotler at Mips.
llvm-svn: 141936
2011-10-14 02:47:50 +00:00
Akira Hatanaka
32fd6013f5
Add ELF relocation types for Mips.
...
Patch by Jack Carter and Reed Kotler at Mips.
llvm-svn: 141935
2011-10-14 02:43:18 +00:00
Akira Hatanaka
b1ede8157d
Fixup enumerations.
...
Patch by Jack Carter at Mips.
llvm-svn: 141934
2011-10-14 02:38:56 +00:00
Akira Hatanaka
a5d655b991
Add more Mips relocation types.
...
Patch by Jack Carter at Mips.
llvm-svn: 141932
2011-10-14 02:17:30 +00:00
Jakob Stoklund Olesen
a31553dbf7
Ban rematerializable instructions with side effects.
...
TableGen infers unmodeled side effects on instructions without a
pattern. Fix some instruction definitions where that was overlooked.
Also raise an error if a rematerializable instruction has unmodeled side
effects. That doen't make any sense.
llvm-svn: 141929
2011-10-14 01:00:49 +00:00
Jakob Stoklund Olesen
d7827f928d
V_SET0 has no side effects.
...
TableGen will mark any pattern-less instruction as having unmodeled side
effects. This is extra bad for V_SET0 which gets rematerialized a lot.
This was part of the cause for PR11125, but the real bug was fixed
in r141923.
llvm-svn: 141924
2011-10-14 00:39:50 +00:00
Jakob Stoklund Olesen
98e48aef6f
Add value numbers when spilling dead defs.
...
When spilling around an instruction with a dead def, remember to add a
value number for the def.
The missing value number wouldn't normally create problems since there
would be an incoming live range as well. However, due to another bug
we could spill a dead V_SET0 instruction which doesn't read any values.
The missing value number caused an empty live range to be created which
is dangerous since it doesn't interfere with anything.
This fixes part of PR11125.
llvm-svn: 141923
2011-10-14 00:34:31 +00:00
Eli Friedman
667bf19c57
Avoid undefined behavior in negation in LSR. Patch by Ahmed Charles.
...
Someone more familiar with LSR should double-check that the extra cast is actually doing the right thing in the overflow cases; I'm not completely confident that's that case.
llvm-svn: 141916
2011-10-13 23:48:33 +00:00
Eli Friedman
94373219c3
Fix undefined shift. Patch by Ahmed Charles.
...
llvm-svn: 141914
2011-10-13 23:36:06 +00:00
Eli Friedman
d1174d008e
Simplify assertion, and avoid undefined shift. Based on patch by Ahmed Charles.
...
llvm-svn: 141912
2011-10-13 23:27:48 +00:00
Michael J. Spencer
5cbe7170de
Support/Windows: Add support modifying memory permissions on Windows. Patch by Aaron Ballman!
...
llvm-svn: 141910
2011-10-13 23:16:01 +00:00
Eli Friedman
219f1841f7
Fix undefined shifts and abs in Alpha backend. Based on patch by Ahmed Charles.
...
llvm-svn: 141909
2011-10-13 23:13:35 +00:00
Michael J. Spencer
1c388c42ea
Support/Windows: Add efficent RW mutex on Windows. Patch by Aaron Ballman!
...
llvm-svn: 141907
2011-10-13 23:10:56 +00:00
Lang Hames
b0db984fab
Fixed typo.
...
llvm-svn: 141906
2011-10-13 23:04:49 +00:00
Eli Friedman
a1d8196452
Avoid undefined behavior in signed integer negation. Patch by Ahmed Charles.
...
llvm-svn: 141905
2011-10-13 22:49:56 +00:00
Eli Friedman
74b48114e3
Simplify and avoid undefined shift. Based on patch by Ahmed Charles.
...
llvm-svn: 141903
2011-10-13 22:40:23 +00:00