Dan Gohman
ddd3a8899a
Fix a minor bug which resulted in intermediate calculations
...
using wider types than are necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110241 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 19:52:50 +00:00
Dan Gohman
9f6a6862be
Change this llvm_unreachable to report_fatal_error, since it can
...
be triggered by valid, if dubious, IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110240 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:51:09 +00:00
Devang Patel
459a36bd34
While spilling live registers at the end of block check whether they are used by DBG_VALUE machine instructions or not. If a spilled register is used by DBG_VALUE machine instruction then insert a new DBG_VALUE machine instruction to encode variable's new location on stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110235 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:42:02 +00:00
Devang Patel
b2cf5816f9
If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110234 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:40:52 +00:00
Owen Anderson
b57e6558c7
Experiments show that we can safely increase our unrolling threshold without unduly impacting code size, particularly
...
since unrolling is not enabled at -Os.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110233 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:32:46 +00:00
Dale Johannesen
a54db0c485
Remove switch for disabling ARM tail calls. They
...
seem to be working correctly. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110226 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:07:17 +00:00
Devang Patel
5c1d941f00
Add DEBUG message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:06:05 +00:00
Dan Gohman
4eaee28e34
Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 17:43:57 +00:00
Benjamin Kramer
56d23947ca
Enable COFF writer on mingw32 and cygwin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110200 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 15:32:40 +00:00
Kalle Raiskila
bc2697cca0
Make SPU backend handle insertelement and
...
store for "half vectors"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110198 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 13:59:48 +00:00
Benjamin Kramer
c575283675
Print an error message when someone tries -integrated-as on an unsupported target.
...
- The COFF backend doesn't support MingW/Cygwin at the moment, it'll report an
error, but it's still much better than random assertions from the MachO backend.
- We want to make ELF the default eventually, it's what the majority of targets use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 13:16:30 +00:00
Torok Edwin
e89652ccad
Add a missing function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110195 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 11:42:45 +00:00
Gabor Greif
ac27ec0f5b
by Alexander Herz:
...
"The CWriter::GetValueName() method does not check if a value as an alias
and emits the alias name which will never be defined in the output .c
file (so the output file fails to compile). This can happen if you have
multiple inheritance with several destructors defined by clang (...D0Ev,
...D1Ev, ...D2Ev)."
-- applied with minor tweaks. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110194 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 10:00:52 +00:00
Dan Gohman
d98af0a5b8
Eliminate unnecessary empty string literals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 01:39:08 +00:00
Dan Gohman
2511bd06de
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110181 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 01:16:35 +00:00
Dan Gohman
5825545553
Don't print the filename twice in file-not-found errors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110179 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 01:13:48 +00:00
Bob Wilson
67b453b0d1
Combine NEON VABD (absolute difference) intrinsics with ADDs to make VABA
...
(absolute difference with accumulate) intrinsics. Radar 8228576.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110170 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 00:12:08 +00:00
Dan Gohman
a41af344c2
Remove PointerAccessInfo, which nothing was using.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110167 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 23:08:10 +00:00
Chris Lattner
656f6800b2
fix a win64 encoding problem, patch by Cameron Esfahani!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110164 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 22:49:22 +00:00
Dan Gohman
79fca6fea8
Thread const correctness through a bunch of AliasAnalysis interfaces and
...
eliminate several const_casts.
Make CallSite implicitly convertible to ImmutableCallSite.
Rename the getModRefBehavior for intrinsic IDs to
getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
which happens to be implicitly convertible to bool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110155 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 21:48:53 +00:00
Nate Begeman
d1fb583128
Add support for getting & setting the FPSCR application register on ARM when VFP is enabled.
...
Add support for using the FPSCR in conjunction with the vcvtr instruction, for controlling fp to int rounding.
Add support for the FLT_ROUNDS_ node now that the FPSCR is exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110152 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 21:31:55 +00:00
Dan Gohman
6fc24467e9
The singular of "indices" is "index".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 20:23:52 +00:00
Dan Gohman
17f647d332
Delete an unused function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110134 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 20:20:56 +00:00
Dan Gohman
0fd353376b
Make instcombine set explicit alignments on load or store
...
instructions with alignment 0, so that subsequent passes don't
need to bother checking the TargetData ABI size manually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110128 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 18:20:32 +00:00
Oscar Fuentes
efb59d28c5
CMake: Change somme target library names:
...
XCore->XCoreGen
PIC16->PIC16CodeGen
After updating your working copy, the first build will fail because it
is using the old library dependencies. Start the build again and it
will work fine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110127 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 17:40:31 +00:00
Dan Gohman
14a498a486
Make AliasAnalysis::getModRefInfo conservative in the face of volatility.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110120 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 17:27:43 +00:00
Jakob Stoklund Olesen
bae696956b
Oops. Don't normalize spill weights twice.
...
When the normalizeSpillWeights function was introduced, I forgot to remove this
normalization.
This change could affect register allocation. Hopefully for the better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 17:21:16 +00:00
Chris Lattner
2359e5193a
avoid undefined behavior negating minint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:57:03 +00:00
Dan Gohman
84b8ad321b
Fix a typo Devang noticed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110115 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:48:31 +00:00
Chris Lattner
e211cd83f0
avoid undef behavior on minint, fixing PR7783.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110114 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:41:24 +00:00
Peter Collingbourne
3bababf880
Add an atomic lowering pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:19:16 +00:00
Dan Gohman
795e70e431
Use unary + instead of a separate local variable for working
...
around std::min vs static const friction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110112 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 16:15:50 +00:00
Michael J. Spencer
237f8fe5df
MC: Fix symbol fragment offsets in COFF.
...
Patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110104 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 05:02:46 +00:00
Michael J. Spencer
a69494ee5e
Revert "MC: Fix symbol fragment offsets in COFF."
...
This reverts commit r110100
Wrong path caps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110103 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 04:53:28 +00:00
Michael J. Spencer
ab3de49c48
MC: Add time travel support to COFF.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 04:43:33 +00:00
Michael J. Spencer
ef1f8c3cc3
MC: Fix symbol fragment offsets in COFF.
...
Patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 04:43:24 +00:00
Michael J. Spencer
4473b37018
Fix CMake build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110097 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 02:38:20 +00:00
Dan Gohman
ef1cfac9e5
Introduce a symbolic constant for ~0u for use with AliasAnalysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110091 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 01:03:11 +00:00
Dan Gohman
847a84efd2
Add a convenient form of AliasAnalysis::alias for the case where the sizes
...
are unknown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110090 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 00:56:30 +00:00
Dan Gohman
ab37f50838
Make SCEVUnknown a CallbackVH, so that it can be notified directly
...
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.
This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 23:49:30 +00:00
Dan Gohman
c182cb5784
Sketch up a preliminary Type-Based Alias Analysis implementation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 23:11:01 +00:00
Dan Gohman
dacfc5d37f
Fix visitInvokeInst to call visitTerminatorInst, and remove
...
a redundant check from checkInstruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110076 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 23:09:14 +00:00
Dan Gohman
3768091407
Add Verifier logic for indirectbr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110075 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 23:08:33 +00:00
Dan Gohman
a8afb2a623
Add a lint check for indirectbr with no successors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110074 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 23:06:43 +00:00
Devang Patel
5b164b5a5c
Add explicit constructors. Patch by Renato Golin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110072 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 22:51:46 +00:00
Bill Wendling
94e4008fba
Early exit and reduce indentation. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110069 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 22:06:08 +00:00
Dan Gohman
811edc1f1a
Fix namespace polution.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110056 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 18:50:06 +00:00
Devang Patel
e9a1ccaf80
Free DbgScope created for dead functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 17:32:15 +00:00
Kalle Raiskila
e1c9159f63
More SPU v2f32 stuff added: insertelement and shuffle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110038 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 11:22:10 +00:00
Kalle Raiskila
c9fda996fc
Add preliminary v2f32 support for SPU. Like with v2i32, we just
...
duplicate the instructions and operate on half vectors.
Also reorder code in SPUInstrInfo.td for better coherency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110037 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 10:25:47 +00:00