DebugLoc defines LineCol as 32 bit in comment but unsigned in code.
This patch modifies LineCol to be a uint32_t.

See http://llvm.org/bugs/show_bug.cgi?id=17957



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194957 91177308-0d34-0410-b5e6-96231b3b80d8
DAGCombiner: Partially revert r192795, getNOT was fixed not to create illegal constants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194959 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Micro-optimization"

This reverts commit f1d9fe9d04ce93f6d5dcebbd2cb6a07414d7a029.

This was causing PR17964. We need to use thread data before regular data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194960 91177308-0d34-0410-b5e6-96231b3b80d8
Testcase for PR17964

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194961 91177308-0d34-0410-b5e6-96231b3b80d8
Update CREDITS

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194962 91177308-0d34-0410-b5e6-96231b3b80d8
python: Properly initialize before trying to create disasm

As the "LLVMInitializeAll*" functions are not available as symbols in
the shared library they can't be used, and as a workaround a list of
the targets is kept and the individual symbols tried. As soon as the
"All"-functions are changed to proper symbols (as opposed to static
inlines in the headers) this hack will be replace with simple calls
to the corresponding "LLVMInitializeAll*" functions.

Reviewed By: indygreg

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1879



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194964 91177308-0d34-0410-b5e6-96231b3b80d8
python: Fix check for disasm creation failure

Check should be for pointer being NULL, not what it points to.

Also adds a test for this case.

Reviewed By: indygreg

Differential Revision: http://llvm-reviews.chandlerc.com/D1878



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194965 91177308-0d34-0410-b5e6-96231b3b80d8
Add a loop rerolling flag to the PassManagerBuilder

This adds a boolean member variable to the PassManagerBuilder to control loop
rerolling (just like we have for unrolling and the various vectorization
options). This is necessary for control by the frontend. Loop rerolling remains
disabled by default at all optimization levels.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194966 91177308-0d34-0410-b5e6-96231b3b80d8
Utils/LoopUnroll.cpp: Tweak (StringRef)OldName to be valid until it is used, since r194601.

eraseFromParent() invalidates OldName.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194970 91177308-0d34-0410-b5e6-96231b3b80d8
Debug Info Verifier: enable public functions of Finder to update the type map.

We used to depend on running processModule before the other public functions
such as processDeclare, processValue and processLocation. We are now relaxing
the constraint by adding a module argument to the three functions and
letting the three functions to initialize the type map. This will be used in
a follow-on patch that collects nodes reachable from a Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194973 91177308-0d34-0410-b5e6-96231b3b80d8
Debug Info Verifier: fix when to find debug info nodes and when to verify them.

We used to collect debug info MDNodes in doInitialization and verify them in
doFinalization. That is incorrect since MDNodes can be modified by passes run
between doInitialization and doFinalization.

To fix the problem, we handle debug info MDNodes that can be reached from a
function in runOnFunction (i.e we collect those nodes by calling processDeclare,
processValue and processLocation, and then verify them in runOnFunction).

We handle debug info MDNodes that can be reached from named metadata in
doFinalization. This is in line with how Verifier handles module-level data
(they are verified in doFinalization).

rdar://15472296


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194974 91177308-0d34-0410-b5e6-96231b3b80d8
Debug Info: fix typo in function name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194975 91177308-0d34-0410-b5e6-96231b3b80d8
Docs: Fix typo: NoIntinerary -> NoItinerary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194976 91177308-0d34-0410-b5e6-96231b3b80d8
Docs: Clearly separate Operand-related paragraphs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194977 91177308-0d34-0410-b5e6-96231b3b80d8
TableGen: Generate an enum for all named Operand types in tblgen'd InstrInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194978 91177308-0d34-0410-b5e6-96231b3b80d8
DwarfCompileUnit: Add type safety to createGlobalVariableDIE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194979 91177308-0d34-0410-b5e6-96231b3b80d8
Remove redundant explicit default initialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194980 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unnecessary temporary construction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194981 91177308-0d34-0410-b5e6-96231b3b80d8